Skip to content

Commit a3cd12a

Browse files
Andre-ARMwens
authored andcommitted
arm64: dts: allwinner: a100: add Liontron H-A133L board support
The H-A133L board is an industrial development board made by Liontron. It contains a number of dedicated JST connectors, to connect external peripherals. It features: - Allwinner A133 SoC (4 * Arm Cortex-A53 cores at up to 1.6 GHz) - 1 GiB, 2 GiB or 4 GiB of LPDDR4 DRAM - between 16 and 128 GiB eMMC flash - AXP707 PMIC (compatible to AXP803) - 100 Mbit/s RJ45 Ethernet socket, using an JLSemi JL1101 PHY - XR829 WIFI+Bluetooth chip - 2 * USB 2.0 USB-A ports, plus three sets of USB pins on connectors (connected via a USB hub connected to USB1 on the SoC) - microSD card slot - 3.5mm A/V port - 12V power supply - connectors for an LVDS or MIPI-DSI panel Add the devicetree describing the board's peripherals and their connections. Despite being a devboard, the manufacturer does not publish a schematic (I asked), so the PMIC rail assignments were bases on BSP dumps, educated guesses and some experimentation. Dropping the always-on property from any of the rails carrying it will make the board hang as soon as the kernel turns off unused regulators. Signed-off-by: Andre Przywara <[email protected]> Link: https://patch.msgid.link/[email protected] [[email protected]: fix property in &usbphy; fix comment typo in &usb_otg] Signed-off-by: Chen-Yu Tsai <[email protected]>
1 parent d26382b commit a3cd12a

File tree

2 files changed

+212
-0
lines changed

2 files changed

+212
-0
lines changed

