18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ or MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 2020 Yangtao Li <frank@allwinnertech.com>
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci/dts-v1/;
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#include "sun50i-a100.dtsi"
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci/{
118c2ecf20Sopenharmony_ci	model = "Allwinner A100 Perf1";
128c2ecf20Sopenharmony_ci	compatible = "allwinner,a100-perf1", "allwinner,sun50i-a100";
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	aliases {
158c2ecf20Sopenharmony_ci		serial0 = &uart0;
168c2ecf20Sopenharmony_ci	};
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	chosen {
198c2ecf20Sopenharmony_ci		stdout-path = "serial0:115200n8";
208c2ecf20Sopenharmony_ci	};
218c2ecf20Sopenharmony_ci};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci&pio {
248c2ecf20Sopenharmony_ci	vcc-pb-supply = <&reg_dcdc1>;
258c2ecf20Sopenharmony_ci	vcc-pc-supply = <&reg_eldo1>;
268c2ecf20Sopenharmony_ci	vcc-pd-supply = <&reg_dcdc1>;
278c2ecf20Sopenharmony_ci	vcc-pe-supply = <&reg_dldo2>;
288c2ecf20Sopenharmony_ci	vcc-pf-supply = <&reg_dcdc1>;
298c2ecf20Sopenharmony_ci	vcc-pg-supply = <&reg_dldo1>;
308c2ecf20Sopenharmony_ci	vcc-ph-supply = <&reg_dcdc1>;
318c2ecf20Sopenharmony_ci};
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci&r_pio {
348c2ecf20Sopenharmony_ci	/*
358c2ecf20Sopenharmony_ci	 * FIXME: We can't add that supply for now since it would
368c2ecf20Sopenharmony_ci	 * create a circular dependency between pinctrl, the regulator
378c2ecf20Sopenharmony_ci	 * and the RSB Bus.
388c2ecf20Sopenharmony_ci	 *
398c2ecf20Sopenharmony_ci	 * vcc-pl-supply = <&reg_aldo3>;
408c2ecf20Sopenharmony_ci	 */
418c2ecf20Sopenharmony_ci};
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci&r_i2c0 {
448c2ecf20Sopenharmony_ci	status = "okay";
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci	axp803: pmic@34 {
478c2ecf20Sopenharmony_ci		compatible = "x-powers,axp803";
488c2ecf20Sopenharmony_ci		reg = <0x34>;
498c2ecf20Sopenharmony_ci		interrupt-parent = <&r_intc>;
508c2ecf20Sopenharmony_ci		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
518c2ecf20Sopenharmony_ci		x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
528c2ecf20Sopenharmony_ci	};
538c2ecf20Sopenharmony_ci};
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci#include "axp803.dtsi"
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci&ac_power_supply {
588c2ecf20Sopenharmony_ci	status = "okay";
598c2ecf20Sopenharmony_ci};
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci&reg_aldo1 {
628c2ecf20Sopenharmony_ci	regulator-always-on;
638c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1800000>;
648c2ecf20Sopenharmony_ci	regulator-max-microvolt = <1800000>;
658c2ecf20Sopenharmony_ci	regulator-name = "vcc-pll-avcc";
668c2ecf20Sopenharmony_ci};
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci&reg_aldo2 {
698c2ecf20Sopenharmony_ci	regulator-always-on;
708c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1800000>;
718c2ecf20Sopenharmony_ci	regulator-max-microvolt = <1800000>;
728c2ecf20Sopenharmony_ci	regulator-name = "vcc-dram-1";
738c2ecf20Sopenharmony_ci};
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci&reg_aldo3 {
768c2ecf20Sopenharmony_ci	regulator-always-on;
778c2ecf20Sopenharmony_ci	regulator-min-microvolt = <3300000>;
788c2ecf20Sopenharmony_ci	regulator-max-microvolt = <3300000>;
798c2ecf20Sopenharmony_ci	regulator-name = "vcc-usb-pl";
808c2ecf20Sopenharmony_ci};
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci&reg_dcdc1 {
838c2ecf20Sopenharmony_ci	regulator-always-on;
848c2ecf20Sopenharmony_ci	regulator-min-microvolt = <3300000>;
858c2ecf20Sopenharmony_ci	regulator-max-microvolt = <3300000>;
868c2ecf20Sopenharmony_ci	regulator-name = "vcc-io-usb-pd-emmc-nand-card";
878c2ecf20Sopenharmony_ci};
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci&reg_dcdc2 {
908c2ecf20Sopenharmony_ci	regulator-always-on;
918c2ecf20Sopenharmony_ci	/*
928c2ecf20Sopenharmony_ci	 * FIXME: update min and max before support dvfs.
938c2ecf20Sopenharmony_ci	 */
948c2ecf20Sopenharmony_ci	regulator-min-microvolt = <500000>;
958c2ecf20Sopenharmony_ci	regulator-max-microvolt = <1300000>;
968c2ecf20Sopenharmony_ci	regulator-name = "vdd-cpux";
978c2ecf20Sopenharmony_ci};
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci/* DCDC3 is polyphased with DCDC2 */
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci&reg_dcdc4 {
1028c2ecf20Sopenharmony_ci	regulator-always-on;
1038c2ecf20Sopenharmony_ci	regulator-min-microvolt = <950000>;
1048c2ecf20Sopenharmony_ci	regulator-max-microvolt = <950000>;
1058c2ecf20Sopenharmony_ci	regulator-name = "vdd-sys-usb-dram";
1068c2ecf20Sopenharmony_ci};
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci&reg_dcdc5 {
1098c2ecf20Sopenharmony_ci	regulator-always-on;
1108c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1500000>;
1118c2ecf20Sopenharmony_ci	regulator-max-microvolt = <1500000>;
1128c2ecf20Sopenharmony_ci	regulator-name = "vcc-dram-2";
1138c2ecf20Sopenharmony_ci};
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci&reg_dldo1 {
1168c2ecf20Sopenharmony_ci	regulator-min-microvolt = <3300000>;
1178c2ecf20Sopenharmony_ci	regulator-max-microvolt = <3300000>;
1188c2ecf20Sopenharmony_ci	regulator-name = "vcc-pg-dcxo-wifi";
1198c2ecf20Sopenharmony_ci};
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci&reg_dldo2 {
1228c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1800000>;
1238c2ecf20Sopenharmony_ci	regulator-max-microvolt = <2800000>;
1248c2ecf20Sopenharmony_ci	regulator-name = "vcc-pe-csi";
1258c2ecf20Sopenharmony_ci};
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci&reg_dldo3 {
1288c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1800000>;
1298c2ecf20Sopenharmony_ci	regulator-max-microvolt = <3300000>;
1308c2ecf20Sopenharmony_ci	regulator-name = "ldo-avdd-csi";
1318c2ecf20Sopenharmony_ci};
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci&reg_dldo4 {
1348c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1800000>;
1358c2ecf20Sopenharmony_ci	regulator-max-microvolt = <2800000>;
1368c2ecf20Sopenharmony_ci	regulator-name = "avcc-csi";
1378c2ecf20Sopenharmony_ci};
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci&reg_eldo1 {
1408c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1800000>;
1418c2ecf20Sopenharmony_ci	regulator-max-microvolt = <1800000>;
1428c2ecf20Sopenharmony_ci	regulator-name = "vcc-pc-lvds-csi-efuse-emmc-nand";
1438c2ecf20Sopenharmony_ci};
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci&reg_eldo2 {
1468c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1200000>;
1478c2ecf20Sopenharmony_ci	regulator-max-microvolt = <1800000>;
1488c2ecf20Sopenharmony_ci	regulator-name = "dvdd-csi";
1498c2ecf20Sopenharmony_ci};
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci&reg_eldo3 {
1528c2ecf20Sopenharmony_ci	regulator-min-microvolt = <1800000>;
1538c2ecf20Sopenharmony_ci	regulator-max-microvolt = <1800000>;
1548c2ecf20Sopenharmony_ci	regulator-name = "vcc-mipi-lcd";
1558c2ecf20Sopenharmony_ci};
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci&reg_fldo1 {
1588c2ecf20Sopenharmony_ci	regulator-always-on;
1598c2ecf20Sopenharmony_ci	regulator-min-microvolt = <900000>;
1608c2ecf20Sopenharmony_ci	regulator-max-microvolt = <900000>;
1618c2ecf20Sopenharmony_ci	regulator-name = "vdd-cpus-usb";
1628c2ecf20Sopenharmony_ci};
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci&reg_ldo_io0 {
1658c2ecf20Sopenharmony_ci	regulator-min-microvolt = <3300000>;
1668c2ecf20Sopenharmony_ci	regulator-max-microvolt = <3300000>;
1678c2ecf20Sopenharmony_ci	regulator-name = "vcc-ctp";
1688c2ecf20Sopenharmony_ci	status = "okay";
1698c2ecf20Sopenharmony_ci};
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ci&reg_drivevbus {
1728c2ecf20Sopenharmony_ci	regulator-name = "usb0-vbus";
1738c2ecf20Sopenharmony_ci	status = "okay";
1748c2ecf20Sopenharmony_ci};
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci&uart0 {
1778c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1788c2ecf20Sopenharmony_ci	pinctrl-0 = <&uart0_pb_pins>;
1798c2ecf20Sopenharmony_ci	status = "okay";
1808c2ecf20Sopenharmony_ci};
181