blob: d6631bfe629fa3b602fe1ec4ce08cc48f383e65c [file] [log] [blame]
Andre Przywarab5d4c832024-01-21 00:06:00 +00001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2023 Arm Ltd.
4 */
5
6/dts-v1/;
7
8#include "sun50i-h616.dtsi"
Andre Przywara3b798212024-04-19 17:59:52 +01009#include "sun50i-h616-cpu-opp.dtsi"
Andre Przywarab5d4c832024-01-21 00:06:00 +000010
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13
14/ {
15 model = "Transpeed 8K618-T";
16 compatible = "transpeed,8k618-t", "allwinner,sun50i-h618";
17
18 aliases {
Andre Przywarac2a441c2024-04-19 17:59:52 +010019 ethernet1 = &sdio_wifi;
Andre Przywarab5d4c832024-01-21 00:06:00 +000020 serial0 = &uart0;
21 };
22
23 chosen {
24 stdout-path = "serial0:115200n8";
25 };
26
27 reg_vcc5v: vcc5v {
28 /* board wide 5V supply directly from the DC input */
29 compatible = "regulator-fixed";
30 regulator-name = "vcc-5v";
31 regulator-min-microvolt = <5000000>;
32 regulator-max-microvolt = <5000000>;
33 regulator-always-on;
34 };
35
36 reg_vcc3v3: vcc3v3 {
37 /* discrete 3.3V regulator */
38 compatible = "regulator-fixed";
39 regulator-name = "vcc-3v3";
40 regulator-min-microvolt = <3300000>;
41 regulator-max-microvolt = <3300000>;
42 regulator-always-on;
43 };
Andre Przywarac2a441c2024-04-19 17:59:52 +010044
Andre Przywara3b798212024-04-19 17:59:52 +010045 wifi_pwrseq: pwrseq {
Andre Przywarac2a441c2024-04-19 17:59:52 +010046 compatible = "mmc-pwrseq-simple";
47 clocks = <&rtc CLK_OSC32K_FANOUT>;
48 clock-names = "ext_clock";
49 pinctrl-0 = <&x32clk_fanout_pin>;
50 pinctrl-names = "default";
51 reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */
52 };
Andre Przywarab5d4c832024-01-21 00:06:00 +000053};
54
Andre Przywara3b798212024-04-19 17:59:52 +010055&cpu0 {
56 cpu-supply = <&reg_dcdc2>;
57};
58
Andre Przywarab5d4c832024-01-21 00:06:00 +000059&ehci0 {
60 status = "okay";
61};
62
63&ehci1 {
64 status = "okay";
65};
66
67&ir {
68 status = "okay";
69};
70
71&mmc0 {
72 vmmc-supply = <&reg_dldo1>;
73 cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
74 bus-width = <4>;
75 status = "okay";
76};
77
Andre Przywarac2a441c2024-04-19 17:59:52 +010078&mmc1 {
79 vmmc-supply = <&reg_dldo1>;
80 vqmmc-supply = <&reg_aldo1>;
81 mmc-pwrseq = <&wifi_pwrseq>;
82 bus-width = <4>;
83 non-removable;
84 status = "okay";
85
86 sdio_wifi: wifi@1 {
87 reg = <1>;
88 };
89};
90
Andre Przywarab5d4c832024-01-21 00:06:00 +000091&mmc2 {
92 vmmc-supply = <&reg_dldo1>;
93 vqmmc-supply = <&reg_aldo1>;
94 bus-width = <8>;
95 non-removable;
96 cap-mmc-hw-reset;
97 mmc-ddr-1_8v;
98 mmc-hs200-1_8v;
99 status = "okay";
100};
101
102&ohci0 {
103 status = "okay";
104};
105
106&ohci1 {
107 status = "okay";
108};
109
110&r_i2c {
111 status = "okay";
112
113 axp313: pmic@36 {
114 compatible = "x-powers,axp313a";
115 reg = <0x36>;
116 #interrupt-cells = <1>;
117 interrupt-controller;
118
119 vin1-supply = <&reg_vcc5v>;
120 vin2-supply = <&reg_vcc5v>;
121 vin3-supply = <&reg_vcc5v>;
122
123 regulators {
124 reg_aldo1: aldo1 {
125 regulator-always-on;
126 regulator-min-microvolt = <1800000>;
127 regulator-max-microvolt = <1800000>;
128 regulator-name = "vcc-1v8-pll";
129 };
130
131 reg_dldo1: dldo1 {
132 regulator-always-on;
133 regulator-min-microvolt = <3300000>;
134 regulator-max-microvolt = <3300000>;
135 regulator-name = "vcc-3v3-io-mmc";
136 };
137
138 reg_dcdc1: dcdc1 {
139 regulator-always-on;
140 regulator-min-microvolt = <810000>;
141 regulator-max-microvolt = <990000>;
142 regulator-name = "vdd-gpu-sys";
143 };
144
145 reg_dcdc2: dcdc2 {
146 regulator-always-on;
147 regulator-min-microvolt = <810000>;
148 regulator-max-microvolt = <1100000>;
149 regulator-name = "vdd-cpu";
150 };
151
152 reg_dcdc3: dcdc3 {
153 regulator-always-on;
154 regulator-min-microvolt = <1360000>;
155 regulator-max-microvolt = <1360000>;
156 regulator-name = "vdd-dram";
157 };
158 };
159 };
160};
161
162&pio {
163 vcc-pc-supply = <&reg_aldo1>;
164 vcc-pg-supply = <&reg_dldo1>;
165 vcc-ph-supply = <&reg_dldo1>;
166 vcc-pi-supply = <&reg_dldo1>;
167};
168
169&uart0 {
170 pinctrl-names = "default";
171 pinctrl-0 = <&uart0_ph_pins>;
172 status = "okay";
173};
174
175&uart1 {
176 pinctrl-names = "default";
177 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
178 uart-has-rtscts;
179 status = "okay";
180};
181
182&usbotg {
183 dr_mode = "host"; /* USB A type receptable */
184 status = "okay";
185};
186
187&usbphy {
188 status = "okay";
189};