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 { 206 &gpu { 207 mali-supply = <&vdd_gpu_s0>; 207 mali-supply = <&vdd_gpu_s0>; 208 status = "okay"; 208 status = "okay"; 209 }; 209 }; 210 210 211 &i2c0 { 211 &i2c0 { 212 pinctrl-0 = <&i2c0m2_xfer>; 212 pinctrl-0 = <&i2c0m2_xfer>; 213 status = "okay"; 213 status = "okay"; 214 214 215 vdd_cpu_big0_s0: regulator@42 { 215 vdd_cpu_big0_s0: regulator@42 { 216 compatible = "rockchip,rk8602" 216 compatible = "rockchip,rk8602"; 217 reg = <0x42>; 217 reg = <0x42>; 218 fcs,suspend-voltage-selector = 218 fcs,suspend-voltage-selector = <1>; 219 regulator-name = "vdd_cpu_big0 219 regulator-name = "vdd_cpu_big0_s0"; 220 regulator-always-on; 220 regulator-always-on; 221 regulator-boot-on; 221 regulator-boot-on; 222 regulator-min-microvolt = <550 222 regulator-min-microvolt = <550000>; 223 regulator-max-microvolt = <105 223 regulator-max-microvolt = <1050000>; 224 regulator-ramp-delay = <2300>; 224 regulator-ramp-delay = <2300>; 225 vin-supply = <&vcc5v0_sys>; 225 vin-supply = <&vcc5v0_sys>; 226 226 227 regulator-state-mem { 227 regulator-state-mem { 228 regulator-off-in-suspe 228 regulator-off-in-suspend; 229 }; 229 }; 230 }; 230 }; 231 231 232 vdd_cpu_big1_s0: regulator@43 { 232 vdd_cpu_big1_s0: regulator@43 { 233 compatible = "rockchip,rk8603" 233 compatible = "rockchip,rk8603", "rockchip,rk8602"; 234 reg = <0x43>; 234 reg = <0x43>; 235 fcs,suspend-voltage-selector = 235 fcs,suspend-voltage-selector = <1>; 236 regulator-name = "vdd_cpu_big1 236 regulator-name = "vdd_cpu_big1_s0"; 237 regulator-always-on; 237 regulator-always-on; 238 regulator-boot-on; 238 regulator-boot-on; 239 regulator-min-microvolt = <550 239 regulator-min-microvolt = <550000>; 240 regulator-max-microvolt = <105 240 regulator-max-microvolt = <1050000>; 241 regulator-ramp-delay = <2300>; 241 regulator-ramp-delay = <2300>; 242 vin-supply = <&vcc5v0_sys>; 242 vin-supply = <&vcc5v0_sys>; 243 243 244 regulator-state-mem { 244 regulator-state-mem { 245 regulator-off-in-suspe 245 regulator-off-in-suspend; 246 }; 246 }; 247 }; 247 }; 248 }; 248 }; 249 249 250 &i2c2 { 250 &i2c2 { 251 status = "okay"; 251 status = "okay"; 252 252 253 vdd_npu_s0: regulator@42 { 253 vdd_npu_s0: regulator@42 { 254 compatible = "rockchip,rk8602" 254 compatible = "rockchip,rk8602"; 255 reg = <0x42>; 255 reg = <0x42>; 256 fcs,suspend-voltage-selector = 256 fcs,suspend-voltage-selector = <1>; 257 regulator-name = "vdd_npu_s0"; 257 regulator-name = "vdd_npu_s0"; 258 regulator-always-on; 258 regulator-always-on; 259 regulator-boot-on; 259 regulator-boot-on; 260 regulator-min-microvolt = <550 260 regulator-min-microvolt = <550000>; 261 regulator-max-microvolt = <950 261 regulator-max-microvolt = <950000>; 262 regulator-ramp-delay = <2300>; 262 regulator-ramp-delay = <2300>; 263 vin-supply = <&vcc5v0_sys>; 263 vin-supply = <&vcc5v0_sys>; 264 264 265 regulator-state-mem { 265 regulator-state-mem { 266 regulator-off-in-suspe 266 regulator-off-in-suspend; 267 }; 267 }; 268 }; 268 }; 269 }; 269 }; 270 270 271 &i2c6 { 271 &i2c6 { 272 pinctrl-0 = <&i2c6m3_xfer>; 272 pinctrl-0 = <&i2c6m3_xfer>; 273 status = "okay"; 273 status = "okay"; 274 274 275 hym8563: rtc@51 { 275 hym8563: rtc@51 { 276 compatible = "haoyu,hym8563"; 276 compatible = "haoyu,hym8563"; 277 reg = <0x51>; 277 reg = <0x51>; 278 interrupt-parent = <&gpio0>; 278 interrupt-parent = <&gpio0>; 279 interrupts = <RK_PB0 IRQ_TYPE_ 279 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 280 #clock-cells = <0>; 280 #clock-cells = <0>; 281 clock-output-names = "hym8563" 281 clock-output-names = "hym8563"; 282 pinctrl-names = "default"; 282 pinctrl-names = "default"; 283 pinctrl-0 = <&hym8563_int>; 283 pinctrl-0 = <&hym8563_int>; 284 }; 284 }; 285 }; 285 }; 286 286 287 &i2c7 { 287 &i2c7 { 288 pinctrl-0 = <&i2c7m0_xfer>; 288 pinctrl-0 = <&i2c7m0_xfer>; 289 status = "okay"; 289 status = "okay"; 290 290 291 es8316: audio-codec@10 { 291 es8316: audio-codec@10 { 292 compatible = "everest,es8316"; 292 compatible = "everest,es8316"; 293 reg = <0x10>; 293 reg = <0x10>; 294 assigned-clocks = <&cru I2S0_8 294 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 295 assigned-clock-rates = <122880 295 assigned-clock-rates = <12288000>; 296 clocks = <&cru I2S0_8CH_MCLKOU 296 clocks = <&cru I2S0_8CH_MCLKOUT>; 297 clock-names = "mclk"; 297 clock-names = "mclk"; 298 #sound-dai-cells = <0>; 298 #sound-dai-cells = <0>; 299 299 300 port { 300 port { 301 es8316_p0_0: endpoint 301 es8316_p0_0: endpoint { 302 remote-endpoin 302 remote-endpoint = <&i2s0_8ch_p0_0>; 303 }; 303 }; 304 }; 304 }; 305 }; 305 }; 306 }; 306 }; 307 307 308 &i2s0_8ch { 308 &i2s0_8ch { 309 pinctrl-0 = <&i2s0_lrck 309 pinctrl-0 = <&i2s0_lrck 310 &i2s0_mclk 310 &i2s0_mclk 311 &i2s0_sclk 311 &i2s0_sclk 312 &i2s0_sdi0 312 &i2s0_sdi0 313 &i2s0_sdo0>; 313 &i2s0_sdo0>; 314 status = "okay"; 314 status = "okay"; 315 315 316 i2s0_8ch_p0: port { 316 i2s0_8ch_p0: port { 317 i2s0_8ch_p0_0: endpoint { 317 i2s0_8ch_p0_0: endpoint { 318 dai-format = "i2s"; 318 dai-format = "i2s"; 319 mclk-fs = <256>; 319 mclk-fs = <256>; 320 remote-endpoint = <&es 320 remote-endpoint = <&es8316_p0_0>; 321 }; 321 }; 322 }; 322 }; 323 }; 323 }; 324 324 325 &pcie2x1l2 { 325 &pcie2x1l2 { 326 pinctrl-names = "default"; 326 pinctrl-names = "default"; 327 pinctrl-0 = <&rtl8111_isolate>; 327 pinctrl-0 = <&rtl8111_isolate>; 328 reset-gpios = <&gpio3 RK_PD1 GPIO_ACTI 328 reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; 329 status = "okay"; 329 status = "okay"; 330 }; 330 }; 331 331 332 &pinctrl { 332 &pinctrl { 333 hym8563 { 333 hym8563 { 334 hym8563_int: hym8563-int { 334 hym8563_int: hym8563-int { 335 rockchip,pins = <0 RK_ 335 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 336 }; 336 }; 337 }; 337 }; 338 338 339 led { 339 led { 340 gpio_leds: gpio-leds { 340 gpio_leds: gpio-leds { 341 rockchip,pins = <0 RK_ 341 rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>, 342 <0 RK_ 342 <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>; 343 }; 343 }; 344 }; 344 }; 345 345 346 rtl8111 { 346 rtl8111 { 347 rtl8111_isolate: rtl8111-isola 347 rtl8111_isolate: rtl8111-isolate { 348 rockchip,pins = <1 RK_ 348 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 349 }; 349 }; 350 }; 350 }; 351 351 352 sdio-pwrseq { 352 sdio-pwrseq { 353 wifi_enable_h: wifi-enable-h { 353 wifi_enable_h: wifi-enable-h { 354 rockchip,pins = <0 RK_ 354 rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>; 355 }; 355 }; 356 }; 356 }; 357 357 358 usb { 358 usb { 359 vcc5v0_host_en: vcc5v0-host-en 359 vcc5v0_host_en: vcc5v0-host-en { 360 rockchip,pins = <3 RK_ 360 rockchip,pins = <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>, 361 <4 RK_ 361 <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 362 }; 362 }; 363 363 364 vcc5v0_u3host_en: vcc5v0-u3hos 364 vcc5v0_u3host_en: vcc5v0-u3host-en { 365 rockchip,pins = <3 RK_ 365 rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 366 }; 366 }; 367 }; 367 }; 368 368 369 wireless-bluetooth { 369 wireless-bluetooth { 370 bt_reset_gpio: bt-reset-pin { 370 bt_reset_gpio: bt-reset-pin { 371 rockchip,pins = <0 RK_ 371 rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 372 }; 372 }; 373 373 374 bt_wake_gpio: bt-wake-pin { 374 bt_wake_gpio: bt-wake-pin { 375 rockchip,pins = <0 RK_ 375 rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 376 }; 376 }; 377 377 378 bt_wake_host_irq: bt-wake-host 378 bt_wake_host_irq: bt-wake-host-irq { 379 rockchip,pins = <0 RK_ 379 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; 380 }; 380 }; 381 }; 381 }; 382 382 383 wireless-wlan { 383 wireless-wlan { 384 wifi_host_wake_irq: wifi-host- 384 wifi_host_wake_irq: wifi-host-wake-irq { 385 rockchip,pins = <0 RK_ 385 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; 386 }; 386 }; 387 387 388 wifi_poweren_pin: wifi-poweren 388 wifi_poweren_pin: wifi-poweren-pin { 389 rockchip,pins = <1 RK_ 389 rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; 390 }; 390 }; 391 }; 391 }; 392 }; 392 }; 393 393 394 &pwm2 { 394 &pwm2 { 395 pinctrl-0 = <&pwm2m1_pins>; 395 pinctrl-0 = <&pwm2m1_pins>; 396 status = "okay"; 396 status = "okay"; 397 }; 397 }; 398 398 399 &pwm13 { 399 &pwm13 { 400 pinctrl-names = "active"; 400 pinctrl-names = "active"; 401 pinctrl-0 = <&pwm13m2_pins>; 401 pinctrl-0 = <&pwm13m2_pins>; 402 status = "okay"; 402 status = "okay"; 403 }; 403 }; 404 404 405 &saradc { 405 &saradc { 406 vref-supply = <&vcc_1v8_s0>; 406 vref-supply = <&vcc_1v8_s0>; 407 status = "okay"; 407 status = "okay"; 408 }; 408 }; 409 409 410 &sdhci { 410 &sdhci { 411 bus-width = <8>; 411 bus-width = <8>; 412 max-frequency = <200000000>; 412 max-frequency = <200000000>; 413 mmc-hs400-1_8v; 413 mmc-hs400-1_8v; 414 mmc-hs400-enhanced-strobe; 414 mmc-hs400-enhanced-strobe; 415 no-sdio; 415 no-sdio; 416 no-sd; 416 no-sd; 417 non-removable; 417 non-removable; 418 status = "okay"; 418 status = "okay"; 419 }; 419 }; 420 420 421 &sdio { 421 &sdio { 422 bus-width = <4>; 422 bus-width = <4>; 423 cap-sd-highspeed; 423 cap-sd-highspeed; 424 cap-sdio-irq; 424 cap-sdio-irq; 425 disable-wp; 425 disable-wp; 426 keep-power-in-suspend; 426 keep-power-in-suspend; 427 max-frequency = <150000000>; 427 max-frequency = <150000000>; 428 mmc-pwrseq = <&sdio_pwrseq>; 428 mmc-pwrseq = <&sdio_pwrseq>; 429 no-sd; 429 no-sd; 430 no-mmc; 430 no-mmc; 431 non-removable; 431 non-removable; 432 pinctrl-names = "default"; 432 pinctrl-names = "default"; 433 pinctrl-0 = <&sdiom1_pins>,<&wifi_powe 433 pinctrl-0 = <&sdiom1_pins>,<&wifi_poweren_pin>; 434 status = "okay"; 434 status = "okay"; 435 }; 435 }; 436 436 437 &sdmmc { 437 &sdmmc { 438 bus-width = <4>; 438 bus-width = <4>; 439 cap-mmc-highspeed; 439 cap-mmc-highspeed; 440 cap-sd-highspeed; 440 cap-sd-highspeed; 441 disable-wp; 441 disable-wp; 442 max-frequency = <150000000>; 442 max-frequency = <150000000>; 443 no-sdio; 443 no-sdio; 444 no-mmc; 444 no-mmc; 445 sd-uhs-sdr104; 445 sd-uhs-sdr104; 446 vmmc-supply = <&vcc_3v3_s3>; 446 vmmc-supply = <&vcc_3v3_s3>; 447 vqmmc-supply = <&vccio_sd_s0>; 447 vqmmc-supply = <&vccio_sd_s0>; 448 status = "okay"; 448 status = "okay"; 449 }; 449 }; 450 450 451 &spi2 { 451 &spi2 { 452 assigned-clocks = <&cru CLK_SPI2>; 452 assigned-clocks = <&cru CLK_SPI2>; 453 assigned-clock-rates = <200000000>; 453 assigned-clock-rates = <200000000>; 454 num-cs = <1>; 454 num-cs = <1>; 455 pinctrl-names = "default"; 455 pinctrl-names = "default"; 456 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins> 456 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 457 status = "okay"; 457 status = "okay"; 458 458 459 pmic@0 { 459 pmic@0 { 460 compatible = "rockchip,rk806"; 460 compatible = "rockchip,rk806"; 461 reg = <0x0>; 461 reg = <0x0>; 462 interrupt-parent = <&gpio0>; 462 interrupt-parent = <&gpio0>; 463 interrupts = <7 IRQ_TYPE_LEVEL 463 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 464 gpio-controller; 464 gpio-controller; 465 #gpio-cells = <2>; 465 #gpio-cells = <2>; 466 pinctrl-names = "default"; 466 pinctrl-names = "default"; 467 pinctrl-0 = <&pmic_pins>, <&rk 467 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 468 <&rk806_dvs2_null> 468 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 469 spi-max-frequency = <1000000>; 469 spi-max-frequency = <1000000>; 470 vcc1-supply = <&vcc5v0_sys>; 470 vcc1-supply = <&vcc5v0_sys>; 471 vcc2-supply = <&vcc5v0_sys>; 471 vcc2-supply = <&vcc5v0_sys>; 472 vcc3-supply = <&vcc5v0_sys>; 472 vcc3-supply = <&vcc5v0_sys>; 473 vcc4-supply = <&vcc5v0_sys>; 473 vcc4-supply = <&vcc5v0_sys>; 474 vcc5-supply = <&vcc5v0_sys>; 474 vcc5-supply = <&vcc5v0_sys>; 475 vcc6-supply = <&vcc5v0_sys>; 475 vcc6-supply = <&vcc5v0_sys>; 476 vcc7-supply = <&vcc5v0_sys>; 476 vcc7-supply = <&vcc5v0_sys>; 477 vcc8-supply = <&vcc5v0_sys>; 477 vcc8-supply = <&vcc5v0_sys>; 478 vcc9-supply = <&vcc5v0_sys>; 478 vcc9-supply = <&vcc5v0_sys>; 479 vcc10-supply = <&vcc5v0_sys>; 479 vcc10-supply = <&vcc5v0_sys>; 480 vcc11-supply = <&vcc_2v0_pldo_ 480 vcc11-supply = <&vcc_2v0_pldo_s3>; 481 vcc12-supply = <&vcc5v0_sys>; 481 vcc12-supply = <&vcc5v0_sys>; 482 vcc13-supply = <&vcc_1v1_nldo_ 482 vcc13-supply = <&vcc_1v1_nldo_s3>; 483 vcc14-supply = <&vcc_1v1_nldo_ 483 vcc14-supply = <&vcc_1v1_nldo_s3>; 484 vcca-supply = <&vcc5v0_sys>; 484 vcca-supply = <&vcc5v0_sys>; 485 485 486 rk806_dvs1_null: dvs1-null-pin 486 rk806_dvs1_null: dvs1-null-pins { 487 pins = "gpio_pwrctrl1" 487 pins = "gpio_pwrctrl1"; 488 function = "pin_fun0"; 488 function = "pin_fun0"; 489 }; 489 }; 490 490 491 rk806_dvs2_null: dvs2-null-pin 491 rk806_dvs2_null: dvs2-null-pins { 492 pins = "gpio_pwrctrl2" 492 pins = "gpio_pwrctrl2"; 493 function = "pin_fun0"; 493 function = "pin_fun0"; 494 }; 494 }; 495 495 496 rk806_dvs3_null: dvs3-null-pin 496 rk806_dvs3_null: dvs3-null-pins { 497 pins = "gpio_pwrctrl3" 497 pins = "gpio_pwrctrl3"; 498 function = "pin_fun0"; 498 function = "pin_fun0"; 499 }; 499 }; 500 500 501 regulators { 501 regulators { 502 vdd_gpu_s0: vdd_gpu_me 502 vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 { 503 regulator-name 503 regulator-name = "vdd_gpu_s0"; 504 regulator-boot 504 regulator-boot-on; 505 regulator-min- 505 regulator-min-microvolt = <550000>; 506 regulator-max- 506 regulator-max-microvolt = <950000>; 507 regulator-ramp 507 regulator-ramp-delay = <12500>; 508 regulator-enab 508 regulator-enable-ramp-delay = <400>; 509 509 510 regulator-stat 510 regulator-state-mem { 511 regula 511 regulator-off-in-suspend; 512 }; 512 }; 513 }; 513 }; 514 514 515 vdd_cpu_lit_s0: vdd_cp 515 vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 { 516 regulator-name 516 regulator-name = "vdd_cpu_lit_s0"; 517 regulator-alwa 517 regulator-always-on; 518 regulator-boot 518 regulator-boot-on; 519 regulator-min- 519 regulator-min-microvolt = <550000>; 520 regulator-max- 520 regulator-max-microvolt = <950000>; 521 regulator-ramp 521 regulator-ramp-delay = <12500>; 522 522 523 regulator-stat 523 regulator-state-mem { 524 regula 524 regulator-off-in-suspend; 525 }; 525 }; 526 }; 526 }; 527 527 528 vdd_log_s0: dcdc-reg3 528 vdd_log_s0: dcdc-reg3 { 529 regulator-name 529 regulator-name = "vdd_log_s0"; 530 regulator-alwa 530 regulator-always-on; 531 regulator-boot 531 regulator-boot-on; 532 regulator-min- 532 regulator-min-microvolt = <675000>; 533 regulator-max- 533 regulator-max-microvolt = <750000>; 534 regulator-ramp 534 regulator-ramp-delay = <12500>; 535 535 536 regulator-stat 536 regulator-state-mem { 537 regula 537 regulator-off-in-suspend; 538 regula 538 regulator-suspend-microvolt = <750000>; 539 }; 539 }; 540 }; 540 }; 541 541 542 vdd_vdenc_s0: vdd_vden 542 vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 { 543 regulator-name 543 regulator-name = "vdd_vdenc_s0"; 544 regulator-alwa 544 regulator-always-on; 545 regulator-boot 545 regulator-boot-on; 546 regulator-min- 546 regulator-min-microvolt = <550000>; 547 regulator-max- 547 regulator-max-microvolt = <950000>; 548 regulator-ramp 548 regulator-ramp-delay = <12500>; 549 549 550 regulator-stat 550 regulator-state-mem { 551 regula 551 regulator-off-in-suspend; 552 }; 552 }; 553 }; 553 }; 554 554 555 vdd_ddr_s0: dcdc-reg5 555 vdd_ddr_s0: dcdc-reg5 { 556 regulator-name 556 regulator-name = "vdd_ddr_s0"; 557 regulator-alwa 557 regulator-always-on; 558 regulator-boot 558 regulator-boot-on; 559 regulator-min- 559 regulator-min-microvolt = <675000>; 560 regulator-max- 560 regulator-max-microvolt = <900000>; 561 regulator-ramp 561 regulator-ramp-delay = <12500>; 562 562 563 regulator-stat 563 regulator-state-mem { 564 regula 564 regulator-off-in-suspend; 565 regula 565 regulator-suspend-microvolt = <850000>; 566 }; 566 }; 567 }; 567 }; 568 568 569 vdd2_ddr_s3: dcdc-reg6 569 vdd2_ddr_s3: dcdc-reg6 { 570 regulator-name 570 regulator-name = "vdd2_ddr_s3"; 571 regulator-alwa 571 regulator-always-on; 572 regulator-boot 572 regulator-boot-on; 573 573 574 regulator-stat 574 regulator-state-mem { 575 regula 575 regulator-on-in-suspend; 576 }; 576 }; 577 }; 577 }; 578 578 579 vcc_2v0_pldo_s3: dcdc- 579 vcc_2v0_pldo_s3: dcdc-reg7 { 580 regulator-name 580 regulator-name = "vdd_2v0_pldo_s3"; 581 regulator-alwa 581 regulator-always-on; 582 regulator-boot 582 regulator-boot-on; 583 regulator-min- 583 regulator-min-microvolt = <2000000>; 584 regulator-max- 584 regulator-max-microvolt = <2000000>; 585 regulator-ramp 585 regulator-ramp-delay = <12500>; 586 586 587 regulator-stat 587 regulator-state-mem { 588 regula 588 regulator-on-in-suspend; 589 regula 589 regulator-suspend-microvolt = <2000000>; 590 }; 590 }; 591 }; 591 }; 592 592 593 vcc_3v3_s3: dcdc-reg8 593 vcc_3v3_s3: dcdc-reg8 { 594 regulator-name 594 regulator-name = "vcc_3v3_s3"; 595 regulator-alwa 595 regulator-always-on; 596 regulator-boot 596 regulator-boot-on; 597 regulator-min- 597 regulator-min-microvolt = <3300000>; 598 regulator-max- 598 regulator-max-microvolt = <3300000>; 599 599 600 regulator-stat 600 regulator-state-mem { 601 regula 601 regulator-on-in-suspend; 602 regula 602 regulator-suspend-microvolt = <3300000>; 603 }; 603 }; 604 }; 604 }; 605 605 606 vddq_ddr_s0: dcdc-reg9 606 vddq_ddr_s0: dcdc-reg9 { 607 regulator-name 607 regulator-name = "vddq_ddr_s0"; 608 regulator-alwa 608 regulator-always-on; 609 regulator-boot 609 regulator-boot-on; 610 610 611 regulator-stat 611 regulator-state-mem { 612 regula 612 regulator-off-in-suspend; 613 }; 613 }; 614 }; 614 }; 615 615 616 vcc_1v8_s3: dcdc-reg10 616 vcc_1v8_s3: dcdc-reg10 { 617 regulator-name 617 regulator-name = "vcc_1v8_s3"; 618 regulator-alwa 618 regulator-always-on; 619 regulator-boot 619 regulator-boot-on; 620 regulator-min- 620 regulator-min-microvolt = <1800000>; 621 regulator-max- 621 regulator-max-microvolt = <1800000>; 622 622 623 regulator-stat 623 regulator-state-mem { 624 regula 624 regulator-on-in-suspend; 625 regula 625 regulator-suspend-microvolt = <1800000>; 626 }; 626 }; 627 }; 627 }; 628 628 629 avcc_1v8_s0: pldo-reg1 629 avcc_1v8_s0: pldo-reg1 { 630 regulator-name 630 regulator-name = "avcc_1v8_s0"; 631 regulator-alwa 631 regulator-always-on; 632 regulator-boot 632 regulator-boot-on; 633 regulator-min- 633 regulator-min-microvolt = <1800000>; 634 regulator-max- 634 regulator-max-microvolt = <1800000>; 635 635 636 regulator-stat 636 regulator-state-mem { 637 regula 637 regulator-off-in-suspend; 638 }; 638 }; 639 }; 639 }; 640 640 641 vcc_1v8_s0: pldo-reg2 641 vcc_1v8_s0: pldo-reg2 { 642 regulator-name 642 regulator-name = "vcc_1v8_s0"; 643 regulator-alwa 643 regulator-always-on; 644 regulator-boot 644 regulator-boot-on; 645 regulator-min- 645 regulator-min-microvolt = <1800000>; 646 regulator-max- 646 regulator-max-microvolt = <1800000>; 647 647 648 regulator-stat 648 regulator-state-mem { 649 regula 649 regulator-off-in-suspend; 650 regula 650 regulator-suspend-microvolt = <1800000>; 651 }; 651 }; 652 }; 652 }; 653 653 654 avdd_1v2_s0: pldo-reg3 654 avdd_1v2_s0: pldo-reg3 { 655 regulator-name 655 regulator-name = "avdd_1v2_s0"; 656 regulator-alwa 656 regulator-always-on; 657 regulator-boot 657 regulator-boot-on; 658 regulator-min- 658 regulator-min-microvolt = <1200000>; 659 regulator-max- 659 regulator-max-microvolt = <1200000>; 660 660 661 regulator-stat 661 regulator-state-mem { 662 regula 662 regulator-off-in-suspend; 663 }; 663 }; 664 }; 664 }; 665 665 666 vcc_3v3_s0: pldo-reg4 666 vcc_3v3_s0: pldo-reg4 { 667 regulator-name 667 regulator-name = "vcc_3v3_s0"; 668 regulator-alwa 668 regulator-always-on; 669 regulator-boot 669 regulator-boot-on; 670 regulator-min- 670 regulator-min-microvolt = <3300000>; 671 regulator-max- 671 regulator-max-microvolt = <3300000>; 672 regulator-ramp 672 regulator-ramp-delay = <12500>; 673 673 674 regulator-stat 674 regulator-state-mem { 675 regula 675 regulator-off-in-suspend; 676 }; 676 }; 677 }; 677 }; 678 678 679 vccio_sd_s0: pldo-reg5 679 vccio_sd_s0: pldo-reg5 { 680 regulator-name 680 regulator-name = "vccio_sd_s0"; 681 regulator-alwa 681 regulator-always-on; 682 regulator-boot 682 regulator-boot-on; 683 regulator-min- 683 regulator-min-microvolt = <1800000>; 684 regulator-max- 684 regulator-max-microvolt = <3300000>; 685 regulator-ramp 685 regulator-ramp-delay = <12500>; 686 686 687 regulator-stat 687 regulator-state-mem { 688 regula 688 regulator-off-in-suspend; 689 }; 689 }; 690 }; 690 }; 691 691 692 pldo6_s3: pldo-reg6 { 692 pldo6_s3: pldo-reg6 { 693 regulator-name 693 regulator-name = "pldo6_s3"; 694 regulator-alwa 694 regulator-always-on; 695 regulator-boot 695 regulator-boot-on; 696 regulator-min- 696 regulator-min-microvolt = <1800000>; 697 regulator-max- 697 regulator-max-microvolt = <1800000>; 698 698 699 regulator-stat 699 regulator-state-mem { 700 regula 700 regulator-on-in-suspend; 701 regula 701 regulator-suspend-microvolt = <1800000>; 702 }; 702 }; 703 }; 703 }; 704 704 705 vdd_0v75_s3: nldo-reg1 705 vdd_0v75_s3: nldo-reg1 { 706 regulator-name 706 regulator-name = "vdd_0v75_s3"; 707 regulator-alwa 707 regulator-always-on; 708 regulator-boot 708 regulator-boot-on; 709 regulator-min- 709 regulator-min-microvolt = <750000>; 710 regulator-max- 710 regulator-max-microvolt = <750000>; 711 711 712 regulator-stat 712 regulator-state-mem { 713 regula 713 regulator-on-in-suspend; 714 regula 714 regulator-suspend-microvolt = <750000>; 715 }; 715 }; 716 }; 716 }; 717 717 718 vdd_ddr_pll_s0: nldo-r 718 vdd_ddr_pll_s0: nldo-reg2 { 719 regulator-name 719 regulator-name = "vdd_ddr_pll_s0"; 720 regulator-alwa 720 regulator-always-on; 721 regulator-boot 721 regulator-boot-on; 722 regulator-min- 722 regulator-min-microvolt = <850000>; 723 regulator-max- 723 regulator-max-microvolt = <850000>; 724 724 725 regulator-stat 725 regulator-state-mem { 726 regula 726 regulator-off-in-suspend; 727 regula 727 regulator-suspend-microvolt = <850000>; 728 }; 728 }; 729 }; 729 }; 730 730 731 avdd_0v75_s0: nldo-reg 731 avdd_0v75_s0: nldo-reg3 { 732 regulator-name 732 regulator-name = "avdd_0v75_s0"; 733 regulator-alwa 733 regulator-always-on; 734 regulator-boot 734 regulator-boot-on; 735 regulator-min- 735 regulator-min-microvolt = <750000>; 736 regulator-max- 736 regulator-max-microvolt = <750000>; 737 737 738 regulator-stat 738 regulator-state-mem { 739 regula 739 regulator-off-in-suspend; 740 }; 740 }; 741 }; 741 }; 742 742 743 vdd_0v85_s0: nldo-reg4 743 vdd_0v85_s0: nldo-reg4 { 744 regulator-name 744 regulator-name = "vdd_0v85_s0"; 745 regulator-alwa 745 regulator-always-on; 746 regulator-boot 746 regulator-boot-on; 747 regulator-min- 747 regulator-min-microvolt = <850000>; 748 regulator-max- 748 regulator-max-microvolt = <850000>; 749 749 750 regulator-stat 750 regulator-state-mem { 751 regula 751 regulator-off-in-suspend; 752 }; 752 }; 753 }; 753 }; 754 754 755 vdd_0v75_s0: nldo-reg5 755 vdd_0v75_s0: nldo-reg5 { 756 regulator-name 756 regulator-name = "vdd_0v75_s0"; 757 regulator-alwa 757 regulator-always-on; 758 regulator-boot 758 regulator-boot-on; 759 regulator-min- 759 regulator-min-microvolt = <750000>; 760 regulator-max- 760 regulator-max-microvolt = <750000>; 761 761 762 regulator-stat 762 regulator-state-mem { 763 regula 763 regulator-off-in-suspend; 764 }; 764 }; 765 }; 765 }; 766 }; 766 }; 767 }; 767 }; 768 }; 768 }; 769 769 770 &tsadc { 770 &tsadc { 771 status = "okay"; 771 status = "okay"; 772 }; 772 }; 773 773 774 &u2phy2 { 774 &u2phy2 { 775 status = "okay"; 775 status = "okay"; 776 }; 776 }; 777 777 778 &u2phy3 { 778 &u2phy3 { 779 status = "okay"; 779 status = "okay"; 780 }; 780 }; 781 781 782 &u2phy2_host { 782 &u2phy2_host { 783 phy-supply = <&vcc5v0_host>; 783 phy-supply = <&vcc5v0_host>; 784 status = "okay"; 784 status = "okay"; 785 }; 785 }; 786 786 787 &u2phy3_host { 787 &u2phy3_host { 788 status = "okay"; 788 status = "okay"; 789 }; 789 }; 790 790 791 &uart2 { 791 &uart2 { 792 pinctrl-0 = <&uart2m0_xfer>; 792 pinctrl-0 = <&uart2m0_xfer>; 793 status = "okay"; 793 status = "okay"; 794 }; 794 }; 795 795 796 /* bt */ 796 /* bt */ 797 &uart9 { 797 &uart9 { 798 status = "okay"; 798 status = "okay"; 799 pinctrl-names = "default"; 799 pinctrl-names = "default"; 800 pinctrl-0 = <&uart9m2_xfer &uart9m2_ct 800 pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn>; 801 }; 801 }; 802 802 803 &usb_host0_ehci { 803 &usb_host0_ehci { 804 status = "okay"; 804 status = "okay"; 805 }; 805 }; 806 806 807 &usb_host0_ohci { 807 &usb_host0_ohci { 808 status = "okay"; 808 status = "okay"; 809 }; 809 }; 810 810 811 &usb_host1_ehci { 811 &usb_host1_ehci { 812 status = "okay"; 812 status = "okay"; 813 }; 813 }; 814 814 815 &usb_host1_ohci { 815 &usb_host1_ohci { 816 status = "okay"; 816 status = "okay"; 817 }; 817 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.