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		serial0 = &uart0;
19	};
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	reg_vcc5v: vcc5v {
26		/* board wide 5V supply directly from the DC input */
27		compatible = "regulator-fixed";
28		regulator-name = "vcc-5v";
29		regulator-min-microvolt = <5000000>;
30		regulator-max-microvolt = <5000000>;
31		regulator-always-on;
32	};
33
34	reg_vcc3v3: vcc3v3 {
35		/* discrete 3.3V regulator */
36		compatible = "regulator-fixed";
37		regulator-name = "vcc-3v3";
38		regulator-min-microvolt = <3300000>;
39		regulator-max-microvolt = <3300000>;
40		regulator-always-on;
41	};
42};
43
44&ehci0 {
45	status = "okay";
46};
47
48&ehci1 {
49	status = "okay";
50};
51
52&ir {
53	status = "okay";
54};
55
56&mmc0 {
57	vmmc-supply = <&reg_dldo1>;
58	cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>;	/* PI16 */
59	bus-width = <4>;
60	status = "okay";
61};
62
63&mmc2 {
64	vmmc-supply = <&reg_dldo1>;
65	vqmmc-supply = <&reg_aldo1>;
66	bus-width = <8>;
67	non-removable;
68	cap-mmc-hw-reset;
69	mmc-ddr-1_8v;
70	mmc-hs200-1_8v;
71	status = "okay";
72};
73
74&ohci0 {
75	status = "okay";
76};
77
78&ohci1 {
79	status = "okay";
80};
81
82&r_i2c {
83	status = "okay";
84
85	axp313: pmic@36 {
86		compatible = "x-powers,axp313a";
87		reg = <0x36>;
88		#interrupt-cells = <1>;
89		interrupt-controller;
90
91		vin1-supply = <&reg_vcc5v>;
92		vin2-supply = <&reg_vcc5v>;
93		vin3-supply = <&reg_vcc5v>;
94
95		regulators {
96			reg_aldo1: aldo1 {
97				regulator-always-on;
98				regulator-min-microvolt = <1800000>;
99				regulator-max-microvolt = <1800000>;
100				regulator-name = "vcc-1v8-pll";
101			};
102
103			reg_dldo1: dldo1 {
104				regulator-always-on;
105				regulator-min-microvolt = <3300000>;
106				regulator-max-microvolt = <3300000>;
107				regulator-name = "vcc-3v3-io-mmc";
108			};
109
110			reg_dcdc1: dcdc1 {
111				regulator-always-on;
112				regulator-min-microvolt = <810000>;
113				regulator-max-microvolt = <990000>;
114				regulator-name = "vdd-gpu-sys";
115			};
116
117			reg_dcdc2: dcdc2 {
118				regulator-always-on;
119				regulator-min-microvolt = <810000>;
120				regulator-max-microvolt = <1100000>;
121				regulator-name = "vdd-cpu";
122			};
123
124			reg_dcdc3: dcdc3 {
125				regulator-always-on;
126				regulator-min-microvolt = <1360000>;
127				regulator-max-microvolt = <1360000>;
128				regulator-name = "vdd-dram";
129			};
130		};
131	};
132};
133
134&pio {
135	vcc-pc-supply = <&reg_aldo1>;
136	vcc-pg-supply = <&reg_dldo1>;
137	vcc-ph-supply = <&reg_dldo1>;
138	vcc-pi-supply = <&reg_dldo1>;
139};
140
141&uart0 {
142	pinctrl-names = "default";
143	pinctrl-0 = <&uart0_ph_pins>;
144	status = "okay";
145};
146
147&uart1 {
148	pinctrl-names = "default";
149	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
150	uart-has-rtscts;
151	status = "okay";
152};
153
154&usbotg {
155	dr_mode = "host";	/* USB A type receptable */
156	status = "okay";
157};
158
159&usbphy {
160	status = "okay";
161};
162