1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (c) 2016 ARM Ltd.
6 #include "sun50i-a64.dtsi"
7 #include "sun50i-a64-cpu-opp.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
13 compatible = "pine64,pine64", "allwinner,sun50i-a64";
25 stdout-path = "serial0:115200n8";
29 compatible = "hdmi-connector";
33 hdmi_con_in: endpoint {
34 remote-endpoint = <&hdmi_out_con>;
45 cpvdd-supply = <®_eldo1>;
50 cpu-supply = <®_dcdc2>;
54 cpu-supply = <®_dcdc2>;
58 cpu-supply = <®_dcdc2>;
62 cpu-supply = <®_dcdc2>;
82 pinctrl-names = "default";
83 pinctrl-0 = <&rmii_pins>;
85 phy-handle = <&ext_rmii_phy1>;
86 phy-supply = <®_dc1sw>;
92 hvcc-supply = <®_dldo1>;
97 hdmi_out_con: endpoint {
98 remote-endpoint = <&hdmi_con_in>;
111 ext_rmii_phy1: 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>;
139 compatible = "x-powers,axp803";
141 interrupt-parent = <&r_intc>;
142 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
146 #include "axp803.dtsi"
152 &battery_power_supply {
158 regulator-min-microvolt = <1800000>;
159 regulator-max-microvolt = <3300000>;
160 regulator-name = "vcc-pl";
165 regulator-min-microvolt = <3000000>;
166 regulator-max-microvolt = <3000000>;
167 regulator-name = "vcc-pll-avcc";
171 regulator-name = "vcc-phy";
176 regulator-min-microvolt = <3300000>;
177 regulator-max-microvolt = <3300000>;
178 regulator-name = "vcc-3v3";
183 regulator-min-microvolt = <1040000>;
184 regulator-max-microvolt = <1300000>;
185 regulator-name = "vdd-cpux";
188 /* DCDC3 is polyphased with DCDC2 */
191 * The DRAM chips used by Pine64 boards are DDR3L-compatible, so they can
192 * work at 1.35V with less power consumption.
193 * As AXP803 DCDC5 cannot reach 1.35V accurately, use 1.36V instead.
197 regulator-min-microvolt = <1360000>;
198 regulator-max-microvolt = <1360000>;
199 regulator-name = "vcc-dram";
204 regulator-min-microvolt = <1100000>;
205 regulator-max-microvolt = <1100000>;
206 regulator-name = "vdd-sys";
210 regulator-min-microvolt = <3300000>;
211 regulator-max-microvolt = <3300000>;
212 regulator-name = "vcc-hdmi";
216 regulator-min-microvolt = <3300000>;
217 regulator-max-microvolt = <3300000>;
218 regulator-name = "vcc-mipi";
222 regulator-min-microvolt = <3300000>;
223 regulator-max-microvolt = <3300000>;
224 regulator-name = "vcc-wifi";
228 regulator-min-microvolt = <1800000>;
229 regulator-max-microvolt = <1800000>;
230 regulator-name = "cpvdd";
234 regulator-min-microvolt = <1200000>;
235 regulator-max-microvolt = <1200000>;
236 regulator-name = "vcc-1v2-hsic";
240 * The A64 chip cannot work without this regulator off, although
241 * it seems to be only driving the AR100 core.
242 * Maybe we don't still know well about CPUs domain.
246 regulator-min-microvolt = <1100000>;
247 regulator-max-microvolt = <1100000>;
248 regulator-name = "vdd-cpus";
252 regulator-name = "vcc-rtc";
256 vcc-hdmi-supply = <®_dldo1>;
260 simple-audio-card,aux-devs = <&codec_analog>;
261 simple-audio-card,widgets = "Microphone", "Microphone Jack",
262 "Headphone", "Headphone Jack";
263 simple-audio-card,routing =
264 "Left DAC", "AIF1 Slot 0 Left",
265 "Right DAC", "AIF1 Slot 0 Right",
266 "Headphone Jack", "HP",
267 "AIF1 Slot 0 Left ADC", "Left ADC",
268 "AIF1 Slot 0 Right ADC", "Right ADC",
269 "MIC2", "Microphone Jack";
273 /* On Euler connector */
278 /* On Exp and Euler connectors */
280 pinctrl-names = "default";
281 pinctrl-0 = <&uart0_pb_pins>;
285 /* On Wifi/BT connector, with RTS/CTS */
287 pinctrl-names = "default";
288 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
292 /* On Pi-2 connector */
294 pinctrl-names = "default";
295 pinctrl-0 = <&uart2_pins>;
299 /* On Euler connector */
301 pinctrl-names = "default";
302 pinctrl-0 = <&uart3_pins>;
306 /* On Euler connector, RTS/CTS optional */
308 pinctrl-names = "default";
309 pinctrl-0 = <&uart4_pins>;