0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002
0003 /dts-v1/;
0004
0005 #include <dt-bindings/input/input.h>
0006 #include "rk3229.dtsi"
0007
0008 / {
0009 model = "Mecer Xtreme Mini S6";
0010 compatible = "mecer,xms6", "rockchip,rk3229";
0011
0012 aliases {
0013 mmc0 = &sdmmc;
0014 mmc1 = &sdio;
0015 mmc2 = &emmc;
0016 };
0017
0018 memory@60000000 {
0019 device_type = "memory";
0020 reg = <0x60000000 0x40000000>;
0021 };
0022
0023 dc_12v: dc-12v-regulator {
0024 compatible = "regulator-fixed";
0025 regulator-name = "dc_12v";
0026 regulator-always-on;
0027 regulator-boot-on;
0028 regulator-min-microvolt = <12000000>;
0029 regulator-max-microvolt = <12000000>;
0030 };
0031
0032 ext_gmac: ext_gmac {
0033 compatible = "fixed-clock";
0034 clock-frequency = <125000000>;
0035 clock-output-names = "ext_gmac";
0036 #clock-cells = <0>;
0037 };
0038
0039 power-led {
0040 compatible = "gpio-leds";
0041
0042 blue_led: led-0 {
0043 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
0044 default-state = "on";
0045 };
0046 };
0047
0048 sdio_pwrseq: sdio-pwrseq {
0049 compatible = "mmc-pwrseq-simple";
0050 reset-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>,
0051 <&gpio2 29 GPIO_ACTIVE_LOW>;
0052 };
0053
0054 vcc_host: vcc-host-regulator {
0055 compatible = "regulator-fixed";
0056 enable-active-high;
0057 gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
0058 pinctrl-names = "default";
0059 pinctrl-0 = <&host_vbus_drv>;
0060 regulator-name = "vcc_host";
0061 regulator-always-on;
0062 regulator-boot-on;
0063 vin-supply = <&vcc_sys>;
0064 };
0065
0066 vcc_phy: vcc-phy-regulator {
0067 compatible = "regulator-fixed";
0068 enable-active-high;
0069 regulator-name = "vcc_phy";
0070 regulator-min-microvolt = <1800000>;
0071 regulator-max-microvolt = <1800000>;
0072 regulator-always-on;
0073 regulator-boot-on;
0074 vin-supply = <&vccio_1v8>;
0075 };
0076
0077 vcc_sys: vcc-sys-regulator {
0078 compatible = "regulator-fixed";
0079 regulator-name = "vcc_sys";
0080 regulator-always-on;
0081 regulator-boot-on;
0082 regulator-min-microvolt = <5000000>;
0083 regulator-max-microvolt = <5000000>;
0084 vin-supply = <&dc_12v>;
0085 };
0086
0087 vccio_1v8: vccio-1v8-regulator {
0088 compatible = "regulator-fixed";
0089 regulator-name = "vccio_1v8";
0090 regulator-min-microvolt = <1800000>;
0091 regulator-max-microvolt = <1800000>;
0092 regulator-always-on;
0093 vin-supply = <&vcc_sys>;
0094 };
0095
0096 vccio_3v3: vccio-3v3-regulator {
0097 compatible = "regulator-fixed";
0098 regulator-name = "vccio_3v3";
0099 regulator-min-microvolt = <3300000>;
0100 regulator-max-microvolt = <3300000>;
0101 regulator-always-on;
0102 vin-supply = <&vcc_sys>;
0103 };
0104
0105 vdd_arm: vdd-arm-regulator {
0106 compatible = "pwm-regulator";
0107 pwms = <&pwm1 0 25000 1>;
0108 pwm-supply = <&vcc_sys>;
0109 regulator-name = "vdd_arm";
0110 regulator-min-microvolt = <950000>;
0111 regulator-max-microvolt = <1400000>;
0112 regulator-always-on;
0113 regulator-boot-on;
0114 };
0115
0116 vdd_log: vdd-log-regulator {
0117 compatible = "pwm-regulator";
0118 pwms = <&pwm2 0 25000 1>;
0119 pwm-supply = <&vcc_sys>;
0120 regulator-name = "vdd_log";
0121 regulator-min-microvolt = <1000000>;
0122 regulator-max-microvolt = <1300000>;
0123 regulator-always-on;
0124 regulator-boot-on;
0125 };
0126 };
0127
0128 &cpu0 {
0129 cpu-supply = <&vdd_arm>;
0130 };
0131
0132 &cpu1 {
0133 cpu-supply = <&vdd_arm>;
0134 };
0135
0136 &cpu2 {
0137 cpu-supply = <&vdd_arm>;
0138 };
0139
0140 &cpu3 {
0141 cpu-supply = <&vdd_arm>;
0142 };
0143
0144 &emmc {
0145 cap-mmc-highspeed;
0146 non-removable;
0147 status = "okay";
0148 };
0149
0150 &gmac {
0151 assigned-clocks = <&cru SCLK_MAC_SRC>;
0152 assigned-clock-rates = <50000000>;
0153 clock_in_out = "output";
0154 phy-handle = <&phy>;
0155 phy-mode = "rmii";
0156 phy-supply = <&vcc_phy>;
0157 status = "okay";
0158
0159 mdio {
0160 compatible = "snps,dwmac-mdio";
0161 #address-cells = <1>;
0162 #size-cells = <0>;
0163
0164 phy: ethernet-phy@0 {
0165 compatible = "ethernet-phy-id1234.d400",
0166 "ethernet-phy-ieee802.3-c22";
0167 reg = <0>;
0168 clocks = <&cru SCLK_MAC_PHY>;
0169 phy-is-integrated;
0170 resets = <&cru SRST_MACPHY>;
0171 };
0172 };
0173 };
0174
0175 &gpu {
0176 mali-supply = <&vdd_log>;
0177 status = "okay";
0178 };
0179
0180 &hdmi {
0181 status = "okay";
0182 };
0183
0184 &hdmi_phy {
0185 status = "okay";
0186 };
0187
0188 &iep_mmu {
0189 status = "okay";
0190 };
0191
0192 &io_domains {
0193 status = "okay";
0194
0195 vccio1-supply = <&vccio_3v3>;
0196 vccio2-supply = <&vccio_1v8>;
0197 vccio4-supply = <&vccio_3v3>;
0198 };
0199
0200 &pinctrl {
0201 usb {
0202 host_vbus_drv: host-vbus-drv {
0203 rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
0204 };
0205 };
0206 };
0207
0208 &pwm1 {
0209 status = "okay";
0210 };
0211
0212 &pwm2 {
0213 status = "okay";
0214 };
0215
0216 &sdio {
0217 bus-width = <4>;
0218 cap-sd-highspeed;
0219 cap-sdio-irq;
0220 mmc-pwrseq = <&sdio_pwrseq>;
0221 non-removable;
0222 vqmmc-supply = <&vccio_1v8>;
0223 status = "okay";
0224 };
0225
0226 &sdmmc {
0227 cap-mmc-highspeed;
0228 disable-wp;
0229 status = "okay";
0230 };
0231
0232 &tsadc {
0233 rockchip,hw-tshut-mode = <0>;
0234 status = "okay";
0235 };
0236
0237 &u2phy0 {
0238 status = "okay";
0239
0240 u2phy0_host: host-port {
0241 phy-supply = <&vcc_host>;
0242 status = "okay";
0243 };
0244
0245 u2phy0_otg: otg-port {
0246 phy-supply = <&vcc_host>;
0247 status = "okay";
0248 };
0249 };
0250
0251 &u2phy1 {
0252 status = "okay";
0253
0254 u2phy1_host: host-port {
0255 phy-supply = <&vcc_host>;
0256 status = "okay";
0257 };
0258
0259 u2phy1_otg: otg-port {
0260 phy-supply = <&vcc_host>;
0261 status = "okay";
0262 };
0263 };
0264
0265 &uart2 {
0266 pinctrl-0 = <&uart21_xfer>;
0267 status = "okay";
0268 };
0269
0270 &usb_host0_ehci {
0271 status = "okay";
0272 };
0273
0274 &usb_host0_ohci {
0275 status = "okay";
0276 };
0277
0278 &usb_host1_ehci {
0279 status = "okay";
0280 };
0281
0282 &usb_host1_ohci {
0283 status = "okay";
0284 };
0285
0286 &usb_host2_ehci {
0287 status = "okay";
0288 };
0289
0290 &usb_host2_ohci {
0291 status = "okay";
0292 };
0293
0294 &usb_otg {
0295 status = "okay";
0296 };
0297
0298 &vop {
0299 status = "okay";
0300 };
0301
0302 &vop_mmu {
0303 status = "okay";
0304 };