1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
6 #include "sun50i-a64.dtsi"
7 #include "sun50i-a64-cpu-opp.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
12 model = "Olimex A64-Olinuxino";
13 compatible = "olimex,a64-olinuxino", "allwinner,sun50i-a64";
21 stdout-path = "serial0:115200n8";
25 compatible = "hdmi-connector";
29 hdmi_con_in: endpoint {
30 remote-endpoint = <&hdmi_out_con>;
36 compatible = "gpio-leds";
39 label = "a64-olinuxino:red:user";
40 gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
44 reg_usb1_vbus: usb1-vbus {
45 compatible = "regulator-fixed";
46 regulator-name = "usb1-vbus";
47 regulator-min-microvolt = <5000000>;
48 regulator-max-microvolt = <5000000>;
51 gpio = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
55 wifi_pwrseq: wifi_pwrseq {
56 compatible = "mmc-pwrseq-simple";
57 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
62 cpu-supply = <®_dcdc2>;
66 cpu-supply = <®_dcdc2>;
70 cpu-supply = <®_dcdc2>;
74 cpu-supply = <®_dcdc2>;
90 pinctrl-names = "default";
91 pinctrl-0 = <&rgmii_pins>;
93 phy-handle = <&ext_rgmii_phy>;
94 phy-supply = <®_dcdc1>;
95 allwinner,tx-delay-ps = <600>;
100 hvcc-supply = <®_dldo1>;
105 hdmi_out_con: endpoint {
106 remote-endpoint = <&hdmi_con_in>;
111 ext_rgmii_phy: ethernet-phy@1 {
112 compatible = "ethernet-phy-ieee802.3-c22";
118 pinctrl-names = "default";
119 pinctrl-0 = <&mmc0_pins>;
120 vmmc-supply = <®_dcdc1>;
121 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
128 pinctrl-names = "default";
129 pinctrl-0 = <&mmc1_pins>;
130 vmmc-supply = <®_dcdc1>;
131 vqmmc-supply = <®_dldo4>;
132 mmc-pwrseq = <&wifi_pwrseq>;
139 interrupt-parent = <&r_pio>;
140 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
141 interrupt-names = "host-wake";
154 vcc-pc-supply = <®_dcdc1>;
155 vcc-pd-supply = <®_dcdc1>;
156 vcc-pe-supply = <®_aldo1>;
157 vcc-pg-supply = <®_dldo4>;
162 * FIXME: We can't add that supply for now since it would
163 * create a circular dependency between pinctrl, the regulator
166 * vcc-pl-supply = <®_aldo2>;
171 vcc-pa-supply = <®_dcdc1>;
172 vcc-pb-supply = <®_dcdc1>;
173 vcc-pc-supply = <®_dcdc1>;
174 vcc-pd-supply = <®_dcdc1>;
175 vcc-pe-supply = <®_aldo1>;
176 vcc-pf-supply = <®_dcdc1>;
177 vcc-pg-supply = <®_dldo4>;
178 vcc-ph-supply = <®_dcdc1>;
185 compatible = "x-powers,axp803";
187 interrupt-parent = <&r_intc>;
188 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
189 x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
193 /* VCC-PL is powered by aldo2 but we cannot add it as the RSB */
194 /* interface used to talk to the PMIC in on the PL pins */
196 /* vcc-pl-supply = <®_aldo2>; */
199 #include "axp803.dtsi"
205 &battery_power_supply {
211 regulator-min-microvolt = <2800000>;
212 regulator-max-microvolt = <2800000>;
213 regulator-name = "vcc-pe";
218 regulator-min-microvolt = <3300000>;
219 regulator-max-microvolt = <3300000>;
220 regulator-name = "vcc-pl";
225 regulator-min-microvolt = <3000000>;
226 regulator-max-microvolt = <3000000>;
227 regulator-name = "vcc-pll-avcc";
232 regulator-min-microvolt = <3300000>;
233 regulator-max-microvolt = <3300000>;
234 regulator-name = "vcc-3v3";
239 regulator-min-microvolt = <1040000>;
240 regulator-max-microvolt = <1300000>;
241 regulator-name = "vdd-cpux";
244 /* DCDC3 is polyphased with DCDC2 */
247 * The board uses DDR3L DRAM chips. 1.36V is the closest to the nominal
248 * 1.35V that the PMIC can drive.
252 regulator-min-microvolt = <1360000>;
253 regulator-max-microvolt = <1360000>;
254 regulator-name = "vcc-ddr3";
259 regulator-min-microvolt = <1100000>;
260 regulator-max-microvolt = <1100000>;
261 regulator-name = "vdd-sys";
265 regulator-min-microvolt = <3300000>;
266 regulator-max-microvolt = <3300000>;
267 regulator-name = "vcc-hdmi";
271 regulator-min-microvolt = <3300000>;
272 regulator-max-microvolt = <3300000>;
273 regulator-name = "vcc-mipi";
277 regulator-min-microvolt = <2800000>;
278 regulator-max-microvolt = <2800000>;
279 regulator-name = "vcc-avdd-csi";
283 regulator-min-microvolt = <3300000>;
284 regulator-max-microvolt = <3300000>;
285 regulator-name = "vcc-wifi-io";
289 regulator-name = "usb0-vbus";
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <1800000>;
296 regulator-name = "cpvdd";
300 regulator-min-microvolt = <1800000>;
301 regulator-max-microvolt = <1800000>;
302 regulator-name = "vcc-dvdd-csi";
306 regulator-min-microvolt = <1200000>;
307 regulator-max-microvolt = <1200000>;
308 regulator-name = "vcc-1v2-hsic";
312 * The A64 chip cannot work without this regulator off, although
313 * it seems to be only driving the AR100 core.
314 * Maybe we don't still know well about CPUs domain.
318 regulator-min-microvolt = <1100000>;
319 regulator-max-microvolt = <1100000>;
320 regulator-name = "vdd-cpus";
324 regulator-name = "vcc-rtc";
328 vcc-hdmi-supply = <®_dldo1>;
332 pinctrl-names = "default";
333 pinctrl-0 = <&uart0_pb_pins>;
344 usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
345 usb0_vbus-supply = <®_drivevbus>;
346 usb1_vbus-supply = <®_usb1_vbus>;