0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002
0003 /dts-v1/;
0004 #include <dt-bindings/input/input.h>
0005 #include "rk3328.dtsi"
0006
0007 / {
0008 model = "A95X Z2";
0009 compatible = "zkmagic,a95x-z2", "rockchip,rk3318";
0010
0011 aliases {
0012 mmc0 = &sdmmc;
0013 mmc1 = &sdio;
0014 mmc2 = &emmc;
0015 };
0016
0017 chosen {
0018 stdout-path = "serial2:1500000n8";
0019 };
0020
0021 adc-keys {
0022 compatible = "adc-keys";
0023 io-channels = <&saradc 0>;
0024 io-channel-names = "buttons";
0025 keyup-threshold-microvolt = <1800000>;
0026 poll-interval = <100>;
0027
0028 recovery {
0029 label = "recovery";
0030 linux,code = <KEY_VENDOR>;
0031 press-threshold-microvolt = <17000>;
0032 };
0033 };
0034
0035 ir-receiver {
0036 compatible = "gpio-ir-receiver";
0037 gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
0038 pinctrl-0 = <&ir_int>;
0039 pinctrl-names = "default";
0040 };
0041
0042 leds {
0043 compatible = "gpio-leds";
0044 pinctrl-0 = <&cyx_led_pin>;
0045 pinctrl-names = "default";
0046
0047 cyx_led: led-0 {
0048 default-state = "on";
0049 gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_LOW>;
0050 label = "CYX_LED";
0051 };
0052 };
0053
0054 sdio_pwrseq: sdio-pwrseq {
0055 compatible = "mmc-pwrseq-simple";
0056 pinctrl-0 = <&wifi_enable_h>;
0057 pinctrl-names = "default";
0058 reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
0059 };
0060
0061 spdif-sound {
0062 compatible = "simple-audio-card";
0063 simple-audio-card,name = "SPDIF";
0064
0065 simple-audio-card,cpu {
0066 sound-dai = <&spdif>;
0067 };
0068
0069 simple-audio-card,codec {
0070 sound-dai = <&spdif_out>;
0071 };
0072 };
0073
0074 spdif_out: spdif-out {
0075 compatible = "linux,spdif-dit";
0076 #sound-dai-cells = <0>;
0077 };
0078
0079 /* Power tree */
0080 vccio_1v8: vccio-1v8-regulator {
0081 compatible = "regulator-fixed";
0082 regulator-name = "vccio_1v8";
0083 regulator-min-microvolt = <1800000>;
0084 regulator-max-microvolt = <1800000>;
0085 regulator-always-on;
0086 };
0087
0088 vccio_3v3: vccio-3v3-regulator {
0089 compatible = "regulator-fixed";
0090 regulator-name = "vccio_3v3";
0091 regulator-min-microvolt = <3300000>;
0092 regulator-max-microvolt = <3300000>;
0093 regulator-always-on;
0094 };
0095
0096 vcc_otg_vbus: otg-vbus-regulator {
0097 compatible = "regulator-fixed";
0098 gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
0099 pinctrl-0 = <&otg_vbus_drv>;
0100 pinctrl-names = "default";
0101 regulator-name = "vcc_otg_vbus";
0102 regulator-min-microvolt = <5000000>;
0103 regulator-max-microvolt = <5000000>;
0104 enable-active-high;
0105 };
0106
0107 vcc_sd: sdmmc-regulator {
0108 compatible = "regulator-fixed";
0109 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
0110 pinctrl-0 = <&sdmmc0m1_pin>;
0111 pinctrl-names = "default";
0112 regulator-name = "vcc_sd";
0113 regulator-min-microvolt = <3300000>;
0114 regulator-max-microvolt = <3300000>;
0115 vin-supply = <&vccio_3v3>;
0116 };
0117
0118 vdd_arm: vdd-arm {
0119 compatible = "pwm-regulator";
0120 pwms = <&pwm0 0 5000 1>;
0121 regulator-name = "vdd_arm";
0122 regulator-min-microvolt = <950000>;
0123 regulator-max-microvolt = <1400000>;
0124 regulator-settling-time-up-us = <250>;
0125 regulator-always-on;
0126 regulator-boot-on;
0127 };
0128
0129 vdd_log: vdd-log {
0130 compatible = "pwm-regulator";
0131 pwms = <&pwm1 0 5000 1>;
0132 regulator-name = "vdd_log";
0133 regulator-min-microvolt = <900000>;
0134 regulator-max-microvolt = <1300000>;
0135 regulator-settling-time-up-us = <250>;
0136 regulator-always-on;
0137 regulator-boot-on;
0138 };
0139 };
0140
0141 &analog_sound {
0142 status = "okay";
0143 };
0144
0145 &codec {
0146 status = "okay";
0147 };
0148
0149 &cpu0 {
0150 cpu-supply = <&vdd_arm>;
0151 };
0152
0153 &cpu1 {
0154 cpu-supply = <&vdd_arm>;
0155 };
0156
0157 &cpu2 {
0158 cpu-supply = <&vdd_arm>;
0159 };
0160
0161 &cpu3 {
0162 cpu-supply = <&vdd_arm>;
0163 };
0164
0165 &cpu0_opp_table {
0166 opp-1200000000 {
0167 status = "disabled";
0168 };
0169
0170 opp-1296000000 {
0171 status = "disabled";
0172 };
0173 };
0174
0175 &emmc {
0176 bus-width = <8>;
0177 cap-mmc-highspeed;
0178 non-removable;
0179 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
0180 pinctrl-names = "default";
0181 status = "okay";
0182 };
0183
0184 &gmac2phy {
0185 assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
0186 assigned-clock-rate = <50000000>;
0187 assigned-clocks = <&cru SCLK_MAC2PHY>;
0188 status = "okay";
0189 };
0190
0191 &gpu {
0192 mali-supply = <&vdd_log>;
0193 };
0194
0195 &hdmi {
0196 status = "okay";
0197 };
0198
0199 &hdmiphy {
0200 status = "okay";
0201 };
0202
0203 &hdmi_sound {
0204 status = "okay";
0205 };
0206
0207 &i2s0 {
0208 status = "okay";
0209 };
0210
0211 &i2s1 {
0212 status = "okay";
0213 };
0214
0215 &io_domains {
0216 pmuio-supply = <&vccio_3v3>;
0217 vccio1-supply = <&vccio_3v3>;
0218 vccio2-supply = <&vccio_1v8>;
0219 vccio3-supply = <&vccio_3v3>;
0220 vccio4-supply = <&vccio_1v8>;
0221 vccio5-supply = <&vccio_3v3>;
0222 vccio6-supply = <&vccio_3v3>;
0223 status = "okay";
0224 };
0225
0226 &pinctrl {
0227 ir {
0228 ir_int: ir-int {
0229 rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
0230 };
0231 };
0232
0233 leds {
0234 cyx_led_pin: cyx-led-pin {
0235 rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
0236 };
0237 };
0238
0239 pwm0 {
0240 pwm0_pin_pull_up: pwm0-pin-pull-up {
0241 rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
0242 };
0243 };
0244
0245 pwm1 {
0246 pwm1_pin_pull_up: pwm1-pin-pull-up {
0247 rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>;
0248 };
0249 };
0250
0251 sdio-pwrseq {
0252 wifi_enable_h: wifi-enable-h {
0253 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
0254 };
0255 };
0256
0257 sdmmc1 {
0258 clk_32k_out: clk-32k-out {
0259 rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
0260 };
0261 };
0262
0263 usb {
0264 host_vbus_drv: host-vbus-drv {
0265 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
0266 };
0267
0268 otg_vbus_drv: otg-vbus-drv {
0269 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
0270 };
0271 };
0272 };
0273
0274 &pwm0 {
0275 pinctrl-0 = <&pwm0_pin_pull_up>;
0276 pinctrl-names = "active";
0277 status = "okay";
0278 };
0279
0280 &pwm1 {
0281 pinctrl-0 = <&pwm1_pin_pull_up>;
0282 pinctrl-names = "active";
0283 status = "okay";
0284 };
0285
0286 &saradc {
0287 vref-supply = <&vccio_1v8>;
0288 status = "okay";
0289 };
0290
0291 &sdio {
0292 bus-width = <4>;
0293 cap-sd-highspeed;
0294 cap-sdio-irq;
0295 keep-power-in-suspend;
0296 max-frequency = <125000000>;
0297 mmc-pwrseq = <&sdio_pwrseq>;
0298 non-removable;
0299 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>;
0300 pinctrl-names = "default";
0301 sd-uhs-sdr104;
0302 status = "okay";
0303 };
0304
0305 &sdmmc {
0306 bus-width = <4>;
0307 cap-sd-highspeed;
0308 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
0309 pinctrl-names = "default";
0310 vmmc-supply = <&vcc_sd>;
0311 status = "okay";
0312 };
0313
0314 &spdif {
0315 pinctrl-0 = <&spdifm0_tx>;
0316 status = "okay";
0317 };
0318
0319 &soc_crit {
0320 temperature = <115000>; /* millicelsius */
0321 };
0322
0323 &target {
0324 temperature = <105000>; /* millicelsius */
0325 };
0326
0327 &threshold {
0328 temperature = <90000>; /* millicelsius */
0329 };
0330
0331 &tsadc {
0332 rockchip,hw-tshut-temp = <120000>;
0333 status = "okay";
0334 };
0335
0336 &u2phy {
0337 status = "okay";
0338 };
0339
0340 &u2phy_host {
0341 status = "okay";
0342 };
0343
0344 &u2phy_otg {
0345 phy-supply = <&vcc_otg_vbus>;
0346 status = "okay";
0347 };
0348
0349 &uart0 {
0350 pinctrl-0 = <&uart0_xfer &uart0_cts>;
0351 status = "okay";
0352 };
0353
0354 &uart2 {
0355 status = "okay";
0356 };
0357
0358 &usb20_otg {
0359 dr_mode = "host";
0360 status = "okay";
0361 };
0362
0363 &usbdrd3 {
0364 dr_mode = "host";
0365 status = "okay";
0366 };
0367
0368 &usb_host0_ehci {
0369 status = "okay";
0370 };
0371
0372 &usb_host0_ohci {
0373 status = "okay";
0374 };
0375
0376 &vop {
0377 status = "okay";
0378 };
0379
0380 &vop_mmu {
0381 status = "okay";
0382 };