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&i2c5 { 235 status = "okay"; 236}; 237 238&pinctrl { 239 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 240 drive-strength = <8>; 241 }; 242 243 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 244 bias-pull-up; 245 drive-strength = <8>; 246 }; 247 248 pmic { 249 pmic_int: pmic-int { 250 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 251 }; 252 }; 253 254 sdmmc { 255 sdmmc_bus4: sdmmc-bus4 { 256 rockchip,pins = 257 <6 RK_PC0 1 &pcfg_pull_up_drv_8ma>, 258 <6 RK_PC1 1 &pcfg_pull_up_drv_8ma>, 259 <6 RK_PC2 1 &pcfg_pull_up_drv_8ma>, 260 <6 RK_PC3 1 &pcfg_pull_up_drv_8ma>; 261 }; 262 263 sdmmc_clk: sdmmc-clk { 264 rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>; 265 }; 266 267 sdmmc_cmd: sdmmc-cmd { 268 rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>; 269 }; 270 }; 271 272 vbus_host { 273 usb1_en_oc: usb1-en-oc { 274 rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>; 275 }; 276 }; 277 278 vbus_typec { 279 usb0_en_oc: usb0-en-oc { 280 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 281 }; 282 }; 283}; 284 285&usbphy { 286 status = "okay"; 287}; 288 289&usb_host0_ehci { 290 status = "okay"; 291}; 292 293&usb_host0_ohci { 294 status = "okay"; 295}; 296 297&usb_host1 { 298 status = "okay"; 299}; 300 301&usb_otg { 302 status = "okay"; 303}; 304 305&vbus_host { 306 enable-active-high; 307 gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */ 308}; 309 310&vbus_typec { 311 enable-active-high; 312 gpio = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */ 313}; 314