xref: /freebsd-src/sys/contrib/device-tree/src/arm64/allwinner/sun50i-a64-sopine.dtsi (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c66ec88fSEmmanuel Vadot// Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz>
3c66ec88fSEmmanuel Vadot// Based on sun50i-a64-pine64.dts, which is:
4c66ec88fSEmmanuel Vadot//   Copyright (c) 2016 ARM Ltd.
5c66ec88fSEmmanuel Vadot
6c66ec88fSEmmanuel Vadot#include "sun50i-a64.dtsi"
7c66ec88fSEmmanuel Vadot#include "sun50i-a64-cpu-opp.dtsi"
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadot&codec_analog {
12c66ec88fSEmmanuel Vadot	cpvdd-supply = <&reg_eldo1>;
13c66ec88fSEmmanuel Vadot};
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadot&cpu0 {
16c66ec88fSEmmanuel Vadot	cpu-supply = <&reg_dcdc2>;
17c66ec88fSEmmanuel Vadot};
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot&cpu1 {
20c66ec88fSEmmanuel Vadot	cpu-supply = <&reg_dcdc2>;
21c66ec88fSEmmanuel Vadot};
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot&cpu2 {
24c66ec88fSEmmanuel Vadot	cpu-supply = <&reg_dcdc2>;
25c66ec88fSEmmanuel Vadot};
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot&cpu3 {
28c66ec88fSEmmanuel Vadot	cpu-supply = <&reg_dcdc2>;
29c66ec88fSEmmanuel Vadot};
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot&mmc0 {
32c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
33c66ec88fSEmmanuel Vadot	pinctrl-0 = <&mmc0_pins>;
34c66ec88fSEmmanuel Vadot	vmmc-supply = <&reg_dcdc1>;
35c66ec88fSEmmanuel Vadot	disable-wp;
36c66ec88fSEmmanuel Vadot	bus-width = <4>;
3782ea1a07SEmmanuel Vadot	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 push-pull switch */
38c66ec88fSEmmanuel Vadot	status = "okay";
39c66ec88fSEmmanuel Vadot};
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot&r_rsb {
42c66ec88fSEmmanuel Vadot	status = "okay";
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot	axp803: pmic@3a3 {
45c66ec88fSEmmanuel Vadot		compatible = "x-powers,axp803";
46c66ec88fSEmmanuel Vadot		reg = <0x3a3>;
47c66ec88fSEmmanuel Vadot		interrupt-parent = <&r_intc>;
48*2eb4d8dcSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
49c66ec88fSEmmanuel Vadot	};
50c66ec88fSEmmanuel Vadot};
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot&spi0  {
53c66ec88fSEmmanuel Vadot	status = "okay";
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot	flash@0 {
56c66ec88fSEmmanuel Vadot		#address-cells = <1>;
57c66ec88fSEmmanuel Vadot		#size-cells = <1>;
58c66ec88fSEmmanuel Vadot		compatible = "jedec,spi-nor";
59c66ec88fSEmmanuel Vadot		reg = <0>;
60c66ec88fSEmmanuel Vadot		spi-max-frequency = <40000000>;
61c66ec88fSEmmanuel Vadot	};
62c66ec88fSEmmanuel Vadot};
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot#include "axp803.dtsi"
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot&reg_aldo2 {
67c66ec88fSEmmanuel Vadot	regulator-always-on;
68c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <1800000>;
69c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <3300000>;
70c66ec88fSEmmanuel Vadot	regulator-name = "vcc-pl";
71c66ec88fSEmmanuel Vadot};
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadot&reg_aldo3 {
74c66ec88fSEmmanuel Vadot	regulator-always-on;
75c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <3000000>;
76c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <3000000>;
77c66ec88fSEmmanuel Vadot	regulator-name = "vcc-pll-avcc";
78c66ec88fSEmmanuel Vadot};
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot&reg_dcdc1 {
81c66ec88fSEmmanuel Vadot	regulator-always-on;
82c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <3300000>;
83c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <3300000>;
84c66ec88fSEmmanuel Vadot	regulator-name = "vcc-3v3";
85c66ec88fSEmmanuel Vadot};
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadot&reg_dcdc2 {
88c66ec88fSEmmanuel Vadot	regulator-always-on;
89c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <1040000>;
90c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <1300000>;
91c66ec88fSEmmanuel Vadot	regulator-name = "vdd-cpux";
92c66ec88fSEmmanuel Vadot};
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot/* DCDC3 is polyphased with DCDC2 */
95c66ec88fSEmmanuel Vadot
96c66ec88fSEmmanuel Vadot&reg_dcdc5 {
97c66ec88fSEmmanuel Vadot	regulator-always-on;
98c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <1200000>;
99c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <1200000>;
100c66ec88fSEmmanuel Vadot	regulator-name = "vcc-dram";
101c66ec88fSEmmanuel Vadot};
102c66ec88fSEmmanuel Vadot
103c66ec88fSEmmanuel Vadot&reg_dcdc6 {
104c66ec88fSEmmanuel Vadot	regulator-always-on;
105c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <1100000>;
106c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <1100000>;
107c66ec88fSEmmanuel Vadot	regulator-name = "vdd-sys";
108c66ec88fSEmmanuel Vadot};
109c66ec88fSEmmanuel Vadot
110c66ec88fSEmmanuel Vadot&reg_eldo1 {
111c66ec88fSEmmanuel Vadot	regulator-always-on;
112c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <1800000>;
113c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <1800000>;
114c66ec88fSEmmanuel Vadot	regulator-name = "vdd-1v8-lpddr";
115c66ec88fSEmmanuel Vadot};
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot&reg_fldo1 {
118c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <1200000>;
119c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <1200000>;
120c66ec88fSEmmanuel Vadot	regulator-name = "vcc-1v2-hsic";
121c66ec88fSEmmanuel Vadot};
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel Vadot/*
124c66ec88fSEmmanuel Vadot * The A64 chip cannot work without this regulator off, although
125c66ec88fSEmmanuel Vadot * it seems to be only driving the AR100 core.
126c66ec88fSEmmanuel Vadot * Maybe we don't still know well about CPUs domain.
127c66ec88fSEmmanuel Vadot */
128c66ec88fSEmmanuel Vadot&reg_fldo2 {
129c66ec88fSEmmanuel Vadot	regulator-always-on;
130c66ec88fSEmmanuel Vadot	regulator-min-microvolt = <1100000>;
131c66ec88fSEmmanuel Vadot	regulator-max-microvolt = <1100000>;
132c66ec88fSEmmanuel Vadot	regulator-name = "vdd-cpus";
133c66ec88fSEmmanuel Vadot};
134c66ec88fSEmmanuel Vadot
135c66ec88fSEmmanuel Vadot&reg_rtc_ldo {
136c66ec88fSEmmanuel Vadot	regulator-name = "vcc-rtc";
137c66ec88fSEmmanuel Vadot};
138