1 // 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 = <®_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 = <®_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 = <®_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 = <®_vcc3v3>;
123 };
124 };
125
126 &lradc {
127 vref-supply = <®_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 = <®_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 = <®_vcc3v3>;
166 vcc-pf-supply = <®_vcc3v3>;
167 vcc-ph-supply = <®_vcc3v3>;
168 };
169
170 &pwm {
171 pinctrl-names = "default";
172 pinctrl-0 = <&pwm0_pin>;
173 status = "okay";
174 };
175
176 ®_dcdc2 {
177 regulator-always-on;
178 regulator-min-microvolt = <1000000>;
179 regulator-max-microvolt = <1400000>;
180 regulator-name = "vdd-cpu";
181 };
182
183 ®_dcdc3 {
184 regulator-always-on;
185 regulator-min-microvolt = <1250000>;
186 regulator-max-microvolt = <1250000>;
187 regulator-name = "vdd-int-dll";
188 };
189
190 ®_ldo1 {
191 regulator-name = "vdd-rtc";
192 };
193
194 ®_ldo2 {
195 regulator-always-on;
196 regulator-min-microvolt = <3000000>;
197 regulator-max-microvolt = <3000000>;
198 regulator-name = "avcc";
199 };
200
201 ®_usb0_vbus {
202 status = "okay";
203 };
204
205 ®_usb1_vbus {
206 status = "okay";
207 };
208
209 ®_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 = <®_usb0_vbus>;
239 usb1_vbus-supply = <®_usb1_vbus>;
240 usb2_vbus-supply = <®_usb2_vbus>;
241 status = "okay";
242 };
Cache object: 69c03cd0d88d645b790679b9a95764a9
|