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