1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH 4 */ 5 6/dts-v1/; 7#include "rk3399-puma.dtsi" 8 9/ { 10 model = "Theobroma Systems RK3399-Q7 SoM"; 11 compatible = "tsd,rk3399-puma-haikou", "rockchip,rk3399"; 12 13 chosen { 14 stdout-path = "serial0:115200n8"; 15 }; 16 17 leds { 18 pinctrl-0 = <&led_pin_module>, <&led_sd_haikou>; 19 20 sd-card-led { 21 label = "sd_card_led"; 22 gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; 23 linux,default-trigger = "mmc0"; 24 }; 25 }; 26 27 i2s0-sound { 28 compatible = "simple-audio-card"; 29 simple-audio-card,format = "i2s"; 30 simple-audio-card,name = "Haikou,I2S-codec"; 31 simple-audio-card,mclk-fs = <512>; 32 33 simple-audio-card,codec { 34 clocks = <&sgtl5000_clk>; 35 sound-dai = <&sgtl5000>; 36 }; 37 38 simple-audio-card,cpu { 39 bitclock-master; 40 frame-master; 41 sound-dai = <&i2s0>; 42 }; 43 }; 44 45 sgtl5000_clk: sgtl5000-oscillator { 46 compatible = "fixed-clock"; 47 #clock-cells = <0>; 48 clock-frequency = <24576000>; 49 }; 50 51 dc_12v: dc-12v { 52 compatible = "regulator-fixed"; 53 regulator-name = "dc_12v"; 54 regulator-always-on; 55 regulator-boot-on; 56 regulator-min-microvolt = <12000000>; 57 regulator-max-microvolt = <12000000>; 58 }; 59 60 vcc3v3_baseboard: vcc3v3-baseboard { 61 compatible = "regulator-fixed"; 62 regulator-name = "vcc3v3_baseboard"; 63 regulator-always-on; 64 regulator-boot-on; 65 regulator-min-microvolt = <3300000>; 66 regulator-max-microvolt = <3300000>; 67 vin-supply = <&dc_12v>; 68 }; 69 70 vcc5v0_baseboard: vcc5v0-baseboard { 71 compatible = "regulator-fixed"; 72 regulator-name = "vcc5v0_baseboard"; 73 regulator-always-on; 74 regulator-boot-on; 75 regulator-min-microvolt = <5000000>; 76 regulator-max-microvolt = <5000000>; 77 vin-supply = <&dc_12v>; 78 }; 79 80 vcc5v0_otg: vcc5v0-otg-regulator { 81 compatible = "regulator-fixed"; 82 enable-active-high; 83 gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 84 pinctrl-names = "default"; 85 pinctrl-0 = <&otg_vbus_drv>; 86 regulator-name = "vcc5v0_otg"; 87 regulator-always-on; 88 }; 89 90 vdda_codec: vdda-codec { 91 compatible = "regulator-fixed"; 92 regulator-name = "vdda_codec"; 93 regulator-boot-on; 94 regulator-min-microvolt = <3300000>; 95 regulator-max-microvolt = <3300000>; 96 vin-supply = <&vcc5v0_baseboard>; 97 }; 98 99 vddd_codec: vddd-codec { 100 compatible = "regulator-fixed"; 101 regulator-name = "vddd_codec"; 102 regulator-boot-on; 103 regulator-min-microvolt = <1600000>; 104 regulator-max-microvolt = <1600000>; 105 vin-supply = <&vcc5v0_baseboard>; 106 }; 107}; 108 109&hdmi { 110 ddc-i2c-bus = <&i2c3>; 111 status = "okay"; 112}; 113 114&i2c1 { 115 status = "okay"; 116 clock-frequency = <400000>; 117}; 118 119&i2c2 { 120 status = "okay"; 121 clock-frequency = <400000>; 122}; 123 124&i2c3 { 125 i2c-scl-rising-time-ns = <450>; 126 i2c-scl-falling-time-ns = <15>; 127 status = "okay"; 128}; 129 130&i2c4 { 131 status = "okay"; 132 clock-frequency = <400000>; 133 134 sgtl5000: codec@a { 135 compatible = "fsl,sgtl5000"; 136 reg = <0x0a>; 137 clocks = <&sgtl5000_clk>; 138 #sound-dai-cells = <0>; 139 VDDA-supply = <&vdda_codec>; 140 VDDIO-supply = <&vdda_codec>; 141 VDDD-supply = <&vddd_codec>; 142 status = "okay"; 143 }; 144}; 145 146&i2c6 { 147 status = "okay"; 148 clock-frequency = <400000>; 149}; 150 151&pcie_phy { 152 status = "okay"; 153}; 154 155&pcie0 { 156 ep-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; 157 num-lanes = <4>; 158 pinctrl-names = "default"; 159 pinctrl-0 = <&pcie_clkreqn_cpm>; 160 status = "okay"; 161}; 162 163&pinctrl { 164 pinctrl-names = "default"; 165 pinctrl-0 = <&haikou_pin_hog>; 166 167 hog { 168 haikou_pin_hog: haikou-pin-hog { 169 rockchip,pins = 170 /* LID_BTN */ 171 <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 172 /* BATLOW# */ 173 <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, 174 /* SLP_BTN# */ 175 <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>, 176 /* BIOS_DISABLE# */ 177 <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 178 }; 179 }; 180 181 leds { 182 led_sd_haikou: led-sd-gpio { 183 rockchip,pins = 184 <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 185 }; 186 }; 187 188 usb2 { 189 otg_vbus_drv: otg-vbus-drv { 190 rockchip,pins = 191 <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 192 }; 193 }; 194}; 195 196&pwm0 { 197 status = "okay"; 198}; 199 200&sdmmc { 201 bus-width = <4>; 202 cap-mmc-highspeed; 203 cap-sd-highspeed; 204 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 205 disable-wp; 206 max-frequency = <150000000>; 207 pinctrl-names = "default"; 208 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 209 vmmc-supply = <&vcc3v3_baseboard>; 210 status = "okay"; 211}; 212 213&spi5 { 214 status = "okay"; 215}; 216 217&tcphy0 { 218 status = "okay"; 219}; 220 221&u2phy0 { 222 status = "okay"; 223}; 224 225&usbdrd3_0 { 226 status = "okay"; 227}; 228 229&usbdrd_dwc3_0 { 230 dr_mode = "otg"; 231 status = "okay"; 232}; 233 234&u2phy0_host { 235 phy-supply = <&vcc5v0_otg>; 236 status = "okay"; 237}; 238 239&uart0 { 240 pinctrl-names = "default"; 241 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 242 status = "okay"; 243}; 244 245&uart2 { 246 status = "okay"; 247}; 248 249&usb_host0_ehci { 250 status = "okay"; 251}; 252 253&usb_host0_ohci { 254 status = "okay"; 255}; 256 257&vopb { 258 status = "okay"; 259}; 260 261&vopb_mmu { 262 status = "okay"; 263}; 264 265&vopl { 266 status = "okay"; 267}; 268 269&vopl_mmu { 270 status = "okay"; 271}; 272