1*05c618f3SKrzysztof Kozlowski// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
295c83906SYangtao Li/*
395c83906SYangtao Li * Copyright (c) 2020 Yangtao Li <frank@allwinnertech.com>
495c83906SYangtao Li */
595c83906SYangtao Li
695c83906SYangtao Li/dts-v1/;
795c83906SYangtao Li
895c83906SYangtao Li#include "sun50i-a100.dtsi"
995c83906SYangtao Li
1095c83906SYangtao Li/{
1195c83906SYangtao Li	model = "Allwinner A100 Perf1";
1295c83906SYangtao Li	compatible = "allwinner,a100-perf1", "allwinner,sun50i-a100";
1395c83906SYangtao Li
1495c83906SYangtao Li	aliases {
1595c83906SYangtao Li		serial0 = &uart0;
1695c83906SYangtao Li	};
1795c83906SYangtao Li
1895c83906SYangtao Li	chosen {
1995c83906SYangtao Li		stdout-path = "serial0:115200n8";
2095c83906SYangtao Li	};
2195c83906SYangtao Li};
2295c83906SYangtao Li
2395c83906SYangtao Li&pio {
2495c83906SYangtao Li	vcc-pb-supply = <&reg_dcdc1>;
2595c83906SYangtao Li	vcc-pc-supply = <&reg_eldo1>;
2695c83906SYangtao Li	vcc-pd-supply = <&reg_dcdc1>;
2795c83906SYangtao Li	vcc-pe-supply = <&reg_dldo2>;
2895c83906SYangtao Li	vcc-pf-supply = <&reg_dcdc1>;
2995c83906SYangtao Li	vcc-pg-supply = <&reg_dldo1>;
3095c83906SYangtao Li	vcc-ph-supply = <&reg_dcdc1>;
3195c83906SYangtao Li};
3295c83906SYangtao Li
3395c83906SYangtao Li&r_pio {
3495c83906SYangtao Li	/*
3595c83906SYangtao Li	 * FIXME: We can't add that supply for now since it would
3695c83906SYangtao Li	 * create a circular dependency between pinctrl, the regulator
3795c83906SYangtao Li	 * and the RSB Bus.
3895c83906SYangtao Li	 *
3995c83906SYangtao Li	 * vcc-pl-supply = <&reg_aldo3>;
4095c83906SYangtao Li	 */
4195c83906SYangtao Li};
4295c83906SYangtao Li
4395c83906SYangtao Li&r_i2c0 {
4495c83906SYangtao Li	status = "okay";
4595c83906SYangtao Li
4695c83906SYangtao Li	axp803: pmic@34 {
4795c83906SYangtao Li		compatible = "x-powers,axp803";
4895c83906SYangtao Li		reg = <0x34>;
4995c83906SYangtao Li		interrupt-parent = <&r_intc>;
5095c83906SYangtao Li		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
5195c83906SYangtao Li		x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
5295c83906SYangtao Li	};
5395c83906SYangtao Li};
5495c83906SYangtao Li
5595c83906SYangtao Li#include "axp803.dtsi"
5695c83906SYangtao Li
5795c83906SYangtao Li&ac_power_supply {
5895c83906SYangtao Li	status = "okay";
5995c83906SYangtao Li};
6095c83906SYangtao Li
6195c83906SYangtao Li&reg_aldo1 {
6295c83906SYangtao Li	regulator-always-on;
6395c83906SYangtao Li	regulator-min-microvolt = <1800000>;
6495c83906SYangtao Li	regulator-max-microvolt = <1800000>;
6595c83906SYangtao Li	regulator-name = "vcc-pll-avcc";
6695c83906SYangtao Li};
6795c83906SYangtao Li
6895c83906SYangtao Li&reg_aldo2 {
6995c83906SYangtao Li	regulator-always-on;
7095c83906SYangtao Li	regulator-min-microvolt = <1800000>;
7195c83906SYangtao Li	regulator-max-microvolt = <1800000>;
7295c83906SYangtao Li	regulator-name = "vcc-dram-1";
7395c83906SYangtao Li};
7495c83906SYangtao Li
7595c83906SYangtao Li&reg_aldo3 {
7695c83906SYangtao Li	regulator-always-on;
7795c83906SYangtao Li	regulator-min-microvolt = <3300000>;
7895c83906SYangtao Li	regulator-max-microvolt = <3300000>;
7995c83906SYangtao Li	regulator-name = "vcc-usb-pl";
8095c83906SYangtao Li};
8195c83906SYangtao Li
8295c83906SYangtao Li&reg_dcdc1 {
8395c83906SYangtao Li	regulator-always-on;
8495c83906SYangtao Li	regulator-min-microvolt = <3300000>;
8595c83906SYangtao Li	regulator-max-microvolt = <3300000>;
8695c83906SYangtao Li	regulator-name = "vcc-io-usb-pd-emmc-nand-card";
8795c83906SYangtao Li};
8895c83906SYangtao Li
8995c83906SYangtao Li&reg_dcdc2 {
9095c83906SYangtao Li	regulator-always-on;
9195c83906SYangtao Li	/*
9295c83906SYangtao Li	 * FIXME: update min and max before support dvfs.
9395c83906SYangtao Li	 */
9495c83906SYangtao Li	regulator-min-microvolt = <500000>;
9595c83906SYangtao Li	regulator-max-microvolt = <1300000>;
9695c83906SYangtao Li	regulator-name = "vdd-cpux";
9795c83906SYangtao Li};
9895c83906SYangtao Li
9995c83906SYangtao Li/* DCDC3 is polyphased with DCDC2 */
10095c83906SYangtao Li
10195c83906SYangtao Li&reg_dcdc4 {
10295c83906SYangtao Li	regulator-always-on;
10395c83906SYangtao Li	regulator-min-microvolt = <950000>;
10495c83906SYangtao Li	regulator-max-microvolt = <950000>;
10595c83906SYangtao Li	regulator-name = "vdd-sys-usb-dram";
10695c83906SYangtao Li};
10795c83906SYangtao Li
10895c83906SYangtao Li&reg_dcdc5 {
10995c83906SYangtao Li	regulator-always-on;
11095c83906SYangtao Li	regulator-min-microvolt = <1500000>;
11195c83906SYangtao Li	regulator-max-microvolt = <1500000>;
11295c83906SYangtao Li	regulator-name = "vcc-dram-2";
11395c83906SYangtao Li};
11495c83906SYangtao Li
11595c83906SYangtao Li&reg_dldo1 {
11695c83906SYangtao Li	regulator-min-microvolt = <3300000>;
11795c83906SYangtao Li	regulator-max-microvolt = <3300000>;
11895c83906SYangtao Li	regulator-name = "vcc-pg-dcxo-wifi";
11995c83906SYangtao Li};
12095c83906SYangtao Li
12195c83906SYangtao Li&reg_dldo2 {
12295c83906SYangtao Li	regulator-min-microvolt = <1800000>;
12395c83906SYangtao Li	regulator-max-microvolt = <2800000>;
12495c83906SYangtao Li	regulator-name = "vcc-pe-csi";
12595c83906SYangtao Li};
12695c83906SYangtao Li
12795c83906SYangtao Li&reg_dldo3 {
12895c83906SYangtao Li	regulator-min-microvolt = <1800000>;
12995c83906SYangtao Li	regulator-max-microvolt = <3300000>;
13095c83906SYangtao Li	regulator-name = "ldo-avdd-csi";
13195c83906SYangtao Li};
13295c83906SYangtao Li
13395c83906SYangtao Li&reg_dldo4 {
13495c83906SYangtao Li	regulator-min-microvolt = <1800000>;
13595c83906SYangtao Li	regulator-max-microvolt = <2800000>;
13695c83906SYangtao Li	regulator-name = "avcc-csi";
13795c83906SYangtao Li};
13895c83906SYangtao Li
13995c83906SYangtao Li&reg_eldo1 {
14095c83906SYangtao Li	regulator-min-microvolt = <1800000>;
14195c83906SYangtao Li	regulator-max-microvolt = <1800000>;
14295c83906SYangtao Li	regulator-name = "vcc-pc-lvds-csi-efuse-emmc-nand";
14395c83906SYangtao Li};
14495c83906SYangtao Li
14595c83906SYangtao Li&reg_eldo2 {
14695c83906SYangtao Li	regulator-min-microvolt = <1200000>;
14795c83906SYangtao Li	regulator-max-microvolt = <1800000>;
14895c83906SYangtao Li	regulator-name = "dvdd-csi";
14995c83906SYangtao Li};
15095c83906SYangtao Li
15195c83906SYangtao Li&reg_eldo3 {
15295c83906SYangtao Li	regulator-min-microvolt = <1800000>;
15395c83906SYangtao Li	regulator-max-microvolt = <1800000>;
15495c83906SYangtao Li	regulator-name = "vcc-mipi-lcd";
15595c83906SYangtao Li};
15695c83906SYangtao Li
15795c83906SYangtao Li&reg_fldo1 {
15895c83906SYangtao Li	regulator-always-on;
15995c83906SYangtao Li	regulator-min-microvolt = <900000>;
16095c83906SYangtao Li	regulator-max-microvolt = <900000>;
16195c83906SYangtao Li	regulator-name = "vdd-cpus-usb";
16295c83906SYangtao Li};
16395c83906SYangtao Li
16495c83906SYangtao Li&reg_ldo_io0 {
16595c83906SYangtao Li	regulator-min-microvolt = <3300000>;
16695c83906SYangtao Li	regulator-max-microvolt = <3300000>;
16795c83906SYangtao Li	regulator-name = "vcc-ctp";
16895c83906SYangtao Li	status = "okay";
16995c83906SYangtao Li};
17095c83906SYangtao Li
17195c83906SYangtao Li&reg_drivevbus {
17295c83906SYangtao Li	regulator-name = "usb0-vbus";
17395c83906SYangtao Li	status = "okay";
17495c83906SYangtao Li};
17595c83906SYangtao Li
17695c83906SYangtao Li&uart0 {
17795c83906SYangtao Li	pinctrl-names = "default";
17895c83906SYangtao Li	pinctrl-0 = <&uart0_pb_pins>;
17995c83906SYangtao Li	status = "okay";
18095c83906SYangtao Li};
181