0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2016 Matthias Brugger <mbrugger@suse.com>
0004 */
0005
0006 /dts-v1/;
0007 #include <dt-bindings/input/input.h>
0008 #include "rk3368.dtsi"
0009
0010 / {
0011 model = "Rockchip Orion R68";
0012 compatible = "tronsmart,orion-r68-meta", "rockchip,rk3368";
0013
0014 aliases {
0015 mmc0 = &sdmmc;
0016 mmc1 = &emmc;
0017 };
0018
0019 chosen {
0020 stdout-path = "serial2:115200n8";
0021 };
0022
0023 memory {
0024 device_type = "memory";
0025 reg = <0x0 0x0 0x0 0x80000000>;
0026 };
0027
0028 emmc_pwrseq: emmc-pwrseq {
0029 compatible = "mmc-pwrseq-emmc";
0030 pinctrl-0 = <&emmc_reset>;
0031 pinctrl-names = "default";
0032 reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
0033 };
0034
0035 ext_gmac: external-gmac-clock {
0036 compatible = "fixed-clock";
0037 #clock-cells = <0>;
0038 clock-frequency = <125000000>;
0039 clock-output-names = "ext_gmac";
0040 };
0041
0042 keys: gpio-keys {
0043 compatible = "gpio-keys";
0044 pinctrl-names = "default";
0045 pinctrl-0 = <&pwr_key>;
0046
0047 key-power {
0048 wakeup-source;
0049 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
0050 label = "GPIO Power";
0051 linux,code = <KEY_POWER>;
0052 };
0053 };
0054
0055 leds: gpio-leds {
0056 compatible = "gpio-leds";
0057
0058 red_led: led-0 {
0059 gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
0060 label = "orion:red:led";
0061 pinctrl-names = "default";
0062 pinctrl-0 = <&led_ctl>;
0063 default-state = "on";
0064 };
0065
0066 blue_led: led-1 {
0067 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
0068 label = "orion:blue:led";
0069 pinctrl-names = "default";
0070 pinctrl-0 = <&stby_pwren>;
0071 default-state = "off";
0072 };
0073 };
0074
0075 vcc_18: vcc18-regulator {
0076 compatible = "regulator-fixed";
0077 regulator-name = "vcc_18";
0078 regulator-min-microvolt = <1800000>;
0079 regulator-max-microvolt = <1800000>;
0080 regulator-always-on;
0081 regulator-boot-on;
0082 vin-supply = <&vcc_sys>;
0083 };
0084
0085 /* supplies both host and otg */
0086 vcc_host: vcc-host-regulator {
0087 compatible = "regulator-fixed";
0088 gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
0089 pinctrl-names = "default";
0090 pinctrl-0 = <&host_vbus_drv>;
0091 regulator-name = "vcc_host";
0092 regulator-always-on;
0093 regulator-boot-on;
0094 vin-supply = <&vcc_sys>;
0095 };
0096
0097 vcc_io: vcc-io-regulator {
0098 compatible = "regulator-fixed";
0099 regulator-name = "vcc_io";
0100 regulator-min-microvolt = <3300000>;
0101 regulator-max-microvolt = <3300000>;
0102 regulator-always-on;
0103 regulator-boot-on;
0104 vin-supply = <&vcc_sys>;
0105 };
0106
0107 vcc_lan: vcc-lan-regulator {
0108 compatible = "regulator-fixed";
0109 regulator-name = "vcc_lan";
0110 regulator-min-microvolt = <3300000>;
0111 regulator-max-microvolt = <3300000>;
0112 regulator-always-on;
0113 regulator-boot-on;
0114 vin-supply = <&vcc_io>;
0115 };
0116
0117 vcc_sd: vcc-sd-regulator {
0118 compatible = "regulator-fixed";
0119 regulator-name = "vcc_sd";
0120 gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
0121 regulator-min-microvolt = <1800000>;
0122 regulator-max-microvolt = <3300000>;
0123 vin-supply = <&vcc_io>;
0124 };
0125
0126 vcc_sys: vcc-sys-regulator {
0127 compatible = "regulator-fixed";
0128 regulator-name = "vcc_sys";
0129 regulator-min-microvolt = <5000000>;
0130 regulator-max-microvolt = <5000000>;
0131 regulator-always-on;
0132 regulator-boot-on;
0133 };
0134
0135 vccio_sd: vcc-io-sd-regulator {
0136 compatible = "regulator-fixed";
0137 regulator-name = "vccio_sd";
0138 regulator-min-microvolt = <1800000>;
0139 regulator-max-microvolt = <3300000>;
0140 regulator-always-on;
0141 regulator-boot-on;
0142 vin-supply = <&vcc_io>;
0143 };
0144
0145 vccio_wl: vccio-wl-regulator {
0146 compatible = "regulator-fixed";
0147 regulator-name = "vccio_wl";
0148 regulator-min-microvolt = <3300000>;
0149 regulator-max-microvolt = <3300000>;
0150 regulator-always-on;
0151 regulator-boot-on;
0152 vin-supply = <&vcc_io>;
0153 };
0154
0155 vdd_10: vdd-10-regulator {
0156 compatible = "regulator-fixed";
0157 regulator-name = "vdd_10";
0158 regulator-min-microvolt = <1000000>;
0159 regulator-max-microvolt = <1000000>;
0160 regulator-always-on;
0161 regulator-boot-on;
0162 vin-supply = <&vcc_sys>;
0163 };
0164 };
0165
0166 &emmc {
0167 bus-width = <8>;
0168 cap-mmc-highspeed;
0169 mmc-pwrseq = <&emmc_pwrseq>;
0170 mmc-hs200-1_2v;
0171 mmc-hs200-1_8v;
0172 non-removable;
0173 pinctrl-names = "default";
0174 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
0175 status = "okay";
0176 };
0177
0178 &gmac {
0179 assigned-clocks = <&cru SCLK_MAC>;
0180 assigned-clock-parents = <&ext_gmac>;
0181 clock_in_out = "input";
0182 phy-supply = <&vcc_lan>;
0183 phy-mode = "rgmii";
0184 pinctrl-names = "default";
0185 pinctrl-0 = <&rgmii_pins>;
0186 snps,reset-gpio = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>;
0187 snps,reset-active-low;
0188 snps,reset-delays-us = <0 10000 1000000>;
0189 tx_delay = <0x30>;
0190 rx_delay = <0x10>;
0191 status = "okay";
0192 };
0193
0194 &i2c0 {
0195 status = "okay";
0196
0197 vdd_cpu: syr827@40 {
0198 compatible = "silergy,syr827";
0199 reg = <0x40>;
0200 fcs,suspend-voltage-selector = <1>;
0201 regulator-name = "vdd_cpu";
0202 regulator-enable-ramp-delay = <300>;
0203 regulator-min-microvolt = <712500>;
0204 regulator-max-microvolt = <1500000>;
0205 regulator-ramp-delay = <8000>;
0206 regulator-always-on;
0207 regulator-boot-on;
0208 vin-supply = <&vcc_sys>;
0209 };
0210
0211 hym8563: hym8563@51 {
0212 compatible = "haoyu,hym8563";
0213 reg = <0x51>;
0214 #clock-cells = <0>;
0215 clock-frequency = <32768>;
0216 clock-output-names = "xin32k";
0217 /* rtc_int is not connected */
0218 };
0219 };
0220
0221 &pinctrl {
0222 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
0223 bias-disable;
0224 drive-strength = <8>;
0225 };
0226
0227 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
0228 bias-pull-up;
0229 drive-strength = <8>;
0230 };
0231
0232 emmc {
0233 emmc_bus8: emmc-bus8 {
0234 rockchip,pins = <1 RK_PC2 2 &pcfg_pull_up_drv_8ma>,
0235 <1 RK_PC3 2 &pcfg_pull_up_drv_8ma>,
0236 <1 RK_PC4 2 &pcfg_pull_up_drv_8ma>,
0237 <1 RK_PC5 2 &pcfg_pull_up_drv_8ma>,
0238 <1 RK_PC6 2 &pcfg_pull_up_drv_8ma>,
0239 <1 RK_PC7 2 &pcfg_pull_up_drv_8ma>,
0240 <1 RK_PD0 2 &pcfg_pull_up_drv_8ma>,
0241 <1 RK_PD1 2 &pcfg_pull_up_drv_8ma>;
0242 };
0243
0244 emmc-clk {
0245 rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none_drv_8ma>;
0246 };
0247
0248 emmc-cmd {
0249 rockchip,pins = <1 RK_PD2 2 &pcfg_pull_up_drv_8ma>;
0250 };
0251
0252 emmc_reset: emmc-reset {
0253 rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
0254 };
0255 };
0256
0257 keys {
0258 pwr_key: pwr-key {
0259 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_down>;
0260 };
0261 };
0262
0263 leds {
0264 stby_pwren: stby-pwren {
0265 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
0266 };
0267
0268 led_ctl: led-ctl {
0269 rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
0270 };
0271 };
0272
0273 sdmmc {
0274 sdmmc_clk: sdmmc-clk {
0275 rockchip,pins = <2 RK_PB1 1 &pcfg_pull_none_drv_8ma>;
0276 };
0277
0278 sdmmc_cmd: sdmmc-cmd {
0279 rockchip,pins = <2 RK_PB2 1 &pcfg_pull_up_drv_8ma>;
0280 };
0281
0282 sdmmc_cd: sdmmc-cd {
0283 rockchip,pins = <2 RK_PB3 1 &pcfg_pull_up_drv_8ma>;
0284 };
0285
0286 sdmmc_bus1: sdmmc-bus1 {
0287 rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up_drv_8ma>;
0288 };
0289
0290 sdmmc_bus4: sdmmc-bus4 {
0291 rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up_drv_8ma>,
0292 <2 RK_PA6 1 &pcfg_pull_up_drv_8ma>,
0293 <2 RK_PA7 1 &pcfg_pull_up_drv_8ma>,
0294 <2 RK_PB0 1 &pcfg_pull_up_drv_8ma>;
0295 };
0296 };
0297
0298 usb {
0299 host_vbus_drv: host-vbus-drv {
0300 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
0301 };
0302 };
0303 };
0304
0305 &saradc {
0306 vref-supply = <&vcc_18>;
0307 status = "okay";
0308 };
0309
0310 &sdmmc {
0311 bus-width = <4>;
0312 clock-frequency = <50000000>;
0313 max-frequency = <50000000>;
0314 cap-sd-highspeed;
0315 card-detect-delay = <200>;
0316 pinctrl-names = "default";
0317 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
0318 vmmc-supply = <&vcc_sd>;
0319 vqmmc-supply = <&vccio_sd>;
0320 status = "okay";
0321 };
0322
0323 &uart2 {
0324 status = "okay";
0325 };
0326
0327 &uart4 {
0328 pinctrl-names = "default";
0329 pinctrl-0 = <&uart4_xfer>;
0330 status = "okay";
0331 };
0332
0333 &usb_host0_ehci {
0334 status = "okay";
0335 };
0336
0337 &usb_otg {
0338 status = "okay";
0339 };
0340
0341 &wdt {
0342 status = "okay";
0343 };