1*aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
26be33864SEmmanuel Vadot/*
36be33864SEmmanuel Vadot * Copyright (c) 2020 Yangtao Li <frank@allwinnertech.com>
46be33864SEmmanuel Vadot */
56be33864SEmmanuel Vadot
66be33864SEmmanuel Vadot/dts-v1/;
76be33864SEmmanuel Vadot
86be33864SEmmanuel Vadot#include "sun50i-a100.dtsi"
96be33864SEmmanuel Vadot
106be33864SEmmanuel Vadot/{
116be33864SEmmanuel Vadot	model = "Allwinner A100 Perf1";
126be33864SEmmanuel Vadot	compatible = "allwinner,a100-perf1", "allwinner,sun50i-a100";
136be33864SEmmanuel Vadot
146be33864SEmmanuel Vadot	aliases {
156be33864SEmmanuel Vadot		serial0 = &uart0;
166be33864SEmmanuel Vadot	};
176be33864SEmmanuel Vadot
186be33864SEmmanuel Vadot	chosen {
196be33864SEmmanuel Vadot		stdout-path = "serial0:115200n8";
206be33864SEmmanuel Vadot	};
216be33864SEmmanuel Vadot};
226be33864SEmmanuel Vadot
236be33864SEmmanuel Vadot&pio {
246be33864SEmmanuel Vadot	vcc-pb-supply = <&reg_dcdc1>;
256be33864SEmmanuel Vadot	vcc-pc-supply = <&reg_eldo1>;
266be33864SEmmanuel Vadot	vcc-pd-supply = <&reg_dcdc1>;
276be33864SEmmanuel Vadot	vcc-pe-supply = <&reg_dldo2>;
286be33864SEmmanuel Vadot	vcc-pf-supply = <&reg_dcdc1>;
296be33864SEmmanuel Vadot	vcc-pg-supply = <&reg_dldo1>;
306be33864SEmmanuel Vadot	vcc-ph-supply = <&reg_dcdc1>;
316be33864SEmmanuel Vadot};
326be33864SEmmanuel Vadot
336be33864SEmmanuel Vadot&r_pio {
346be33864SEmmanuel Vadot	/*
356be33864SEmmanuel Vadot	 * FIXME: We can't add that supply for now since it would
366be33864SEmmanuel Vadot	 * create a circular dependency between pinctrl, the regulator
376be33864SEmmanuel Vadot	 * and the RSB Bus.
386be33864SEmmanuel Vadot	 *
396be33864SEmmanuel Vadot	 * vcc-pl-supply = <&reg_aldo3>;
406be33864SEmmanuel Vadot	 */
416be33864SEmmanuel Vadot};
426be33864SEmmanuel Vadot
436be33864SEmmanuel Vadot&r_i2c0 {
446be33864SEmmanuel Vadot	status = "okay";
456be33864SEmmanuel Vadot
466be33864SEmmanuel Vadot	axp803: pmic@34 {
476be33864SEmmanuel Vadot		compatible = "x-powers,axp803";
486be33864SEmmanuel Vadot		reg = <0x34>;
496be33864SEmmanuel Vadot		interrupt-parent = <&r_intc>;
506be33864SEmmanuel Vadot		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
516be33864SEmmanuel Vadot		x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
526be33864SEmmanuel Vadot	};
536be33864SEmmanuel Vadot};
546be33864SEmmanuel Vadot
556be33864SEmmanuel Vadot#include "axp803.dtsi"
566be33864SEmmanuel Vadot
576be33864SEmmanuel Vadot&ac_power_supply {
586be33864SEmmanuel Vadot	status = "okay";
596be33864SEmmanuel Vadot};
606be33864SEmmanuel Vadot
616be33864SEmmanuel Vadot&reg_aldo1 {
626be33864SEmmanuel Vadot	regulator-always-on;
636be33864SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
646be33864SEmmanuel Vadot	regulator-max-microvolt = <1800000>;
656be33864SEmmanuel Vadot	regulator-name = "vcc-pll-avcc";
666be33864SEmmanuel Vadot};
676be33864SEmmanuel Vadot
686be33864SEmmanuel Vadot&reg_aldo2 {
696be33864SEmmanuel Vadot	regulator-always-on;
706be33864SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
716be33864SEmmanuel Vadot	regulator-max-microvolt = <1800000>;
726be33864SEmmanuel Vadot	regulator-name = "vcc-dram-1";
736be33864SEmmanuel Vadot};
746be33864SEmmanuel Vadot
756be33864SEmmanuel Vadot&reg_aldo3 {
766be33864SEmmanuel Vadot	regulator-always-on;
776be33864SEmmanuel Vadot	regulator-min-microvolt = <3300000>;
786be33864SEmmanuel Vadot	regulator-max-microvolt = <3300000>;
796be33864SEmmanuel Vadot	regulator-name = "vcc-usb-pl";
806be33864SEmmanuel Vadot};
816be33864SEmmanuel Vadot
826be33864SEmmanuel Vadot&reg_dcdc1 {
836be33864SEmmanuel Vadot	regulator-always-on;
846be33864SEmmanuel Vadot	regulator-min-microvolt = <3300000>;
856be33864SEmmanuel Vadot	regulator-max-microvolt = <3300000>;
866be33864SEmmanuel Vadot	regulator-name = "vcc-io-usb-pd-emmc-nand-card";
876be33864SEmmanuel Vadot};
886be33864SEmmanuel Vadot
896be33864SEmmanuel Vadot&reg_dcdc2 {
906be33864SEmmanuel Vadot	regulator-always-on;
916be33864SEmmanuel Vadot	/*
926be33864SEmmanuel Vadot	 * FIXME: update min and max before support dvfs.
936be33864SEmmanuel Vadot	 */
946be33864SEmmanuel Vadot	regulator-min-microvolt = <500000>;
956be33864SEmmanuel Vadot	regulator-max-microvolt = <1300000>;
966be33864SEmmanuel Vadot	regulator-name = "vdd-cpux";
976be33864SEmmanuel Vadot};
986be33864SEmmanuel Vadot
996be33864SEmmanuel Vadot/* DCDC3 is polyphased with DCDC2 */
1006be33864SEmmanuel Vadot
1016be33864SEmmanuel Vadot&reg_dcdc4 {
1026be33864SEmmanuel Vadot	regulator-always-on;
1036be33864SEmmanuel Vadot	regulator-min-microvolt = <950000>;
1046be33864SEmmanuel Vadot	regulator-max-microvolt = <950000>;
1056be33864SEmmanuel Vadot	regulator-name = "vdd-sys-usb-dram";
1066be33864SEmmanuel Vadot};
1076be33864SEmmanuel Vadot
1086be33864SEmmanuel Vadot&reg_dcdc5 {
1096be33864SEmmanuel Vadot	regulator-always-on;
1106be33864SEmmanuel Vadot	regulator-min-microvolt = <1500000>;
1116be33864SEmmanuel Vadot	regulator-max-microvolt = <1500000>;
1126be33864SEmmanuel Vadot	regulator-name = "vcc-dram-2";
1136be33864SEmmanuel Vadot};
1146be33864SEmmanuel Vadot
1156be33864SEmmanuel Vadot&reg_dldo1 {
1166be33864SEmmanuel Vadot	regulator-min-microvolt = <3300000>;
1176be33864SEmmanuel Vadot	regulator-max-microvolt = <3300000>;
1186be33864SEmmanuel Vadot	regulator-name = "vcc-pg-dcxo-wifi";
1196be33864SEmmanuel Vadot};
1206be33864SEmmanuel Vadot
1216be33864SEmmanuel Vadot&reg_dldo2 {
1226be33864SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
1236be33864SEmmanuel Vadot	regulator-max-microvolt = <2800000>;
1246be33864SEmmanuel Vadot	regulator-name = "vcc-pe-csi";
1256be33864SEmmanuel Vadot};
1266be33864SEmmanuel Vadot
1276be33864SEmmanuel Vadot&reg_dldo3 {
1286be33864SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
1296be33864SEmmanuel Vadot	regulator-max-microvolt = <3300000>;
1306be33864SEmmanuel Vadot	regulator-name = "ldo-avdd-csi";
1316be33864SEmmanuel Vadot};
1326be33864SEmmanuel Vadot
1336be33864SEmmanuel Vadot&reg_dldo4 {
1346be33864SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
1356be33864SEmmanuel Vadot	regulator-max-microvolt = <2800000>;
1366be33864SEmmanuel Vadot	regulator-name = "avcc-csi";
1376be33864SEmmanuel Vadot};
1386be33864SEmmanuel Vadot
1396be33864SEmmanuel Vadot&reg_eldo1 {
1406be33864SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
1416be33864SEmmanuel Vadot	regulator-max-microvolt = <1800000>;
1426be33864SEmmanuel Vadot	regulator-name = "vcc-pc-lvds-csi-efuse-emmc-nand";
1436be33864SEmmanuel Vadot};
1446be33864SEmmanuel Vadot
1456be33864SEmmanuel Vadot&reg_eldo2 {
1466be33864SEmmanuel Vadot	regulator-min-microvolt = <1200000>;
1476be33864SEmmanuel Vadot	regulator-max-microvolt = <1800000>;
1486be33864SEmmanuel Vadot	regulator-name = "dvdd-csi";
1496be33864SEmmanuel Vadot};
1506be33864SEmmanuel Vadot
1516be33864SEmmanuel Vadot&reg_eldo3 {
1526be33864SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
1536be33864SEmmanuel Vadot	regulator-max-microvolt = <1800000>;
1546be33864SEmmanuel Vadot	regulator-name = "vcc-mipi-lcd";
1556be33864SEmmanuel Vadot};
1566be33864SEmmanuel Vadot
1576be33864SEmmanuel Vadot&reg_fldo1 {
1586be33864SEmmanuel Vadot	regulator-always-on;
1596be33864SEmmanuel Vadot	regulator-min-microvolt = <900000>;
1606be33864SEmmanuel Vadot	regulator-max-microvolt = <900000>;
1616be33864SEmmanuel Vadot	regulator-name = "vdd-cpus-usb";
1626be33864SEmmanuel Vadot};
1636be33864SEmmanuel Vadot
1646be33864SEmmanuel Vadot&reg_ldo_io0 {
1656be33864SEmmanuel Vadot	regulator-min-microvolt = <3300000>;
1666be33864SEmmanuel Vadot	regulator-max-microvolt = <3300000>;
1676be33864SEmmanuel Vadot	regulator-name = "vcc-ctp";
1686be33864SEmmanuel Vadot	status = "okay";
1696be33864SEmmanuel Vadot};
1706be33864SEmmanuel Vadot
1716be33864SEmmanuel Vadot&reg_drivevbus {
1726be33864SEmmanuel Vadot	regulator-name = "usb0-vbus";
1736be33864SEmmanuel Vadot	status = "okay";
1746be33864SEmmanuel Vadot};
1756be33864SEmmanuel Vadot
1766be33864SEmmanuel Vadot&uart0 {
1776be33864SEmmanuel Vadot	pinctrl-names = "default";
1786be33864SEmmanuel Vadot	pinctrl-0 = <&uart0_pb_pins>;
1796be33864SEmmanuel Vadot	status = "okay";
1806be33864SEmmanuel Vadot};
181