1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (c) 2023 Rockchip Electronics Co. 3 * Copyright (c) 2023 Rockchip Electronics Co., Ltd. 4 * 4 * 5 * https://cool-pi.com/topic/130/coolpi-4b-pro 5 * https://cool-pi.com/topic/130/coolpi-4b-product-spec-introduction 6 * 6 * 7 */ 7 */ 8 8 9 /dts-v1/; 9 /dts-v1/; 10 10 11 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/leds/common.h> 13 #include <dt-bindings/pinctrl/rockchip.h> 13 #include <dt-bindings/pinctrl/rockchip.h> 14 #include "rk3588s.dtsi" 14 #include "rk3588s.dtsi" 15 15 16 / { 16 / { 17 model = "RK3588S CoolPi 4 Model B"; 17 model = "RK3588S CoolPi 4 Model B"; 18 compatible = "coolpi,pi-4b", "rockchip 18 compatible = "coolpi,pi-4b", "rockchip,rk3588s"; 19 19 20 aliases { 20 aliases { 21 mmc0 = &sdhci; 21 mmc0 = &sdhci; 22 mmc1 = &sdmmc; 22 mmc1 = &sdmmc; 23 mmc2 = &sdio; 23 mmc2 = &sdio; 24 }; 24 }; 25 25 26 analog-sound { 26 analog-sound { 27 compatible = "audio-graph-card 27 compatible = "audio-graph-card"; 28 dais = <&i2s0_8ch_p0>; 28 dais = <&i2s0_8ch_p0>; 29 label = "rk3588-es8316"; 29 label = "rk3588-es8316"; 30 routing = "MIC2", "Mic Jack", 30 routing = "MIC2", "Mic Jack", 31 "Headphones", "HPOL" 31 "Headphones", "HPOL", 32 "Headphones", "HPOR" 32 "Headphones", "HPOR"; 33 widgets = "Microphone", "Mic J 33 widgets = "Microphone", "Mic Jack", 34 "Headphone", "Headph 34 "Headphone", "Headphones"; 35 }; 35 }; 36 36 37 chosen { 37 chosen { 38 stdout-path = "serial2:1500000 38 stdout-path = "serial2:1500000n8"; 39 }; 39 }; 40 40 41 leds: leds { 41 leds: leds { 42 compatible = "gpio-leds"; 42 compatible = "gpio-leds"; 43 pinctrl-names = "default"; 43 pinctrl-names = "default"; 44 pinctrl-0 = <&gpio_leds>; 44 pinctrl-0 = <&gpio_leds>; 45 45 46 led0: led-green { 46 led0: led-green { 47 color = <LED_COLOR_ID_ 47 color = <LED_COLOR_ID_GREEN>; 48 function = LED_FUNCTIO 48 function = LED_FUNCTION_STATUS; 49 gpios = <&gpio0 RK_PD0 49 gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; 50 linux,default-trigger 50 linux,default-trigger = "heartbeat"; 51 }; 51 }; 52 52 53 led1: led-red { 53 led1: led-red { 54 color = <LED_COLOR_ID_ 54 color = <LED_COLOR_ID_RED>; 55 default-state = "off"; 55 default-state = "off"; 56 function = LED_FUNCTIO 56 function = LED_FUNCTION_WLAN; 57 gpios = <&gpio0 RK_PC4 57 gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; 58 linux,default-trigger 58 linux,default-trigger = "phy0tx"; 59 }; 59 }; 60 }; 60 }; 61 61 62 sdio_pwrseq: sdio-pwrseq { 62 sdio_pwrseq: sdio-pwrseq { 63 compatible = "mmc-pwrseq-simpl 63 compatible = "mmc-pwrseq-simple"; 64 clocks = <&hym8563>; 64 clocks = <&hym8563>; 65 clock-names = "ext_clock"; 65 clock-names = "ext_clock"; 66 pinctrl-names = "default"; 66 pinctrl-names = "default"; 67 pinctrl-0 = <&wifi_enable_h>; 67 pinctrl-0 = <&wifi_enable_h>; 68 /* 68 /* 69 * On the module itself this i 69 * On the module itself this is one of these (depending 70 * on the actual card populate 70 * on the actual card populated): 71 * - SDIO_RESET_L_WL_REG_ON 71 * - SDIO_RESET_L_WL_REG_ON 72 * - PDN (power down when low) 72 * - PDN (power down when low) 73 */ 73 */ 74 post-power-on-delay-ms = <200> 74 post-power-on-delay-ms = <200>; 75 reset-gpios = <&gpio0 RK_PC7 G 75 reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>; 76 }; 76 }; 77 77 78 vcc12v_dcin: vcc12v-dcin-regulator { 78 vcc12v_dcin: vcc12v-dcin-regulator { 79 compatible = "regulator-fixed" 79 compatible = "regulator-fixed"; 80 regulator-name = "vcc12v_dcin" 80 regulator-name = "vcc12v_dcin"; 81 regulator-always-on; 81 regulator-always-on; 82 regulator-boot-on; 82 regulator-boot-on; 83 regulator-min-microvolt = <120 83 regulator-min-microvolt = <12000000>; 84 regulator-max-microvolt = <120 84 regulator-max-microvolt = <12000000>; 85 }; 85 }; 86 86 87 vcc5v0_sys: vcc5v0-sys-regulator { 87 vcc5v0_sys: vcc5v0-sys-regulator { 88 compatible = "regulator-fixed" 88 compatible = "regulator-fixed"; 89 regulator-name = "vcc5v0_sys"; 89 regulator-name = "vcc5v0_sys"; 90 regulator-always-on; 90 regulator-always-on; 91 regulator-boot-on; 91 regulator-boot-on; 92 regulator-min-microvolt = <500 92 regulator-min-microvolt = <5000000>; 93 regulator-max-microvolt = <500 93 regulator-max-microvolt = <5000000>; 94 vin-supply = <&vcc12v_dcin>; 94 vin-supply = <&vcc12v_dcin>; 95 }; 95 }; 96 96 97 vcc5v0_usbdcin: vcc5v0-usbdcin-regulat 97 vcc5v0_usbdcin: vcc5v0-usbdcin-regulator { 98 compatible = "regulator-fixed" 98 compatible = "regulator-fixed"; 99 regulator-name = "vcc5v0_usbdc 99 regulator-name = "vcc5v0_usbdcin"; 100 regulator-always-on; 100 regulator-always-on; 101 regulator-boot-on; 101 regulator-boot-on; 102 regulator-min-microvolt = <500 102 regulator-min-microvolt = <5000000>; 103 regulator-max-microvolt = <500 103 regulator-max-microvolt = <5000000>; 104 vin-supply = <&vcc12v_dcin>; 104 vin-supply = <&vcc12v_dcin>; 105 }; 105 }; 106 106 107 vcc5v0_usb: vcc5v0-usb-regulator { 107 vcc5v0_usb: vcc5v0-usb-regulator { 108 compatible = "regulator-fixed" 108 compatible = "regulator-fixed"; 109 regulator-name = "vcc5v0_usb"; 109 regulator-name = "vcc5v0_usb"; 110 regulator-always-on; 110 regulator-always-on; 111 regulator-boot-on; 111 regulator-boot-on; 112 regulator-min-microvolt = <500 112 regulator-min-microvolt = <5000000>; 113 regulator-max-microvolt = <500 113 regulator-max-microvolt = <5000000>; 114 vin-supply = <&vcc5v0_usbdcin> 114 vin-supply = <&vcc5v0_usbdcin>; 115 }; 115 }; 116 116 117 avdd0v85_pcie20: avdd0v85-pcie20-regul 117 avdd0v85_pcie20: avdd0v85-pcie20-regulator { 118 compatible = "regulator-fixed" 118 compatible = "regulator-fixed"; 119 regulator-name = "avdd0v85_pci 119 regulator-name = "avdd0v85_pcie20"; 120 regulator-boot-on; 120 regulator-boot-on; 121 regulator-always-on; 121 regulator-always-on; 122 regulator-min-microvolt = <850 122 regulator-min-microvolt = <850000>; 123 regulator-max-microvolt = <850 123 regulator-max-microvolt = <850000>; 124 vin-supply = <&vdd_0v85_s0>; 124 vin-supply = <&vdd_0v85_s0>; 125 }; 125 }; 126 126 127 avdd1v8_pcie20: avdd1v8-pcie20-regulat 127 avdd1v8_pcie20: avdd1v8-pcie20-regulator { 128 compatible = "regulator-fixed" 128 compatible = "regulator-fixed"; 129 regulator-name = "avdd1v8_pcie 129 regulator-name = "avdd1v8_pcie20"; 130 regulator-boot-on; 130 regulator-boot-on; 131 regulator-always-on; 131 regulator-always-on; 132 regulator-min-microvolt = <180 132 regulator-min-microvolt = <1800000>; 133 regulator-max-microvolt = <180 133 regulator-max-microvolt = <1800000>; 134 vin-supply = <&avcc_1v8_s0>; 134 vin-supply = <&avcc_1v8_s0>; 135 }; 135 }; 136 136 137 vcc3v3_mipi: vcc3v3-mipi-regulator { 137 vcc3v3_mipi: vcc3v3-mipi-regulator { 138 compatible = "regulator-fixed" 138 compatible = "regulator-fixed"; 139 enable-active-high; 139 enable-active-high; 140 gpio = <&gpio3 RK_PC2 GPIO_ACT 140 gpio = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>; 141 regulator-name = "vcc3v3_mipi" 141 regulator-name = "vcc3v3_mipi"; 142 regulator-boot-on; 142 regulator-boot-on; 143 regulator-always-on; 143 regulator-always-on; 144 vin-supply = <&vcc_3v3_s3>; 144 vin-supply = <&vcc_3v3_s3>; 145 }; 145 }; 146 146 147 vcc5v0_host: vcc5v0-host-regulator { 147 vcc5v0_host: vcc5v0-host-regulator { 148 compatible = "regulator-fixed" 148 compatible = "regulator-fixed"; 149 enable-active-high; 149 enable-active-high; 150 gpio = <&gpio3 RK_PC0 GPIO_ACT 150 gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; 151 pinctrl-names = "default"; 151 pinctrl-names = "default"; 152 pinctrl-0 = <&vcc5v0_host_en>; 152 pinctrl-0 = <&vcc5v0_host_en>; 153 regulator-name = "vcc5v0_host" 153 regulator-name = "vcc5v0_host"; 154 regulator-boot-on; 154 regulator-boot-on; 155 regulator-always-on; 155 regulator-always-on; 156 regulator-min-microvolt = <500 156 regulator-min-microvolt = <5000000>; 157 regulator-max-microvolt = <500 157 regulator-max-microvolt = <5000000>; 158 vin-supply = <&vcc5v0_sys>; 158 vin-supply = <&vcc5v0_sys>; 159 }; 159 }; 160 160 161 vcc5v0_otg: vcc5v0-otg-regulator { 161 vcc5v0_otg: vcc5v0-otg-regulator { 162 compatible = "regulator-fixed" 162 compatible = "regulator-fixed"; 163 enable-active-high; 163 enable-active-high; 164 gpio = <&gpio3 RK_PC1 GPIO_ACT 164 gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 165 pinctrl-names = "default"; 165 pinctrl-names = "default"; 166 pinctrl-0 = <&vcc5v0_u3host_en 166 pinctrl-0 = <&vcc5v0_u3host_en>; 167 regulator-name = "vcc5v0_otg"; 167 regulator-name = "vcc5v0_otg"; 168 regulator-boot-on; 168 regulator-boot-on; 169 regulator-always-on; 169 regulator-always-on; 170 regulator-min-microvolt = <500 170 regulator-min-microvolt = <5000000>; 171 regulator-max-microvolt = <500 171 regulator-max-microvolt = <5000000>; 172 vin-supply = <&vcc5v0_sys>; 172 vin-supply = <&vcc5v0_sys>; 173 }; 173 }; 174 174 175 vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regul 175 vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator { 176 compatible = "regulator-fixed" 176 compatible = "regulator-fixed"; 177 regulator-name = "vcc_1v1_nldo 177 regulator-name = "vcc_1v1_nldo_s3"; 178 regulator-always-on; 178 regulator-always-on; 179 regulator-boot-on; 179 regulator-boot-on; 180 regulator-min-microvolt = <110 180 regulator-min-microvolt = <1100000>; 181 regulator-max-microvolt = <110 181 regulator-max-microvolt = <1100000>; 182 vin-supply = <&vcc5v0_sys>; 182 vin-supply = <&vcc5v0_sys>; 183 }; 183 }; 184 }; 184 }; 185 185 186 &combphy0_ps { 186 &combphy0_ps { 187 status = "okay"; 187 status = "okay"; 188 }; 188 }; 189 189 190 &combphy2_psu { 190 &combphy2_psu { 191 status = "okay"; 191 status = "okay"; 192 }; 192 }; 193 193 194 &cpu_l0 { 194 &cpu_l0 { 195 cpu-supply = <&vdd_cpu_lit_s0>; 195 cpu-supply = <&vdd_cpu_lit_s0>; 196 }; 196 }; 197 197 198 &cpu_b0 { 198 &cpu_b0 { 199 cpu-supply = <&vdd_cpu_big0_s0>; 199 cpu-supply = <&vdd_cpu_big0_s0>; 200 }; 200 }; 201 201 202 &cpu_b2 { 202 &cpu_b2 { 203 cpu-supply = <&vdd_cpu_big1_s0>; 203 cpu-supply = <&vdd_cpu_big1_s0>; 204 }; 204 }; 205 205 206 &gpu { << 207 mali-supply = <&vdd_gpu_s0>; << 208 status = "okay"; << 209 }; << 210 << 211 &i2c0 { 206 &i2c0 { 212 pinctrl-0 = <&i2c0m2_xfer>; 207 pinctrl-0 = <&i2c0m2_xfer>; 213 status = "okay"; 208 status = "okay"; 214 209 215 vdd_cpu_big0_s0: regulator@42 { 210 vdd_cpu_big0_s0: regulator@42 { 216 compatible = "rockchip,rk8602" 211 compatible = "rockchip,rk8602"; 217 reg = <0x42>; 212 reg = <0x42>; 218 fcs,suspend-voltage-selector = 213 fcs,suspend-voltage-selector = <1>; 219 regulator-name = "vdd_cpu_big0 214 regulator-name = "vdd_cpu_big0_s0"; 220 regulator-always-on; 215 regulator-always-on; 221 regulator-boot-on; 216 regulator-boot-on; 222 regulator-min-microvolt = <550 217 regulator-min-microvolt = <550000>; 223 regulator-max-microvolt = <105 218 regulator-max-microvolt = <1050000>; 224 regulator-ramp-delay = <2300>; 219 regulator-ramp-delay = <2300>; 225 vin-supply = <&vcc5v0_sys>; 220 vin-supply = <&vcc5v0_sys>; 226 221 227 regulator-state-mem { 222 regulator-state-mem { 228 regulator-off-in-suspe 223 regulator-off-in-suspend; 229 }; 224 }; 230 }; 225 }; 231 226 232 vdd_cpu_big1_s0: regulator@43 { 227 vdd_cpu_big1_s0: regulator@43 { 233 compatible = "rockchip,rk8603" 228 compatible = "rockchip,rk8603", "rockchip,rk8602"; 234 reg = <0x43>; 229 reg = <0x43>; 235 fcs,suspend-voltage-selector = 230 fcs,suspend-voltage-selector = <1>; 236 regulator-name = "vdd_cpu_big1 231 regulator-name = "vdd_cpu_big1_s0"; 237 regulator-always-on; 232 regulator-always-on; 238 regulator-boot-on; 233 regulator-boot-on; 239 regulator-min-microvolt = <550 234 regulator-min-microvolt = <550000>; 240 regulator-max-microvolt = <105 235 regulator-max-microvolt = <1050000>; 241 regulator-ramp-delay = <2300>; 236 regulator-ramp-delay = <2300>; 242 vin-supply = <&vcc5v0_sys>; 237 vin-supply = <&vcc5v0_sys>; 243 238 244 regulator-state-mem { 239 regulator-state-mem { 245 regulator-off-in-suspe 240 regulator-off-in-suspend; 246 }; 241 }; 247 }; 242 }; 248 }; 243 }; 249 244 250 &i2c2 { 245 &i2c2 { 251 status = "okay"; 246 status = "okay"; 252 247 253 vdd_npu_s0: regulator@42 { 248 vdd_npu_s0: regulator@42 { 254 compatible = "rockchip,rk8602" 249 compatible = "rockchip,rk8602"; 255 reg = <0x42>; 250 reg = <0x42>; 256 fcs,suspend-voltage-selector = 251 fcs,suspend-voltage-selector = <1>; 257 regulator-name = "vdd_npu_s0"; 252 regulator-name = "vdd_npu_s0"; 258 regulator-always-on; 253 regulator-always-on; 259 regulator-boot-on; 254 regulator-boot-on; 260 regulator-min-microvolt = <550 255 regulator-min-microvolt = <550000>; 261 regulator-max-microvolt = <950 256 regulator-max-microvolt = <950000>; 262 regulator-ramp-delay = <2300>; 257 regulator-ramp-delay = <2300>; 263 vin-supply = <&vcc5v0_sys>; 258 vin-supply = <&vcc5v0_sys>; 264 259 265 regulator-state-mem { 260 regulator-state-mem { 266 regulator-off-in-suspe 261 regulator-off-in-suspend; 267 }; 262 }; 268 }; 263 }; 269 }; 264 }; 270 265 271 &i2c6 { 266 &i2c6 { 272 pinctrl-0 = <&i2c6m3_xfer>; 267 pinctrl-0 = <&i2c6m3_xfer>; 273 status = "okay"; 268 status = "okay"; 274 269 275 hym8563: rtc@51 { 270 hym8563: rtc@51 { 276 compatible = "haoyu,hym8563"; 271 compatible = "haoyu,hym8563"; 277 reg = <0x51>; 272 reg = <0x51>; 278 interrupt-parent = <&gpio0>; 273 interrupt-parent = <&gpio0>; 279 interrupts = <RK_PB0 IRQ_TYPE_ 274 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 280 #clock-cells = <0>; 275 #clock-cells = <0>; 281 clock-output-names = "hym8563" 276 clock-output-names = "hym8563"; 282 pinctrl-names = "default"; 277 pinctrl-names = "default"; 283 pinctrl-0 = <&hym8563_int>; 278 pinctrl-0 = <&hym8563_int>; 284 }; 279 }; 285 }; 280 }; 286 281 287 &i2c7 { 282 &i2c7 { 288 pinctrl-0 = <&i2c7m0_xfer>; 283 pinctrl-0 = <&i2c7m0_xfer>; 289 status = "okay"; 284 status = "okay"; 290 285 291 es8316: audio-codec@10 { 286 es8316: audio-codec@10 { 292 compatible = "everest,es8316"; 287 compatible = "everest,es8316"; 293 reg = <0x10>; 288 reg = <0x10>; 294 assigned-clocks = <&cru I2S0_8 289 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 295 assigned-clock-rates = <122880 290 assigned-clock-rates = <12288000>; 296 clocks = <&cru I2S0_8CH_MCLKOU 291 clocks = <&cru I2S0_8CH_MCLKOUT>; 297 clock-names = "mclk"; 292 clock-names = "mclk"; 298 #sound-dai-cells = <0>; 293 #sound-dai-cells = <0>; 299 294 300 port { 295 port { 301 es8316_p0_0: endpoint 296 es8316_p0_0: endpoint { 302 remote-endpoin 297 remote-endpoint = <&i2s0_8ch_p0_0>; 303 }; 298 }; 304 }; 299 }; 305 }; 300 }; 306 }; 301 }; 307 302 308 &i2s0_8ch { 303 &i2s0_8ch { 309 pinctrl-0 = <&i2s0_lrck 304 pinctrl-0 = <&i2s0_lrck 310 &i2s0_mclk 305 &i2s0_mclk 311 &i2s0_sclk 306 &i2s0_sclk 312 &i2s0_sdi0 307 &i2s0_sdi0 313 &i2s0_sdo0>; 308 &i2s0_sdo0>; 314 status = "okay"; 309 status = "okay"; 315 310 316 i2s0_8ch_p0: port { 311 i2s0_8ch_p0: port { 317 i2s0_8ch_p0_0: endpoint { 312 i2s0_8ch_p0_0: endpoint { 318 dai-format = "i2s"; 313 dai-format = "i2s"; 319 mclk-fs = <256>; 314 mclk-fs = <256>; 320 remote-endpoint = <&es 315 remote-endpoint = <&es8316_p0_0>; 321 }; 316 }; 322 }; 317 }; 323 }; 318 }; 324 319 325 &pcie2x1l2 { 320 &pcie2x1l2 { 326 pinctrl-names = "default"; 321 pinctrl-names = "default"; 327 pinctrl-0 = <&rtl8111_isolate>; 322 pinctrl-0 = <&rtl8111_isolate>; 328 reset-gpios = <&gpio3 RK_PD1 GPIO_ACTI 323 reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; 329 status = "okay"; 324 status = "okay"; 330 }; 325 }; 331 326 332 &pinctrl { 327 &pinctrl { 333 hym8563 { 328 hym8563 { 334 hym8563_int: hym8563-int { 329 hym8563_int: hym8563-int { 335 rockchip,pins = <0 RK_ 330 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 336 }; 331 }; 337 }; 332 }; 338 333 339 led { 334 led { 340 gpio_leds: gpio-leds { 335 gpio_leds: gpio-leds { 341 rockchip,pins = <0 RK_ 336 rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>, 342 <0 RK_ 337 <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>; 343 }; 338 }; 344 }; 339 }; 345 340 346 rtl8111 { 341 rtl8111 { 347 rtl8111_isolate: rtl8111-isola 342 rtl8111_isolate: rtl8111-isolate { 348 rockchip,pins = <1 RK_ 343 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 349 }; 344 }; 350 }; 345 }; 351 346 352 sdio-pwrseq { 347 sdio-pwrseq { 353 wifi_enable_h: wifi-enable-h { 348 wifi_enable_h: wifi-enable-h { 354 rockchip,pins = <0 RK_ 349 rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>; 355 }; 350 }; 356 }; 351 }; 357 352 358 usb { 353 usb { 359 vcc5v0_host_en: vcc5v0-host-en 354 vcc5v0_host_en: vcc5v0-host-en { 360 rockchip,pins = <3 RK_ 355 rockchip,pins = <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>, 361 <4 RK_ 356 <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 362 }; 357 }; 363 358 364 vcc5v0_u3host_en: vcc5v0-u3hos 359 vcc5v0_u3host_en: vcc5v0-u3host-en { 365 rockchip,pins = <3 RK_ 360 rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 366 }; 361 }; 367 }; 362 }; 368 363 369 wireless-bluetooth { 364 wireless-bluetooth { 370 bt_reset_gpio: bt-reset-pin { 365 bt_reset_gpio: bt-reset-pin { 371 rockchip,pins = <0 RK_ 366 rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 372 }; 367 }; 373 368 374 bt_wake_gpio: bt-wake-pin { 369 bt_wake_gpio: bt-wake-pin { 375 rockchip,pins = <0 RK_ 370 rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 376 }; 371 }; 377 372 378 bt_wake_host_irq: bt-wake-host 373 bt_wake_host_irq: bt-wake-host-irq { 379 rockchip,pins = <0 RK_ 374 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; 380 }; 375 }; 381 }; 376 }; 382 377 383 wireless-wlan { 378 wireless-wlan { 384 wifi_host_wake_irq: wifi-host- 379 wifi_host_wake_irq: wifi-host-wake-irq { 385 rockchip,pins = <0 RK_ 380 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; 386 }; 381 }; 387 382 388 wifi_poweren_pin: wifi-poweren 383 wifi_poweren_pin: wifi-poweren-pin { 389 rockchip,pins = <1 RK_ 384 rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; 390 }; 385 }; 391 }; 386 }; 392 }; 387 }; 393 388 394 &pwm2 { 389 &pwm2 { 395 pinctrl-0 = <&pwm2m1_pins>; 390 pinctrl-0 = <&pwm2m1_pins>; 396 status = "okay"; 391 status = "okay"; 397 }; 392 }; 398 393 399 &pwm13 { 394 &pwm13 { 400 pinctrl-names = "active"; 395 pinctrl-names = "active"; 401 pinctrl-0 = <&pwm13m2_pins>; 396 pinctrl-0 = <&pwm13m2_pins>; 402 status = "okay"; 397 status = "okay"; 403 }; 398 }; 404 399 405 &saradc { 400 &saradc { 406 vref-supply = <&vcc_1v8_s0>; 401 vref-supply = <&vcc_1v8_s0>; 407 status = "okay"; 402 status = "okay"; 408 }; 403 }; 409 404 410 &sdhci { 405 &sdhci { 411 bus-width = <8>; 406 bus-width = <8>; 412 max-frequency = <200000000>; 407 max-frequency = <200000000>; 413 mmc-hs400-1_8v; 408 mmc-hs400-1_8v; 414 mmc-hs400-enhanced-strobe; 409 mmc-hs400-enhanced-strobe; 415 no-sdio; 410 no-sdio; 416 no-sd; 411 no-sd; 417 non-removable; 412 non-removable; 418 status = "okay"; 413 status = "okay"; 419 }; 414 }; 420 415 421 &sdio { 416 &sdio { 422 bus-width = <4>; 417 bus-width = <4>; 423 cap-sd-highspeed; 418 cap-sd-highspeed; 424 cap-sdio-irq; 419 cap-sdio-irq; 425 disable-wp; 420 disable-wp; 426 keep-power-in-suspend; 421 keep-power-in-suspend; 427 max-frequency = <150000000>; 422 max-frequency = <150000000>; 428 mmc-pwrseq = <&sdio_pwrseq>; 423 mmc-pwrseq = <&sdio_pwrseq>; 429 no-sd; 424 no-sd; 430 no-mmc; 425 no-mmc; 431 non-removable; 426 non-removable; 432 pinctrl-names = "default"; 427 pinctrl-names = "default"; 433 pinctrl-0 = <&sdiom1_pins>,<&wifi_powe 428 pinctrl-0 = <&sdiom1_pins>,<&wifi_poweren_pin>; 434 status = "okay"; 429 status = "okay"; 435 }; 430 }; 436 431 437 &sdmmc { 432 &sdmmc { 438 bus-width = <4>; 433 bus-width = <4>; 439 cap-mmc-highspeed; 434 cap-mmc-highspeed; 440 cap-sd-highspeed; 435 cap-sd-highspeed; 441 disable-wp; 436 disable-wp; 442 max-frequency = <150000000>; 437 max-frequency = <150000000>; 443 no-sdio; 438 no-sdio; 444 no-mmc; 439 no-mmc; 445 sd-uhs-sdr104; 440 sd-uhs-sdr104; 446 vmmc-supply = <&vcc_3v3_s3>; 441 vmmc-supply = <&vcc_3v3_s3>; 447 vqmmc-supply = <&vccio_sd_s0>; 442 vqmmc-supply = <&vccio_sd_s0>; 448 status = "okay"; 443 status = "okay"; 449 }; 444 }; 450 445 451 &spi2 { 446 &spi2 { 452 assigned-clocks = <&cru CLK_SPI2>; 447 assigned-clocks = <&cru CLK_SPI2>; 453 assigned-clock-rates = <200000000>; 448 assigned-clock-rates = <200000000>; 454 num-cs = <1>; 449 num-cs = <1>; 455 pinctrl-names = "default"; 450 pinctrl-names = "default"; 456 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins> 451 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 457 status = "okay"; 452 status = "okay"; 458 453 459 pmic@0 { 454 pmic@0 { 460 compatible = "rockchip,rk806"; 455 compatible = "rockchip,rk806"; 461 reg = <0x0>; 456 reg = <0x0>; 462 interrupt-parent = <&gpio0>; 457 interrupt-parent = <&gpio0>; 463 interrupts = <7 IRQ_TYPE_LEVEL 458 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 464 gpio-controller; 459 gpio-controller; 465 #gpio-cells = <2>; 460 #gpio-cells = <2>; 466 pinctrl-names = "default"; 461 pinctrl-names = "default"; 467 pinctrl-0 = <&pmic_pins>, <&rk 462 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 468 <&rk806_dvs2_null> 463 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 469 spi-max-frequency = <1000000>; 464 spi-max-frequency = <1000000>; 470 vcc1-supply = <&vcc5v0_sys>; 465 vcc1-supply = <&vcc5v0_sys>; 471 vcc2-supply = <&vcc5v0_sys>; 466 vcc2-supply = <&vcc5v0_sys>; 472 vcc3-supply = <&vcc5v0_sys>; 467 vcc3-supply = <&vcc5v0_sys>; 473 vcc4-supply = <&vcc5v0_sys>; 468 vcc4-supply = <&vcc5v0_sys>; 474 vcc5-supply = <&vcc5v0_sys>; 469 vcc5-supply = <&vcc5v0_sys>; 475 vcc6-supply = <&vcc5v0_sys>; 470 vcc6-supply = <&vcc5v0_sys>; 476 vcc7-supply = <&vcc5v0_sys>; 471 vcc7-supply = <&vcc5v0_sys>; 477 vcc8-supply = <&vcc5v0_sys>; 472 vcc8-supply = <&vcc5v0_sys>; 478 vcc9-supply = <&vcc5v0_sys>; 473 vcc9-supply = <&vcc5v0_sys>; 479 vcc10-supply = <&vcc5v0_sys>; 474 vcc10-supply = <&vcc5v0_sys>; 480 vcc11-supply = <&vcc_2v0_pldo_ 475 vcc11-supply = <&vcc_2v0_pldo_s3>; 481 vcc12-supply = <&vcc5v0_sys>; 476 vcc12-supply = <&vcc5v0_sys>; 482 vcc13-supply = <&vcc_1v1_nldo_ 477 vcc13-supply = <&vcc_1v1_nldo_s3>; 483 vcc14-supply = <&vcc_1v1_nldo_ 478 vcc14-supply = <&vcc_1v1_nldo_s3>; 484 vcca-supply = <&vcc5v0_sys>; 479 vcca-supply = <&vcc5v0_sys>; 485 480 486 rk806_dvs1_null: dvs1-null-pin 481 rk806_dvs1_null: dvs1-null-pins { 487 pins = "gpio_pwrctrl1" !! 482 pins = "gpio_pwrctrl2"; 488 function = "pin_fun0"; 483 function = "pin_fun0"; 489 }; 484 }; 490 485 491 rk806_dvs2_null: dvs2-null-pin 486 rk806_dvs2_null: dvs2-null-pins { 492 pins = "gpio_pwrctrl2" 487 pins = "gpio_pwrctrl2"; 493 function = "pin_fun0"; 488 function = "pin_fun0"; 494 }; 489 }; 495 490 496 rk806_dvs3_null: dvs3-null-pin 491 rk806_dvs3_null: dvs3-null-pins { 497 pins = "gpio_pwrctrl3" 492 pins = "gpio_pwrctrl3"; 498 function = "pin_fun0"; 493 function = "pin_fun0"; 499 }; 494 }; 500 495 501 regulators { 496 regulators { 502 vdd_gpu_s0: vdd_gpu_me 497 vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 { 503 regulator-name 498 regulator-name = "vdd_gpu_s0"; 504 regulator-boot 499 regulator-boot-on; 505 regulator-min- 500 regulator-min-microvolt = <550000>; 506 regulator-max- 501 regulator-max-microvolt = <950000>; 507 regulator-ramp 502 regulator-ramp-delay = <12500>; 508 regulator-enab 503 regulator-enable-ramp-delay = <400>; 509 504 510 regulator-stat 505 regulator-state-mem { 511 regula 506 regulator-off-in-suspend; 512 }; 507 }; 513 }; 508 }; 514 509 515 vdd_cpu_lit_s0: vdd_cp 510 vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 { 516 regulator-name 511 regulator-name = "vdd_cpu_lit_s0"; 517 regulator-alwa 512 regulator-always-on; 518 regulator-boot 513 regulator-boot-on; 519 regulator-min- 514 regulator-min-microvolt = <550000>; 520 regulator-max- 515 regulator-max-microvolt = <950000>; 521 regulator-ramp 516 regulator-ramp-delay = <12500>; 522 517 523 regulator-stat 518 regulator-state-mem { 524 regula 519 regulator-off-in-suspend; 525 }; 520 }; 526 }; 521 }; 527 522 528 vdd_log_s0: dcdc-reg3 523 vdd_log_s0: dcdc-reg3 { 529 regulator-name 524 regulator-name = "vdd_log_s0"; 530 regulator-alwa 525 regulator-always-on; 531 regulator-boot 526 regulator-boot-on; 532 regulator-min- 527 regulator-min-microvolt = <675000>; 533 regulator-max- 528 regulator-max-microvolt = <750000>; 534 regulator-ramp 529 regulator-ramp-delay = <12500>; 535 530 536 regulator-stat 531 regulator-state-mem { 537 regula 532 regulator-off-in-suspend; 538 regula 533 regulator-suspend-microvolt = <750000>; 539 }; 534 }; 540 }; 535 }; 541 536 542 vdd_vdenc_s0: vdd_vden 537 vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 { 543 regulator-name 538 regulator-name = "vdd_vdenc_s0"; 544 regulator-alwa 539 regulator-always-on; 545 regulator-boot 540 regulator-boot-on; 546 regulator-min- 541 regulator-min-microvolt = <550000>; 547 regulator-max- 542 regulator-max-microvolt = <950000>; 548 regulator-ramp 543 regulator-ramp-delay = <12500>; 549 544 550 regulator-stat 545 regulator-state-mem { 551 regula 546 regulator-off-in-suspend; 552 }; 547 }; 553 }; 548 }; 554 549 555 vdd_ddr_s0: dcdc-reg5 550 vdd_ddr_s0: dcdc-reg5 { 556 regulator-name 551 regulator-name = "vdd_ddr_s0"; 557 regulator-alwa 552 regulator-always-on; 558 regulator-boot 553 regulator-boot-on; 559 regulator-min- 554 regulator-min-microvolt = <675000>; 560 regulator-max- 555 regulator-max-microvolt = <900000>; 561 regulator-ramp 556 regulator-ramp-delay = <12500>; 562 557 563 regulator-stat 558 regulator-state-mem { 564 regula 559 regulator-off-in-suspend; 565 regula 560 regulator-suspend-microvolt = <850000>; 566 }; 561 }; 567 }; 562 }; 568 563 569 vdd2_ddr_s3: dcdc-reg6 564 vdd2_ddr_s3: dcdc-reg6 { 570 regulator-name 565 regulator-name = "vdd2_ddr_s3"; 571 regulator-alwa 566 regulator-always-on; 572 regulator-boot 567 regulator-boot-on; 573 568 574 regulator-stat 569 regulator-state-mem { 575 regula 570 regulator-on-in-suspend; 576 }; 571 }; 577 }; 572 }; 578 573 579 vcc_2v0_pldo_s3: dcdc- 574 vcc_2v0_pldo_s3: dcdc-reg7 { 580 regulator-name 575 regulator-name = "vdd_2v0_pldo_s3"; 581 regulator-alwa 576 regulator-always-on; 582 regulator-boot 577 regulator-boot-on; 583 regulator-min- 578 regulator-min-microvolt = <2000000>; 584 regulator-max- 579 regulator-max-microvolt = <2000000>; 585 regulator-ramp 580 regulator-ramp-delay = <12500>; 586 581 587 regulator-stat 582 regulator-state-mem { 588 regula 583 regulator-on-in-suspend; 589 regula 584 regulator-suspend-microvolt = <2000000>; 590 }; 585 }; 591 }; 586 }; 592 587 593 vcc_3v3_s3: dcdc-reg8 588 vcc_3v3_s3: dcdc-reg8 { 594 regulator-name 589 regulator-name = "vcc_3v3_s3"; 595 regulator-alwa 590 regulator-always-on; 596 regulator-boot 591 regulator-boot-on; 597 regulator-min- 592 regulator-min-microvolt = <3300000>; 598 regulator-max- 593 regulator-max-microvolt = <3300000>; 599 594 600 regulator-stat 595 regulator-state-mem { 601 regula 596 regulator-on-in-suspend; 602 regula 597 regulator-suspend-microvolt = <3300000>; 603 }; 598 }; 604 }; 599 }; 605 600 606 vddq_ddr_s0: dcdc-reg9 601 vddq_ddr_s0: dcdc-reg9 { 607 regulator-name 602 regulator-name = "vddq_ddr_s0"; 608 regulator-alwa 603 regulator-always-on; 609 regulator-boot 604 regulator-boot-on; 610 605 611 regulator-stat 606 regulator-state-mem { 612 regula 607 regulator-off-in-suspend; 613 }; 608 }; 614 }; 609 }; 615 610 616 vcc_1v8_s3: dcdc-reg10 611 vcc_1v8_s3: dcdc-reg10 { 617 regulator-name 612 regulator-name = "vcc_1v8_s3"; 618 regulator-alwa 613 regulator-always-on; 619 regulator-boot 614 regulator-boot-on; 620 regulator-min- 615 regulator-min-microvolt = <1800000>; 621 regulator-max- 616 regulator-max-microvolt = <1800000>; 622 617 623 regulator-stat 618 regulator-state-mem { 624 regula 619 regulator-on-in-suspend; 625 regula 620 regulator-suspend-microvolt = <1800000>; 626 }; 621 }; 627 }; 622 }; 628 623 629 avcc_1v8_s0: pldo-reg1 624 avcc_1v8_s0: pldo-reg1 { 630 regulator-name 625 regulator-name = "avcc_1v8_s0"; 631 regulator-alwa 626 regulator-always-on; 632 regulator-boot 627 regulator-boot-on; 633 regulator-min- 628 regulator-min-microvolt = <1800000>; 634 regulator-max- 629 regulator-max-microvolt = <1800000>; 635 630 636 regulator-stat 631 regulator-state-mem { 637 regula 632 regulator-off-in-suspend; 638 }; 633 }; 639 }; 634 }; 640 635 641 vcc_1v8_s0: pldo-reg2 636 vcc_1v8_s0: pldo-reg2 { 642 regulator-name 637 regulator-name = "vcc_1v8_s0"; 643 regulator-alwa 638 regulator-always-on; 644 regulator-boot 639 regulator-boot-on; 645 regulator-min- 640 regulator-min-microvolt = <1800000>; 646 regulator-max- 641 regulator-max-microvolt = <1800000>; 647 642 648 regulator-stat 643 regulator-state-mem { 649 regula 644 regulator-off-in-suspend; 650 regula 645 regulator-suspend-microvolt = <1800000>; 651 }; 646 }; 652 }; 647 }; 653 648 654 avdd_1v2_s0: pldo-reg3 649 avdd_1v2_s0: pldo-reg3 { 655 regulator-name 650 regulator-name = "avdd_1v2_s0"; 656 regulator-alwa 651 regulator-always-on; 657 regulator-boot 652 regulator-boot-on; 658 regulator-min- 653 regulator-min-microvolt = <1200000>; 659 regulator-max- 654 regulator-max-microvolt = <1200000>; 660 655 661 regulator-stat 656 regulator-state-mem { 662 regula 657 regulator-off-in-suspend; 663 }; 658 }; 664 }; 659 }; 665 660 666 vcc_3v3_s0: pldo-reg4 661 vcc_3v3_s0: pldo-reg4 { 667 regulator-name 662 regulator-name = "vcc_3v3_s0"; 668 regulator-alwa 663 regulator-always-on; 669 regulator-boot 664 regulator-boot-on; 670 regulator-min- 665 regulator-min-microvolt = <3300000>; 671 regulator-max- 666 regulator-max-microvolt = <3300000>; 672 regulator-ramp 667 regulator-ramp-delay = <12500>; 673 668 674 regulator-stat 669 regulator-state-mem { 675 regula 670 regulator-off-in-suspend; 676 }; 671 }; 677 }; 672 }; 678 673 679 vccio_sd_s0: pldo-reg5 674 vccio_sd_s0: pldo-reg5 { 680 regulator-name 675 regulator-name = "vccio_sd_s0"; 681 regulator-alwa 676 regulator-always-on; 682 regulator-boot 677 regulator-boot-on; 683 regulator-min- 678 regulator-min-microvolt = <1800000>; 684 regulator-max- 679 regulator-max-microvolt = <3300000>; 685 regulator-ramp 680 regulator-ramp-delay = <12500>; 686 681 687 regulator-stat 682 regulator-state-mem { 688 regula 683 regulator-off-in-suspend; 689 }; 684 }; 690 }; 685 }; 691 686 692 pldo6_s3: pldo-reg6 { 687 pldo6_s3: pldo-reg6 { 693 regulator-name 688 regulator-name = "pldo6_s3"; 694 regulator-alwa 689 regulator-always-on; 695 regulator-boot 690 regulator-boot-on; 696 regulator-min- 691 regulator-min-microvolt = <1800000>; 697 regulator-max- 692 regulator-max-microvolt = <1800000>; 698 693 699 regulator-stat 694 regulator-state-mem { 700 regula 695 regulator-on-in-suspend; 701 regula 696 regulator-suspend-microvolt = <1800000>; 702 }; 697 }; 703 }; 698 }; 704 699 705 vdd_0v75_s3: nldo-reg1 700 vdd_0v75_s3: nldo-reg1 { 706 regulator-name 701 regulator-name = "vdd_0v75_s3"; 707 regulator-alwa 702 regulator-always-on; 708 regulator-boot 703 regulator-boot-on; 709 regulator-min- 704 regulator-min-microvolt = <750000>; 710 regulator-max- 705 regulator-max-microvolt = <750000>; 711 706 712 regulator-stat 707 regulator-state-mem { 713 regula 708 regulator-on-in-suspend; 714 regula 709 regulator-suspend-microvolt = <750000>; 715 }; 710 }; 716 }; 711 }; 717 712 718 vdd_ddr_pll_s0: nldo-r 713 vdd_ddr_pll_s0: nldo-reg2 { 719 regulator-name 714 regulator-name = "vdd_ddr_pll_s0"; 720 regulator-alwa 715 regulator-always-on; 721 regulator-boot 716 regulator-boot-on; 722 regulator-min- 717 regulator-min-microvolt = <850000>; 723 regulator-max- 718 regulator-max-microvolt = <850000>; 724 719 725 regulator-stat 720 regulator-state-mem { 726 regula 721 regulator-off-in-suspend; 727 regula 722 regulator-suspend-microvolt = <850000>; 728 }; 723 }; 729 }; 724 }; 730 725 731 avdd_0v75_s0: nldo-reg 726 avdd_0v75_s0: nldo-reg3 { 732 regulator-name 727 regulator-name = "avdd_0v75_s0"; 733 regulator-alwa 728 regulator-always-on; 734 regulator-boot 729 regulator-boot-on; 735 regulator-min- 730 regulator-min-microvolt = <750000>; 736 regulator-max- 731 regulator-max-microvolt = <750000>; 737 732 738 regulator-stat 733 regulator-state-mem { 739 regula 734 regulator-off-in-suspend; 740 }; 735 }; 741 }; 736 }; 742 737 743 vdd_0v85_s0: nldo-reg4 738 vdd_0v85_s0: nldo-reg4 { 744 regulator-name 739 regulator-name = "vdd_0v85_s0"; 745 regulator-alwa 740 regulator-always-on; 746 regulator-boot 741 regulator-boot-on; 747 regulator-min- 742 regulator-min-microvolt = <850000>; 748 regulator-max- 743 regulator-max-microvolt = <850000>; 749 744 750 regulator-stat 745 regulator-state-mem { 751 regula 746 regulator-off-in-suspend; 752 }; 747 }; 753 }; 748 }; 754 749 755 vdd_0v75_s0: nldo-reg5 750 vdd_0v75_s0: nldo-reg5 { 756 regulator-name 751 regulator-name = "vdd_0v75_s0"; 757 regulator-alwa 752 regulator-always-on; 758 regulator-boot 753 regulator-boot-on; 759 regulator-min- 754 regulator-min-microvolt = <750000>; 760 regulator-max- 755 regulator-max-microvolt = <750000>; 761 756 762 regulator-stat 757 regulator-state-mem { 763 regula 758 regulator-off-in-suspend; 764 }; 759 }; 765 }; 760 }; 766 }; 761 }; 767 }; 762 }; 768 }; 763 }; 769 764 770 &tsadc { 765 &tsadc { 771 status = "okay"; 766 status = "okay"; 772 }; 767 }; 773 768 774 &u2phy2 { 769 &u2phy2 { 775 status = "okay"; 770 status = "okay"; 776 }; 771 }; 777 772 778 &u2phy3 { 773 &u2phy3 { 779 status = "okay"; 774 status = "okay"; 780 }; 775 }; 781 776 782 &u2phy2_host { 777 &u2phy2_host { 783 phy-supply = <&vcc5v0_host>; 778 phy-supply = <&vcc5v0_host>; 784 status = "okay"; 779 status = "okay"; 785 }; 780 }; 786 781 787 &u2phy3_host { 782 &u2phy3_host { 788 status = "okay"; 783 status = "okay"; 789 }; 784 }; 790 785 791 &uart2 { 786 &uart2 { 792 pinctrl-0 = <&uart2m0_xfer>; 787 pinctrl-0 = <&uart2m0_xfer>; 793 status = "okay"; 788 status = "okay"; 794 }; 789 }; 795 790 796 /* bt */ 791 /* bt */ 797 &uart9 { 792 &uart9 { 798 status = "okay"; 793 status = "okay"; 799 pinctrl-names = "default"; 794 pinctrl-names = "default"; 800 pinctrl-0 = <&uart9m2_xfer &uart9m2_ct 795 pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn>; 801 }; 796 }; 802 797 803 &usb_host0_ehci { 798 &usb_host0_ehci { 804 status = "okay"; 799 status = "okay"; 805 }; 800 }; 806 801 807 &usb_host0_ohci { 802 &usb_host0_ohci { 808 status = "okay"; 803 status = "okay"; 809 }; 804 }; 810 805 811 &usb_host1_ehci { 806 &usb_host1_ehci { 812 status = "okay"; 807 status = "okay"; 813 }; 808 }; 814 809 815 &usb_host1_ohci { 810 &usb_host1_ohci { 816 status = "okay"; 811 status = "okay"; 817 }; 812 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.