Skip to content

Commit a4038fd

Browse files
jwrdegoedemripard
authored andcommitted
ARM: dts: sun6i: Add pmic / regulator nodes to Mele A1000G quad dts
Add pmic / regulator nodes to Mele A1000G quad dts. Note both reg_usb1_vbus and reg_dldo4 need to be on for the hub attached to usb1 to work, and we can list only one usb1_vbus-supply, so dldo4 is marked as regulator-always-on. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
1 parent 3d9e2b6 commit a4038fd

File tree

1 file changed

+92
-1
lines changed

1 file changed

+92
-1
lines changed

arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@
7272
};
7373
};
7474

75+
&cpu0 {
76+
cpu-supply = <&reg_dcdc3>;
77+
};
78+
7579
&ehci0 {
7680
status = "okay";
7781
};
@@ -85,6 +89,7 @@
8589
pinctrl-0 = <&gmac_pins_mii_a>;
8690
phy = <&phy1>;
8791
phy-mode = "mii";
92+
phy-supply = <&reg_dldo1>;
8893
status = "okay";
8994

9095
phy1: ethernet-phy@1 {
@@ -101,13 +106,26 @@
101106
&mmc0 {
102107
pinctrl-names = "default";
103108
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
104-
vmmc-supply = <&reg_vcc3v3>;
109+
vmmc-supply = <&reg_dcdc1>;
105110
bus-width = <4>;
106111
cd-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
107112
cd-inverted;
108113
status = "okay";
109114
};
110115

116+
&p2wi {
117+
status = "okay";
118+
119+
axp22x: pmic@68 {
120+
compatible = "x-powers,axp221";
121+
reg = <0x68>;
122+
interrupt-parent = <&nmi_intc>;
123+
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
124+
};
125+
};
126+
127+
#include "axp22x.dtsi"
128+
111129
&pio {
112130
led_pins_m9: led_pins@0 {
113131
allwinner,pins = "PH13";
@@ -131,6 +149,78 @@
131149
};
132150
};
133151

152+
&reg_aldo1 {
153+
regulator-min-microvolt = <3300000>;
154+
regulator-max-microvolt = <3300000>;
155+
regulator-name = "vcc-wifi";
156+
};
157+
158+
&reg_aldo3 {
159+
regulator-always-on;
160+
regulator-min-microvolt = <2700000>;
161+
regulator-max-microvolt = <3300000>;
162+
regulator-name = "avcc";
163+
};
164+
165+
&reg_dc5ldo {
166+
regulator-always-on;
167+
regulator-min-microvolt = <700000>;
168+
regulator-max-microvolt = <1320000>;
169+
regulator-name = "vdd-cpus"; /* This is an educated guess */
170+
};
171+
172+
&reg_dcdc1 {
173+
regulator-always-on;
174+
regulator-min-microvolt = <3300000>;
175+
regulator-max-microvolt = <3300000>;
176+
regulator-name = "vcc-3v3";
177+
};
178+
179+
&reg_dcdc2 {
180+
regulator-min-microvolt = <700000>;
181+
regulator-max-microvolt = <1320000>;
182+
regulator-name = "vdd-gpu";
183+
};
184+
185+
&reg_dcdc3 {
186+
regulator-always-on;
187+
regulator-min-microvolt = <700000>;
188+
regulator-max-microvolt = <1320000>;
189+
regulator-name = "vdd-cpu";
190+
};
191+
192+
&reg_dcdc4 {
193+
regulator-always-on;
194+
regulator-min-microvolt = <700000>;
195+
regulator-max-microvolt = <1320000>;
196+
regulator-name = "vdd-sys-dll";
197+
};
198+
199+
&reg_dcdc5 {
200+
regulator-always-on;
201+
regulator-min-microvolt = <1500000>;
202+
regulator-max-microvolt = <1500000>;
203+
regulator-name = "vcc-dram";
204+
};
205+
206+
&reg_dldo1 {
207+
regulator-min-microvolt = <3300000>;
208+
regulator-max-microvolt = <3300000>;
209+
regulator-name = "vcc-ethernet-phy";
210+
};
211+
212+
/*
213+
* Both reg_usb1_vbus and reg_dldo4 need to be on for the hub attached
214+
* to usb1 to work, and we can list only one usb1_vbus-supply, so dldo4 is
215+
* marked as regulator-always-on.
216+
*/
217+
&reg_dldo4 {
218+
regulator-always-on;
219+
regulator-min-microvolt = <3300000>;
220+
regulator-max-microvolt = <3300000>;
221+
regulator-name = "vcc-usb-hub";
222+
};
223+
134224
&reg_usb1_vbus {
135225
pinctrl-names = "default";
136226
pinctrl-0 = <&usb1_vbus_pin_m9>;
@@ -151,5 +241,6 @@
151241

152242
&usbphy {
153243
usb1_vbus-supply = <&reg_usb1_vbus>;
244+
usb2_vbus-supply = <&reg_aldo1>;
154245
status = "okay";
155246
};

0 commit comments

Comments
 (0)