Linux Audio

Check our new training course

Embedded Linux training

Mar 31-Apr 8, 2025
Register
Loading...
Note: File does not exist in v3.15.
  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 = <&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};