1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright (c) 2023 Theobroma Systems Design und Consulting GmbH 4 */ 5 6 /dts-v1/; 7 #include <dt-bindings/input/input.h> 8 #include "rk3588-tiger.dtsi" 9 10 / { 11 model = "Theobroma Systems RK3588-Q7 SoM on Haikou devkit"; 12 compatible = "tsd,rk3588-tiger-haikou", "tsd,rk3588-tiger", "rockchip,rk3588"; 13 14 aliases { 15 ethernet0 = &gmac0; 16 mmc1 = &sdmmc; 17 }; 18 19 chosen { 20 stdout-path = "serial2:115200n8"; 21 }; 22 23 dc_12v: dc-12v-regulator { 24 compatible = "regulator-fixed"; 25 regulator-name = "dc_12v"; 26 regulator-always-on; 27 regulator-boot-on; 28 regulator-min-microvolt = <12000000>; 29 regulator-max-microvolt = <12000000>; 30 }; 31 32 gpio-keys { 33 compatible = "gpio-keys"; 34 pinctrl-names = "default"; 35 pinctrl-0 = <&haikou_keys_pin>; 36 37 button-batlow-n { 38 label = "BATLOW#"; 39 linux,code = <KEY_BATTERY>; 40 gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; 41 }; 42 43 button-slp-btn-n { 44 label = "SLP_BTN#"; 45 linux,code = <KEY_SLEEP>; 46 gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>; 47 }; 48 49 button-wake-n { 50 label = "WAKE#"; 51 linux,code = <KEY_WAKEUP>; 52 gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>; 53 wakeup-source; 54 }; 55 56 switch-lid-btn-n { 57 label = "LID_BTN#"; 58 linux,code = <SW_LID>; 59 linux,input-type = <EV_SW>; 60 gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; 61 }; 62 }; 63 64 i2s3-sound { 65 compatible = "simple-audio-card"; 66 simple-audio-card,format = "i2s"; 67 simple-audio-card,name = "Haikou,I2S-codec"; 68 simple-audio-card,mclk-fs = <512>; 69 simple-audio-card,frame-master = <&sgtl5000_codec>; 70 simple-audio-card,bitclock-master = <&sgtl5000_codec>; 71 72 sgtl5000_codec: simple-audio-card,codec { 73 sound-dai = <&sgtl5000>; 74 }; 75 76 simple-audio-card,cpu { 77 sound-dai = <&i2s3_2ch>; 78 }; 79 }; 80 81 sgtl5000_clk: sgtl5000-oscillator { 82 compatible = "fixed-clock"; 83 #clock-cells = <0>; 84 clock-frequency = <24576000>; 85 }; 86 87 vcc3v3_baseboard: vcc3v3-baseboard-regulator { 88 compatible = "regulator-fixed"; 89 regulator-name = "vcc3v3_baseboard"; 90 regulator-always-on; 91 regulator-boot-on; 92 regulator-min-microvolt = <3300000>; 93 regulator-max-microvolt = <3300000>; 94 vin-supply = <&dc_12v>; 95 }; 96 97 vcc3v3_low_noise: vcc3v3-low-noise-regulator { 98 compatible = "regulator-fixed"; 99 regulator-name = "vcc3v3_low_noise"; 100 regulator-boot-on; 101 regulator-min-microvolt = <3300000>; 102 regulator-max-microvolt = <3300000>; 103 vin-supply = <&vcc5v0_usb>; 104 }; 105 106 vcc5v0_baseboard: vcc5v0-baseboard-regulator { 107 compatible = "regulator-fixed"; 108 regulator-name = "vcc5v0_baseboard"; 109 regulator-always-on; 110 regulator-boot-on; 111 regulator-min-microvolt = <5000000>; 112 regulator-max-microvolt = <5000000>; 113 vin-supply = <&dc_12v>; 114 }; 115 116 vcc5v0_otg: vcc5v0-otg-regulator { 117 compatible = "regulator-fixed"; 118 enable-active-high; 119 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 120 pinctrl-names = "default"; 121 pinctrl-0 = <&otg_vbus_drv>; 122 regulator-name = "vcc5v0_otg"; 123 regulator-always-on; 124 }; 125 126 vcc5v0_usb: vcc5v0-usb-regulator { 127 compatible = "regulator-fixed"; 128 regulator-name = "vcc5v0_usb"; 129 regulator-always-on; 130 regulator-boot-on; 131 regulator-min-microvolt = <5000000>; 132 regulator-max-microvolt = <5000000>; 133 vin-supply = <&dc_12v>; 134 }; 135 136 vddd_audio_1v6: vddd-audio-1v6-regulator { 137 compatible = "regulator-fixed"; 138 regulator-name = "vddd_audio_1v6"; 139 regulator-boot-on; 140 regulator-min-microvolt = <1600000>; 141 regulator-max-microvolt = <1600000>; 142 vin-supply = <&vcc5v0_usb>; 143 }; 144 }; 145 146 &combphy2_psu { 147 status = "okay"; 148 }; 149 150 &extcon_usb3 { 151 status = "okay"; 152 }; 153 154 &gmac0 { 155 status = "okay"; 156 }; 157 158 &i2c1 { 159 status = "okay"; 160 161 eeprom@50 { 162 reg = <0x50>; 163 compatible = "atmel,24c01"; 164 pagesize = <8>; 165 size = <128>; 166 vcc-supply = <&vcc3v3_baseboard>; 167 }; 168 }; 169 170 &i2c5 { 171 clock-frequency = <400000>; 172 status = "okay"; 173 174 sgtl5000: codec@a { 175 compatible = "fsl,sgtl5000"; 176 reg = <0x0a>; 177 clocks = <&sgtl5000_clk>; 178 #sound-dai-cells = <0>; 179 VDDA-supply = <&vcc3v3_low_noise>; 180 VDDIO-supply = <&vcc3v3_baseboard>; 181 VDDD-supply = <&vddd_audio_1v6>; 182 }; 183 }; 184 185 &i2c8 { 186 status = "okay"; 187 }; 188 189 &i2s3_2ch { 190 status = "okay"; 191 }; 192 193 &pcie30phy { 194 status = "okay"; 195 }; 196 197 &pcie3x4 { 198 vpcie3v3-supply = <&vcc3v3_baseboard>; 199 status = "okay"; 200 }; 201 202 &pinctrl { 203 haikou { 204 haikou_keys_pin: haikou-keys-pin { 205 rockchip,pins = 206 /* BATLOW# */ 207 <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, 208 /* SLP_BTN# */ 209 <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>, 210 /* WAKE# */ 211 <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>, 212 /* LID_BTN */ 213 <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 214 }; 215 }; 216 217 usb2 { 218 otg_vbus_drv: otg-vbus-drv { 219 rockchip,pins = 220 <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 221 }; 222 }; 223 }; 224 225 &sdmmc { 226 /* while the same pin, sdmmc_det does not detect card changes */ 227 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 228 disable-wp; 229 pinctrl-0 = <&sdmmc_bus4 &sdmmc_cmd &sdmmc_clk>; 230 sd-uhs-sdr12; 231 sd-uhs-sdr25; 232 sd-uhs-sdr50; 233 sd-uhs-sdr104; 234 vmmc-supply = <&vcc3v3_baseboard>; 235 status = "okay"; 236 }; 237 238 &u2phy0 { 239 status = "okay"; 240 }; 241 242 &u2phy0_otg { 243 phy-supply = <&vcc5v0_otg>; 244 status = "okay"; 245 }; 246 247 &u2phy1 { 248 status = "okay"; 249 }; 250 251 &u2phy1_otg { 252 status = "okay"; 253 }; 254 255 &u2phy2 { 256 status = "okay"; 257 }; 258 259 &u2phy2_host { 260 status = "okay"; 261 }; 262 263 &u2phy3 { 264 status = "okay"; 265 }; 266 267 &u2phy3_host { 268 status = "okay"; 269 }; 270 271 &uart2 { 272 status = "okay"; 273 }; 274 275 &uart5 { 276 rts-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>; 277 }; 278 279 &usbdp_phy0 { 280 status = "okay"; 281 }; 282 283 &usbdp_phy1 { 284 status = "okay"; 285 }; 286 287 /* host0 on Q7_USB_P2, upper usb3 port */ 288 &usb_host0_ehci { 289 status = "okay"; 290 }; 291 292 /* host0 on Q7_USB_P2, upper usb3 port */ 293 &usb_host0_ohci { 294 status = "okay"; 295 }; 296 297 /* host0_xhci on Q7_USB_P1, usb3-otg port */ 298 &usb_host0_xhci { 299 dr_mode = "otg"; 300 extcon = <&extcon_usb3>; 301 status = "okay"; 302 }; 303 304 /* host1 on Q7_USB_P3, usb2 port */ 305 &usb_host1_ehci { 306 status = "okay"; 307 }; 308 309 /* host1 on Q7_USB_P3, usb2 port */ 310 &usb_host1_ohci { 311 status = "okay"; 312 }; 313 314 /* host1_xhci on Q7_USB_P0, lower usb3 port */ 315 &usb_host1_xhci { 316 dr_mode = "host"; 317 status = "okay"; 318 }; 319 320 /* host2 on Q7_USB_P2, upper usb3 port */ 321 &usb_host2_xhci { 322 status = "okay"; 323 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.