arch/arm64/boot/dts/allwinner/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
1818
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
1919
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h64-remix-mini-pc.dtb
2020
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb
21+
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-liontron-h-a133l.dtb
2122
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
2223
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus-v1.2.dtb
2324
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-emlid-neutis-n5-devboard.dtb
Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (c) 2025 Arm Ltd.
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include "sun50i-a100.dtsi"
9+
#include "sun50i-a100-cpu-opp.dtsi"
10+
11+
#include <dt-bindings/gpio/gpio.h>
12+
#include <dt-bindings/leds/common.h>
13+
14+
/{
15+
model = "Liontron H-A133L";
16+
compatible = "liontron,h-a133l", "allwinner,sun50i-a100";
17+
18+
aliases {
19+
serial0 = &uart0;
20+
};
21+
22+
chosen {
23+
stdout-path = "serial0:115200n8";
24+
};
25+
26+
leds {
27+
compatible = "gpio-leds";
28+
29+
led {
30+
function = LED_FUNCTION_POWER;
31+
color = <LED_COLOR_ID_BLUE>;
32+
gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */
33+
};
34+
};
35+
36+
reg_vcc5v: vcc5v {
37+
/* board wide 5V supply from a 12V->5V regulator */
38+
compatible = "regulator-fixed";
39+
regulator-name = "vcc-5v";
40+
regulator-min-microvolt = <5000000>;
41+
regulator-max-microvolt = <5000000>;
42+
regulator-always-on;
43+
};
44+
45+
reg_usb1_vbus: regulator-usb1-vbus {
46+
compatible = "regulator-fixed";
47+
regulator-name = "usb1-vbus";
48+
regulator-min-microvolt = <5000000>;
49+
regulator-max-microvolt = <5000000>;
50+
vin-supply = <&reg_vcc5v>;
51+
enable-active-high;
52+
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
53+
};
54+
};
55+
56+
&cpu0 {
57+
cpu-supply = <&reg_dcdc2>;
58+
};
59+
60+
&ehci0 {
61+
status = "okay";
62+
};
63+
64+
&ehci1 {
65+
status = "okay";
66+
};
67+
68+
&mmc0 {
69+
vmmc-supply = <&reg_dcdc1>;
70+
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
71+
bus-width = <4>;
72+
status = "okay";
73+
};
74+
75+
&mmc2 {
76+
vmmc-supply = <&reg_dcdc1>;
77+
vqmmc-supply = <&reg_eldo1>;
78+
cap-mmc-hw-reset;
79+
non-removable;
80+
bus-width = <8>;
81+
mmc-ddr-1_8v;
82+
mmc-hs200-1_8v;
83+
status = "okay";
84+
};
85+
86+
&ohci0 {
87+
status = "okay";
88+
};
89+
90+
&ohci1 {
91+
status = "okay";
92+
};
93+
94+
&pio {
95+
vcc-pb-supply = <&reg_dcdc1>;
96+
vcc-pc-supply = <&reg_eldo1>;
97+
vcc-pf-supply = <&reg_dcdc1>;
98+
vcc-ph-supply = <&reg_dcdc1>;
99+
};
100+
101+
&r_i2c0 {
102+
status = "okay";
103+
104+
axp803: pmic@34 {
105+
compatible = "x-powers,axp803";
106+
reg = <0x34>;
107+
interrupt-parent = <&r_intc>;
108+
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
109+
};
110+
};
111+
112+
#include "axp803.dtsi"
113+
114+
&ac_power_supply {
115+
status = "okay";
116+
};
117+
118+
&reg_aldo1 {
119+
regulator-always-on;
120+
regulator-min-microvolt = <1800000>;
121+
regulator-max-microvolt = <1800000>;
122+
regulator-name = "vcc-codec-avcc";
123+
};
124+
125+
&reg_aldo2 {
126+
regulator-always-on;
127+
regulator-min-microvolt = <1800000>;
128+
regulator-max-microvolt = <1800000>;
129+
regulator-name = "vcc-dram-1";
130+
};
131+
132+
&reg_aldo3 {
133+
regulator-always-on;
134+
regulator-min-microvolt = <3300000>;
135+
regulator-max-microvolt = <3300000>;
136+
regulator-name = "vcc-usb-pl";
137+
};
138+
139+
&reg_dcdc1 {
140+
regulator-always-on;
141+
regulator-min-microvolt = <3300000>;
142+
regulator-max-microvolt = <3300000>;
143+
regulator-name = "vcc-io-usb-pd-emmc";
144+
};
145+
146+
&reg_dcdc2 {
147+
regulator-always-on;
148+
regulator-min-microvolt = <810000>;
149+
regulator-max-microvolt = <1200000>;
150+
regulator-name = "vdd-cpux";
151+
};
152+
153+
&reg_dcdc3 {
154+
regulator-always-on;
155+
regulator-min-microvolt = <900000>;
156+
regulator-max-microvolt = <900000>;
157+
regulator-name = "vdd-usb-cpus";
158+
};
159+
160+
&reg_dcdc4 {
161+
regulator-always-on;
162+
regulator-min-microvolt = <950000>;
163+
regulator-max-microvolt = <950000>;
164+
regulator-name = "vdd-sys";
165+
};
166+
167+
&reg_dcdc5 {
168+
regulator-always-on;
169+
regulator-min-microvolt = <1100000>;
170+
regulator-max-microvolt = <1100000>;
171+
regulator-name = "vcc-dram";
172+
};
173+
174+
/* DCDC6 unused */
175+
/* DLDO3 unused */
176+
/* DLDO4 unused */
177+
178+
&reg_eldo1 {
179+
regulator-min-microvolt = <1800000>;
180+
regulator-max-microvolt = <1800000>;
181+
regulator-name = "vcc-pc-emmc";
182+
};
183+
184+
/* ELDO2 unused */
185+
/* ELDO3 unused */
186+
187+
&reg_fldo1 {
188+
regulator-always-on;
189+
regulator-min-microvolt = <900000>;
190+
regulator-max-microvolt = <900000>;
191+
regulator-name = "vdd-cpus-usb";
192+
};
193+
194+
/* reg_drivevbus unused */
195+
/* dc1sw unused */
196+
197+
&uart0 {
198+
pinctrl-names = "default";
199+
pinctrl-0 = <&uart0_pb_pins>;
200+
status = "okay";
201+
};
202+
203+
&usb_otg {
204+
dr_mode = "host"; /* USB A type receptacle, always powered */
205+
status = "okay";
206+
};
207+
208+
&usbphy {
209+
usb1_vbus-supply = <&reg_usb1_vbus>;
210+
status = "okay";
211+
};

0 commit comments

Comments
 (0)