162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci// Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz> 362306a36Sopenharmony_ci// Based on sun50i-a64-pine64.dts, which is: 462306a36Sopenharmony_ci// Copyright (c) 2016 ARM Ltd. 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include "sun50i-a64.dtsi" 762306a36Sopenharmony_ci#include "sun50i-a64-cpu-opp.dtsi" 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci&codec_analog { 1262306a36Sopenharmony_ci cpvdd-supply = <®_eldo1>; 1362306a36Sopenharmony_ci}; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci&cpu0 { 1662306a36Sopenharmony_ci cpu-supply = <®_dcdc2>; 1762306a36Sopenharmony_ci}; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci&cpu1 { 2062306a36Sopenharmony_ci cpu-supply = <®_dcdc2>; 2162306a36Sopenharmony_ci}; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci&cpu2 { 2462306a36Sopenharmony_ci cpu-supply = <®_dcdc2>; 2562306a36Sopenharmony_ci}; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci&cpu3 { 2862306a36Sopenharmony_ci cpu-supply = <®_dcdc2>; 2962306a36Sopenharmony_ci}; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci&mmc0 { 3262306a36Sopenharmony_ci pinctrl-names = "default"; 3362306a36Sopenharmony_ci pinctrl-0 = <&mmc0_pins>; 3462306a36Sopenharmony_ci vmmc-supply = <®_dcdc1>; 3562306a36Sopenharmony_ci disable-wp; 3662306a36Sopenharmony_ci bus-width = <4>; 3762306a36Sopenharmony_ci cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 push-pull switch */ 3862306a36Sopenharmony_ci status = "okay"; 3962306a36Sopenharmony_ci}; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci&r_rsb { 4262306a36Sopenharmony_ci status = "okay"; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci axp803: pmic@3a3 { 4562306a36Sopenharmony_ci compatible = "x-powers,axp803"; 4662306a36Sopenharmony_ci reg = <0x3a3>; 4762306a36Sopenharmony_ci interrupt-parent = <&r_intc>; 4862306a36Sopenharmony_ci interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci}; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci&spi0 { 5362306a36Sopenharmony_ci status = "okay"; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci flash@0 { 5662306a36Sopenharmony_ci #address-cells = <1>; 5762306a36Sopenharmony_ci #size-cells = <1>; 5862306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 5962306a36Sopenharmony_ci reg = <0>; 6062306a36Sopenharmony_ci spi-max-frequency = <40000000>; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci}; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci#include "axp803.dtsi" 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci®_aldo2 { 6762306a36Sopenharmony_ci regulator-always-on; 6862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 6962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 7062306a36Sopenharmony_ci regulator-name = "vcc-pl"; 7162306a36Sopenharmony_ci}; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci®_aldo3 { 7462306a36Sopenharmony_ci regulator-always-on; 7562306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 7662306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 7762306a36Sopenharmony_ci regulator-name = "vcc-pll-avcc"; 7862306a36Sopenharmony_ci}; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci®_dcdc1 { 8162306a36Sopenharmony_ci regulator-always-on; 8262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 8362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 8462306a36Sopenharmony_ci regulator-name = "vcc-3v3"; 8562306a36Sopenharmony_ci}; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci®_dcdc2 { 8862306a36Sopenharmony_ci regulator-always-on; 8962306a36Sopenharmony_ci regulator-min-microvolt = <1040000>; 9062306a36Sopenharmony_ci regulator-max-microvolt = <1300000>; 9162306a36Sopenharmony_ci regulator-name = "vdd-cpux"; 9262306a36Sopenharmony_ci}; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci/* DCDC3 is polyphased with DCDC2 */ 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci®_dcdc5 { 9762306a36Sopenharmony_ci regulator-always-on; 9862306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 9962306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 10062306a36Sopenharmony_ci regulator-name = "vcc-dram"; 10162306a36Sopenharmony_ci}; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci®_dcdc6 { 10462306a36Sopenharmony_ci regulator-always-on; 10562306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 10662306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 10762306a36Sopenharmony_ci regulator-name = "vdd-sys"; 10862306a36Sopenharmony_ci}; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci®_eldo1 { 11162306a36Sopenharmony_ci regulator-always-on; 11262306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 11362306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 11462306a36Sopenharmony_ci regulator-name = "vdd-1v8-lpddr"; 11562306a36Sopenharmony_ci}; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci®_fldo1 { 11862306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 11962306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 12062306a36Sopenharmony_ci regulator-name = "vcc-1v2-hsic"; 12162306a36Sopenharmony_ci}; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci/* 12462306a36Sopenharmony_ci * The A64 chip cannot work without this regulator off, although 12562306a36Sopenharmony_ci * it seems to be only driving the AR100 core. 12662306a36Sopenharmony_ci * Maybe we don't still know well about CPUs domain. 12762306a36Sopenharmony_ci */ 12862306a36Sopenharmony_ci®_fldo2 { 12962306a36Sopenharmony_ci regulator-always-on; 13062306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 13162306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 13262306a36Sopenharmony_ci regulator-name = "vdd-cpus"; 13362306a36Sopenharmony_ci}; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci®_rtc_ldo { 13662306a36Sopenharmony_ci regulator-name = "vcc-rtc"; 13762306a36Sopenharmony_ci}; 138