blob: 3628f12d2521ed8b925d4b0f6d9a1dcdbe7ef393 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2020 Pascal Roeleven <dev@pascalroeleven.nl>
4 */
5
6/dts-v1/;
7#include "sun4i-a10.dtsi"
8#include "sunxi-common-regulators.dtsi"
9
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/pwm/pwm.h>
14
15/ {
16 model = "Topwise A721";
17 compatible = "topwise,a721", "allwinner,sun4i-a10";
18
19 aliases {
20 serial0 = &uart0;
21 };
22
23 backlight: backlight {
24 compatible = "pwm-backlight";
25 pwms = <&pwm 0 100000 PWM_POLARITY_INVERTED>;
26 power-supply = <&reg_vbat>;
27 enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
28 brightness-levels = <0 30 40 50 60 70 80 90 100>;
29 default-brightness-level = <8>;
30 };
31
32 chosen {
33 stdout-path = "serial0:115200n8";
34 };
35
36 panel {
37 compatible = "starry,kr070pe2t";
38 backlight = <&backlight>;
39 power-supply = <&reg_lcd_power>;
40
41 port {
42 panel_input: endpoint {
43 remote-endpoint = <&tcon0_out_panel>;
44 };
45 };
46 };
47
48 reg_lcd_power: reg-lcd-power {
49 compatible = "regulator-fixed";
50 regulator-name = "reg-lcd-power";
51 gpio = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
52 enable-active-high;
53 };
54
55 reg_vbat: reg-vbat {
56 compatible = "regulator-fixed";
57 regulator-name = "vbat";
58 regulator-min-microvolt = <3700000>;
59 regulator-max-microvolt = <3700000>;
60 };
61
62};
63
64&codec {
65 status = "okay";
66};
67
68&cpu0 {
69 cpu-supply = <&reg_dcdc2>;
70};
71
72&de {
73 status = "okay";
74};
75
76&ehci0 {
77 status = "okay";
78};
79
80&ehci1 {
81 status = "okay";
82};
83
84&i2c0 {
85 status = "okay";
86
87 axp209: pmic@34 {
88 reg = <0x34>;
89 interrupts = <0>;
90 };
91};
92
93#include "axp209.dtsi"
94
95&ac_power_supply {
96 status = "okay";
97};
98
99&battery_power_supply {
100 status = "okay";
101};
102
103&i2c1 {
104 status = "okay";
105
106 accelerometer@4c {
107 compatible = "fsl,mma7660";
108 reg = <0x4c>;
109 };
110};
111
112&i2c2 {
113 status = "okay";
114
115 touchscreen@38 {
116 compatible = "edt,edt-ft5406";
117 reg = <0x38>;
118 interrupt-parent = <&pio>;
119 interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>;
120 touchscreen-size-x = <800>;
121 touchscreen-size-y = <480>;
122 vcc-supply = <&reg_vcc3v3>;
123 };
124};
125
126&lradc {
127 vref-supply = <&reg_ldo2>;
128 status = "okay";
129
130 button-571 {
131 label = "Volume Up";
132 linux,code = <KEY_VOLUMEUP>;
133 channel = <0>;
134 voltage = <571428>;
135 };
136
137 button-761 {
138 label = "Volume Down";
139 linux,code = <KEY_VOLUMEDOWN>;
140 channel = <0>;
141 voltage = <761904>;
142 };
143};
144
145&mmc0 {
146 vmmc-supply = <&reg_vcc3v3>;
147 bus-width = <4>;
148 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH01 */
149 status = "okay";
150};
151
152&ohci0 {
153 status = "okay";
154};
155
156&ohci1 {
157 status = "okay";
158};
159
160&otg_sram {
161 status = "okay";
162};
163
164&pio {
165 vcc-pb-supply = <&reg_vcc3v3>;
166 vcc-pf-supply = <&reg_vcc3v3>;
167 vcc-ph-supply = <&reg_vcc3v3>;
168};
169
170&pwm {
171 pinctrl-names = "default";
172 pinctrl-0 = <&pwm0_pin>;
173 status = "okay";
174};
175
176&reg_dcdc2 {
177 regulator-always-on;
178 regulator-min-microvolt = <1000000>;
179 regulator-max-microvolt = <1400000>;
180 regulator-name = "vdd-cpu";
181};
182
183&reg_dcdc3 {
184 regulator-always-on;
185 regulator-min-microvolt = <1250000>;
186 regulator-max-microvolt = <1250000>;
187 regulator-name = "vdd-int-dll";
188};
189
190&reg_ldo1 {
191 regulator-name = "vdd-rtc";
192};
193
194&reg_ldo2 {
195 regulator-always-on;
196 regulator-min-microvolt = <3000000>;
197 regulator-max-microvolt = <3000000>;
198 regulator-name = "avcc";
199};
200
201&reg_usb0_vbus {
202 status = "okay";
203};
204
205&reg_usb1_vbus {
206 status = "okay";
207};
208
209&reg_usb2_vbus {
210 status = "okay";
211};
212
213&tcon0_out {
214 tcon0_out_panel: endpoint@0 {
215 reg = <0>;
216 remote-endpoint = <&panel_input>;
217 };
218};
219
220&uart0 {
221 pinctrl-names = "default";
222 pinctrl-0 = <&uart0_pb_pins>;
223 status = "okay";
224};
225
226&usb_otg {
227 dr_mode = "otg";
228 status = "okay";
229};
230
231&usb_power_supply {
232 status = "okay";
233};
234
235&usbphy {
236 usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
237 usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
238 usb0_vbus-supply = <&reg_usb0_vbus>;
239 usb1_vbus-supply = <&reg_usb1_vbus>;
240 usb2_vbus-supply = <&reg_usb2_vbus>;
241 status = "okay";
242};