0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de>
0004 */
0005
0006 /dts-v1/;
0007 #include <dt-bindings/input/input.h>
0008 #include <dt-bindings/pwm/pwm.h>
0009 #include "rk3288.dtsi"
0010
0011 / {
0012 model = "Netxeon R89";
0013 compatible = "netxeon,r89", "rockchip,rk3288";
0014
0015 memory@0 {
0016 device_type = "memory";
0017 reg = <0x0 0x0 0x0 0x80000000>;
0018 };
0019
0020 ext_gmac: external-gmac-clock {
0021 compatible = "fixed-clock";
0022 clock-frequency = <125000000>;
0023 clock-output-names = "ext_gmac";
0024 #clock-cells = <0>;
0025 };
0026
0027 gpio-keys {
0028 compatible = "gpio-keys";
0029 autorepeat;
0030
0031 pinctrl-names = "default";
0032 pinctrl-0 = <&pwrbtn>;
0033
0034 key-power {
0035 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
0036 linux,code = <KEY_POWER>;
0037 label = "GPIO Key Power";
0038 linux,input-type = <1>;
0039 wakeup-source;
0040 debounce-interval = <100>;
0041 };
0042 };
0043
0044 ir: ir-receiver {
0045 compatible = "gpio-ir-receiver";
0046 gpios = <&gpio7 RK_PA0 GPIO_ACTIVE_LOW>;
0047 pinctrl-names = "default";
0048 pinctrl-0 = <&ir_int>;
0049 };
0050
0051 vcc_host: vcc-host-regulator {
0052 compatible = "regulator-fixed";
0053 enable-active-high;
0054 gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
0055 pinctrl-names = "default";
0056 pinctrl-0 = <&host_vbus_drv>;
0057 regulator-name = "vcc_host";
0058 regulator-always-on;
0059 regulator-boot-on;
0060 };
0061
0062 vcc_otg: vcc-otg-regulator {
0063 compatible = "regulator-fixed";
0064 enable-active-high;
0065 gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
0066 pinctrl-names = "default";
0067 pinctrl-0 = <&otg_vbus_drv>;
0068 regulator-name = "vcc_otg";
0069 regulator-always-on;
0070 regulator-boot-on;
0071 };
0072
0073 vcc_sdmmc: sdmmc-regulator {
0074 compatible = "regulator-fixed";
0075 regulator-name = "sdmmc-supply";
0076 regulator-min-microvolt = <3300000>;
0077 regulator-max-microvolt = <3300000>;
0078 gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
0079 startup-delay-us = <100000>;
0080 vin-supply = <&vcc_io>;
0081 };
0082
0083 vcc_sys: sys-regulator {
0084 compatible = "regulator-fixed";
0085 regulator-name = "sys-supply";
0086 regulator-min-microvolt = <5000000>;
0087 regulator-max-microvolt = <5000000>;
0088 regulator-always-on;
0089 regulator-boot-on;
0090 };
0091 };
0092
0093 &cpu0 {
0094 cpu-supply = <&vdd_cpu>;
0095 };
0096
0097 &cpu1 {
0098 cpu-supply = <&vdd_cpu>;
0099 };
0100
0101 &cpu2 {
0102 cpu-supply = <&vdd_cpu>;
0103 };
0104
0105 &cpu3 {
0106 cpu-supply = <&vdd_cpu>;
0107 };
0108
0109 &gmac {
0110 phy-supply = <&vcc_lan>;
0111 phy-mode = "rgmii";
0112 clock_in_out = "input";
0113 snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
0114 snps,reset-active-low;
0115 snps,reset-delays-us = <0 10000 1000000>;
0116 assigned-clocks = <&cru SCLK_MAC>;
0117 assigned-clock-parents = <&ext_gmac>;
0118 pinctrl-names = "default";
0119 pinctrl-0 = <&rgmii_pins>;
0120 tx_delay = <0x30>;
0121 rx_delay = <0x10>;
0122 status = "okay";
0123 };
0124
0125 &hdmi {
0126 status = "okay";
0127 };
0128
0129 &i2c0 {
0130 status = "okay";
0131
0132 vdd_cpu: pmic@40 {
0133 compatible = "silergy,syr827";
0134 reg = <0x40>;
0135 fcs,suspend-voltage-selector = <1>;
0136 regulator-name = "VDD_CPU";
0137 regulator-enable-ramp-delay = <300>;
0138 regulator-min-microvolt = <850000>;
0139 regulator-max-microvolt = <1350000>;
0140 regulator-ramp-delay = <8000>;
0141 regulator-always-on;
0142 regulator-boot-on;
0143 vin-supply = <&vcc_sys>;
0144 };
0145
0146 vdd_gpu: pmic@41 {
0147 compatible = "silergy,syr828";
0148 reg = <0x41>;
0149 fcs,suspend-voltage-selector = <1>;
0150 regulator-name = "VDD_GPU";
0151 regulator-enable-ramp-delay = <300>;
0152 regulator-min-microvolt = <850000>;
0153 regulator-max-microvolt = <1350000>;
0154 regulator-ramp-delay = <8000>;
0155 regulator-always-on;
0156 regulator-boot-on;
0157 vin-supply = <&vcc_sys>;
0158 };
0159
0160 rtc@51 {
0161 compatible = "haoyu,hym8563";
0162 reg = <0x51>;
0163 #clock-cells = <0>;
0164 clock-output-names = "xin32k";
0165 interrupt-parent = <&gpio0>;
0166 interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
0167 pinctrl-names = "default";
0168 pinctrl-0 = <&pmic_int>;
0169 };
0170
0171 act8846: pmic@5a {
0172 compatible = "active-semi,act8846";
0173 reg = <0x5a>;
0174 pinctrl-names = "default";
0175 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
0176 system-power-controller;
0177
0178 regulators {
0179 vcc_ddr: REG1 {
0180 regulator-name = "VCC_DDR";
0181 regulator-min-microvolt = <1200000>;
0182 regulator-max-microvolt = <1200000>;
0183 regulator-always-on;
0184 };
0185
0186 vcc_io: REG2 {
0187 regulator-name = "VCC_IO";
0188 regulator-min-microvolt = <3300000>;
0189 regulator-max-microvolt = <3300000>;
0190 regulator-always-on;
0191 };
0192
0193 vdd_log: REG3 {
0194 regulator-name = "VDD_LOG";
0195 regulator-min-microvolt = <1000000>;
0196 regulator-max-microvolt = <1000000>;
0197 regulator-always-on;
0198 };
0199
0200 vcc_20: REG4 {
0201 regulator-name = "VCC_20";
0202 regulator-min-microvolt = <2000000>;
0203 regulator-max-microvolt = <2000000>;
0204 regulator-always-on;
0205 };
0206
0207 vccio_sd: REG5 {
0208 regulator-name = "VCCIO_SD";
0209 regulator-min-microvolt = <3300000>;
0210 regulator-max-microvolt = <3300000>;
0211 regulator-always-on;
0212 };
0213
0214 vdd10_lcd: REG6 {
0215 regulator-name = "VDD10_LCD";
0216 regulator-min-microvolt = <1000000>;
0217 regulator-max-microvolt = <1000000>;
0218 regulator-always-on;
0219 };
0220
0221 vcc_wl: REG7 {
0222 regulator-name = "VCC_WL";
0223 regulator-min-microvolt = <3300000>;
0224 regulator-max-microvolt = <3300000>;
0225 regulator-always-on;
0226 };
0227
0228 vcca_33: REG8 {
0229 regulator-name = "VCCA_33";
0230 regulator-min-microvolt = <3300000>;
0231 regulator-max-microvolt = <3300000>;
0232 regulator-always-on;
0233 };
0234
0235 vcc_lan: REG9 {
0236 regulator-name = "VCC_LAN";
0237 regulator-min-microvolt = <3300000>;
0238 regulator-max-microvolt = <3300000>;
0239 regulator-always-on;
0240 };
0241
0242 vdd_10: REG10 {
0243 regulator-name = "VDD_10";
0244 regulator-min-microvolt = <1000000>;
0245 regulator-max-microvolt = <1000000>;
0246 regulator-always-on;
0247 };
0248
0249 vcc_18: REG11 {
0250 regulator-name = "VCC_18";
0251 regulator-min-microvolt = <1800000>;
0252 regulator-max-microvolt = <1800000>;
0253 regulator-always-on;
0254 };
0255
0256 vcc18_lcd: REG12 {
0257 regulator-name = "VCC18_LCD";
0258 regulator-min-microvolt = <1800000>;
0259 regulator-max-microvolt = <1800000>;
0260 regulator-always-on;
0261 };
0262 };
0263 };
0264 };
0265
0266 &i2c5 {
0267 status = "okay";
0268 };
0269
0270 &pinctrl {
0271 pcfg_output_high: pcfg-output-high {
0272 output-high;
0273 };
0274
0275 pcfg_output_low: pcfg-output-low {
0276 output-low;
0277 };
0278
0279 act8846 {
0280 pmic_vsel: pmic-vsel {
0281 rockchip,pins = <7 RK_PA1 RK_FUNC_GPIO &pcfg_output_low>;
0282 };
0283
0284 pwr_hold: pwr-hold {
0285 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_output_high>;
0286 };
0287 };
0288
0289 buttons {
0290 pwrbtn: pwrbtn {
0291 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
0292 };
0293 };
0294
0295 ir {
0296 ir_int: ir-int {
0297 rockchip,pins = <7 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
0298 };
0299 };
0300
0301 pmic {
0302 pmic_int: pmic-int {
0303 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
0304 };
0305 };
0306
0307 usb {
0308 host_vbus_drv: host-vbus-drv {
0309 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
0310 };
0311
0312 otg_vbus_drv: otg-vbus-drv {
0313 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
0314 };
0315 };
0316 };
0317
0318 &pwm0 {
0319 status = "okay";
0320 };
0321
0322 &saradc {
0323 vref-supply = <&vcc_18>;
0324 status = "okay";
0325 };
0326
0327 &sdmmc {
0328 bus-width = <4>;
0329 cap-mmc-highspeed;
0330 cap-sd-highspeed;
0331 card-detect-delay = <200>;
0332 disable-wp;
0333 pinctrl-names = "default";
0334 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
0335 vmmc-supply = <&vcc_sdmmc>;
0336 vqmmc-supply = <&vccio_sd>;
0337 status = "okay";
0338 };
0339
0340 &tsadc {
0341 rockchip,hw-tshut-mode = <0>;
0342 rockchip,hw-tshut-polarity = <0>;
0343 status = "okay";
0344 };
0345
0346 &uart0 {
0347 status = "okay";
0348 };
0349
0350 &uart1 {
0351 status = "okay";
0352 };
0353
0354 &uart2 {
0355 status = "okay";
0356 };
0357
0358 &uart3 {
0359 status = "okay";
0360 };
0361
0362 &uart4 {
0363 status = "okay";
0364 };
0365
0366 &usb_host0_ehci {
0367 status = "okay";
0368 };
0369
0370 &usb_host1 {
0371 status = "okay";
0372 };
0373
0374 &usb_otg {
0375 status = "okay";
0376 };
0377
0378 &usbphy {
0379 status = "okay";
0380 };
0381
0382 &vopb {
0383 status = "okay";
0384 };
0385
0386 &vopb_mmu {
0387 status = "okay";
0388 };
0389
0390 &vopl {
0391 status = "okay";
0392 };
0393
0394 &vopl_mmu {
0395 status = "okay";
0396 };
0397
0398 &wdt {
0399 status = "okay";
0400 };