rk3288-vmarc-som.dtsi (7748B)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd 4 * Copyright (c) 2019 Vamrs Limited 5 * Copyright (c) 2019 Amarula Solutions(India) 6 */ 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/pinctrl/rockchip.h> 10 11/ { 12 compatible = "vamrs,rk3288-vmarc-som", "rockchip,rk3288"; 13 14 vccio_flash: vccio-flash-regulator { 15 compatible = "regulator-fixed"; 16 regulator-name = "vccio_flash"; 17 regulator-min-microvolt = <1800000>; 18 regulator-max-microvolt = <1800000>; 19 vin-supply = <&vcc_io>; 20 }; 21}; 22 23&emmc { 24 bus-width = <8>; 25 cap-mmc-highspeed; 26 disable-wp; 27 non-removable; 28 pinctrl-names = "default"; 29 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; 30 vmmc-supply = <&vcc_io>; 31 vqmmc-supply = <&vccio_flash>; 32 status = "okay"; 33}; 34 35&gmac { 36 assigned-clocks = <&cru SCLK_MAC>; 37 phy-supply = <&vcc_io>; 38 snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; 39}; 40 41&hdmi { 42 ddc-i2c-bus = <&i2c5>; 43 pinctrl-names = "default"; 44 pinctrl-0 = <&hdmi_cec_c0>; 45}; 46 47&i2c0 { 48 clock-frequency = <400000>; 49 status = "okay"; 50 51 rk808: pmic@1b { 52 compatible = "rockchip,rk808"; 53 reg = <0x1b>; 54 interrupt-parent = <&gpio0>; 55 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 56 pinctrl-names = "default"; 57 pinctrl-0 = <&pmic_int &global_pwroff>; 58 rockchip,system-power-controller; 59 wakeup-source; 60 #clock-cells = <1>; 61 clock-output-names = "rk808-clkout1", "rk808-clkout2"; 62 63 vcc1-supply = <&vcc5v0_sys>; 64 vcc2-supply = <&vcc5v0_sys>; 65 vcc3-supply = <&vcc5v0_sys>; 66 vcc4-supply = <&vcc5v0_sys>; 67 vcc6-supply = <&vcc5v0_sys>; 68 vcc7-supply = <&vcc5v0_sys>; 69 vcc8-supply = <&vcc_io>; 70 vcc9-supply = <&vcc_io>; 71 vcc10-supply = <&vcc5v0_sys>; 72 vcc11-supply = <&vcc5v0_sys>; 73 vcc12-supply = <&vcc_io>; 74 vddio-supply = <&vcc_io>; 75 76 regulators { 77 vdd_cpu: DCDC_REG1 { 78 regulator-name = "vdd_arm"; 79 regulator-always-on; 80 regulator-boot-on; 81 regulator-min-microvolt = <750000>; 82 regulator-max-microvolt = <1400000>; 83 regulator-state-mem { 84 regulator-off-in-suspend; 85 }; 86 }; 87 88 vdd_gpu: DCDC_REG2 { 89 regulator-name = "vdd_gpu"; 90 regulator-always-on; 91 regulator-boot-on; 92 regulator-min-microvolt = <850000>; 93 regulator-max-microvolt = <1250000>; 94 regulator-ramp-delay = <6000>; 95 regulator-state-mem { 96 regulator-off-in-suspend; 97 }; 98 }; 99 100 vcc_ddr: DCDC_REG3 { 101 regulator-name = "vcc_ddr"; 102 regulator-always-on; 103 regulator-boot-on; 104 regulator-state-mem { 105 regulator-on-in-suspend; 106 }; 107 }; 108 109 vcc_io: DCDC_REG4 { 110 regulator-name = "vcc_io"; 111 regulator-always-on; 112 regulator-boot-on; 113 regulator-min-microvolt = <3300000>; 114 regulator-max-microvolt = <3300000>; 115 regulator-state-mem { 116 regulator-on-in-suspend; 117 regulator-suspend-microvolt = <3300000>; 118 }; 119 }; 120 121 vcc_tp: LDO_REG1 { 122 regulator-name = "vcc_tp"; 123 regulator-always-on; 124 regulator-boot-on; 125 regulator-min-microvolt = <3300000>; 126 regulator-max-microvolt = <3300000>; 127 regulator-state-mem { 128 regulator-off-in-suspend; 129 }; 130 }; 131 132 vcca_codec: LDO_REG2 { 133 regulator-name = "vcca_codec"; 134 regulator-always-on; 135 regulator-boot-on; 136 regulator-min-microvolt = <3300000>; 137 regulator-max-microvolt = <3300000>; 138 regulator-state-mem { 139 regulator-on-in-suspend; 140 regulator-suspend-microvolt = <3300000>; 141 }; 142 }; 143 144 vdd_10: LDO_REG3 { 145 regulator-name = "vdd_10"; 146 regulator-always-on; 147 regulator-boot-on; 148 regulator-min-microvolt = <1000000>; 149 regulator-max-microvolt = <1000000>; 150 regulator-state-mem { 151 regulator-on-in-suspend; 152 regulator-suspend-microvolt = <1000000>; 153 }; 154 }; 155 156 vcc_wl: LDO_REG4 { 157 regulator-name = "vcc_wl"; 158 regulator-always-on; 159 regulator-boot-on; 160 regulator-min-microvolt = <1800000>; 161 regulator-max-microvolt = <1800000>; 162 regulator-state-mem { 163 regulator-on-in-suspend; 164 }; 165 }; 166 167 vccio_sd: LDO_REG5 { 168 regulator-name = "vccio_sd"; 169 regulator-always-on; 170 regulator-boot-on; 171 regulator-min-microvolt = <1800000>; 172 regulator-max-microvolt = <3300000>; 173 regulator-state-mem { 174 regulator-on-in-suspend; 175 regulator-suspend-microvolt = <3300000>; 176 }; 177 }; 178 179 vdd10_lcd: LDO_REG6 { 180 regulator-name = "vdd10_lcd"; 181 regulator-always-on; 182 regulator-boot-on; 183 regulator-min-microvolt = <1000000>; 184 regulator-max-microvolt = <1000000>; 185 regulator-state-mem { 186 regulator-off-in-suspend; 187 }; 188 }; 189 190 vcc_18: LDO_REG7 { 191 regulator-name = "vcc_18"; 192 regulator-always-on; 193 regulator-boot-on; 194 regulator-min-microvolt = <1800000>; 195 regulator-max-microvolt = <1800000>; 196 regulator-state-mem { 197 regulator-on-in-suspend; 198 regulator-suspend-microvolt = <1800000>; 199 }; 200 }; 201 202 vcc18_lcd: LDO_REG8 { 203 regulator-name = "vcc18_lcd"; 204 regulator-always-on; 205 regulator-boot-on; 206 regulator-min-microvolt = <1800000>; 207 regulator-max-microvolt = <1800000>; 208 regulator-state-mem { 209 regulator-off-in-suspend; 210 }; 211 }; 212 213 vcc_sd: SWITCH_REG1 { 214 regulator-name = "vcc_sd"; 215 regulator-always-on; 216 regulator-boot-on; 217 regulator-state-mem { 218 regulator-off-in-suspend; 219 }; 220 }; 221 222 vcc_lcd: SWITCH_REG2 { 223 regulator-name = "vcc_lcd"; 224 regulator-always-on; 225 regulator-boot-on; 226 regulator-state-mem { 227 regulator-off-in-suspend; 228 }; 229 }; 230 }; 231 }; 232}; 233 234&i2c1 { 235 clock-frequency = <400000>; 236 status = "okay"; 237 238 hym8563: rtc@51 { 239 compatible = "haoyu,hym8563"; 240 reg = <0x51>; 241 interrupt-parent = <&gpio5>; 242 interrupts = <RK_PC3 IRQ_TYPE_LEVEL_LOW>; 243 #clock-cells = <0>; 244 clock-frequency = <32768>; 245 clock-output-names = "hym8563"; 246 pinctrl-names = "default"; 247 pinctrl-0 = <&hym8563_int>; 248 }; 249}; 250 251&i2c5 { 252 status = "okay"; 253}; 254 255&io_domains { 256 bb-supply = <&vcc_io>; 257 flash0-supply = <&vccio_flash>; 258 gpio1830-supply = <&vcc_18>; 259 gpio30-supply = <&vcc_io>; 260 sdcard-supply = <&vccio_sd>; 261 wifi-supply = <&vcc_wl>; 262 status = "okay"; 263}; 264 265&pinctrl { 266 hym8563 { 267 hym8563_int: hym8563-int { 268 rockchip,pins = <5 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>; 269 }; 270 }; 271 272 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 273 drive-strength = <8>; 274 }; 275 276 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 277 bias-pull-up; 278 drive-strength = <8>; 279 }; 280 281 pmic { 282 pmic_int: pmic-int { 283 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 284 }; 285 }; 286 287 sdio-pwrseq { 288 wifi_enable_h: wifi-enable-h { 289 rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 290 }; 291 }; 292 293 sdmmc { 294 sdmmc_bus4: sdmmc-bus4 { 295 rockchip,pins = 296 <6 RK_PC0 1 &pcfg_pull_up_drv_8ma>, 297 <6 RK_PC1 1 &pcfg_pull_up_drv_8ma>, 298 <6 RK_PC2 1 &pcfg_pull_up_drv_8ma>, 299 <6 RK_PC3 1 &pcfg_pull_up_drv_8ma>; 300 }; 301 302 sdmmc_clk: sdmmc-clk { 303 rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>; 304 }; 305 306 sdmmc_cmd: sdmmc-cmd { 307 rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>; 308 }; 309 }; 310 311 vbus_host { 312 usb1_en_oc: usb1-en-oc { 313 rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>; 314 }; 315 }; 316 317 vbus_typec { 318 usb0_en_oc: usb0-en-oc { 319 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 320 }; 321 }; 322}; 323 324&sdio_pwrseq { 325 /* 326 * On the module itself this is one of these (depending 327 * on the actual card populated): 328 * - SDIO_RESET_L_WL_REG_ON 329 * - PDN (power down when low) 330 */ 331 reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>; /* WIFI_REG_ON */ 332}; 333 334&usbphy { 335 status = "okay"; 336}; 337 338&usb_host0_ehci { 339 status = "okay"; 340}; 341 342&usb_host0_ohci { 343 status = "okay"; 344}; 345 346&usb_host1 { 347 status = "okay"; 348}; 349 350&usb_otg { 351 status = "okay"; 352}; 353 354&vbus_host { 355 enable-active-high; 356 gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */ 357}; 358 359&vbus_typec { 360 enable-active-high; 361 gpio = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */ 362};