18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci// Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz> 38c2ecf20Sopenharmony_ci// Based on sun50i-a64-pine64.dts, which is: 48c2ecf20Sopenharmony_ci// Copyright (c) 2016 ARM Ltd. 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include "sun50i-a64.dtsi" 78c2ecf20Sopenharmony_ci#include "sun50i-a64-cpu-opp.dtsi" 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci&codec_analog { 128c2ecf20Sopenharmony_ci cpvdd-supply = <®_eldo1>; 138c2ecf20Sopenharmony_ci}; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci&cpu0 { 168c2ecf20Sopenharmony_ci cpu-supply = <®_dcdc2>; 178c2ecf20Sopenharmony_ci}; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci&cpu1 { 208c2ecf20Sopenharmony_ci cpu-supply = <®_dcdc2>; 218c2ecf20Sopenharmony_ci}; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci&cpu2 { 248c2ecf20Sopenharmony_ci cpu-supply = <®_dcdc2>; 258c2ecf20Sopenharmony_ci}; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci&cpu3 { 288c2ecf20Sopenharmony_ci cpu-supply = <®_dcdc2>; 298c2ecf20Sopenharmony_ci}; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci&mmc0 { 328c2ecf20Sopenharmony_ci pinctrl-names = "default"; 338c2ecf20Sopenharmony_ci pinctrl-0 = <&mmc0_pins>; 348c2ecf20Sopenharmony_ci vmmc-supply = <®_dcdc1>; 358c2ecf20Sopenharmony_ci disable-wp; 368c2ecf20Sopenharmony_ci bus-width = <4>; 378c2ecf20Sopenharmony_ci cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 push-pull switch */ 388c2ecf20Sopenharmony_ci status = "okay"; 398c2ecf20Sopenharmony_ci}; 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci&r_rsb { 428c2ecf20Sopenharmony_ci status = "okay"; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci axp803: pmic@3a3 { 458c2ecf20Sopenharmony_ci compatible = "x-powers,axp803"; 468c2ecf20Sopenharmony_ci reg = <0x3a3>; 478c2ecf20Sopenharmony_ci interrupt-parent = <&r_intc>; 488c2ecf20Sopenharmony_ci interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci}; 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci&spi0 { 538c2ecf20Sopenharmony_ci status = "okay"; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci flash@0 { 568c2ecf20Sopenharmony_ci #address-cells = <1>; 578c2ecf20Sopenharmony_ci #size-cells = <1>; 588c2ecf20Sopenharmony_ci compatible = "jedec,spi-nor"; 598c2ecf20Sopenharmony_ci reg = <0>; 608c2ecf20Sopenharmony_ci spi-max-frequency = <40000000>; 618c2ecf20Sopenharmony_ci }; 628c2ecf20Sopenharmony_ci}; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci#include "axp803.dtsi" 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci®_aldo2 { 678c2ecf20Sopenharmony_ci regulator-always-on; 688c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 698c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 708c2ecf20Sopenharmony_ci regulator-name = "vcc-pl"; 718c2ecf20Sopenharmony_ci}; 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci®_aldo3 { 748c2ecf20Sopenharmony_ci regulator-always-on; 758c2ecf20Sopenharmony_ci regulator-min-microvolt = <3000000>; 768c2ecf20Sopenharmony_ci regulator-max-microvolt = <3000000>; 778c2ecf20Sopenharmony_ci regulator-name = "vcc-pll-avcc"; 788c2ecf20Sopenharmony_ci}; 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci®_dcdc1 { 818c2ecf20Sopenharmony_ci regulator-always-on; 828c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 838c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 848c2ecf20Sopenharmony_ci regulator-name = "vcc-3v3"; 858c2ecf20Sopenharmony_ci}; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci®_dcdc2 { 888c2ecf20Sopenharmony_ci regulator-always-on; 898c2ecf20Sopenharmony_ci regulator-min-microvolt = <1040000>; 908c2ecf20Sopenharmony_ci regulator-max-microvolt = <1300000>; 918c2ecf20Sopenharmony_ci regulator-name = "vdd-cpux"; 928c2ecf20Sopenharmony_ci}; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci/* DCDC3 is polyphased with DCDC2 */ 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci®_dcdc5 { 978c2ecf20Sopenharmony_ci regulator-always-on; 988c2ecf20Sopenharmony_ci regulator-min-microvolt = <1200000>; 998c2ecf20Sopenharmony_ci regulator-max-microvolt = <1200000>; 1008c2ecf20Sopenharmony_ci regulator-name = "vcc-dram"; 1018c2ecf20Sopenharmony_ci}; 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ci®_dcdc6 { 1048c2ecf20Sopenharmony_ci regulator-always-on; 1058c2ecf20Sopenharmony_ci regulator-min-microvolt = <1100000>; 1068c2ecf20Sopenharmony_ci regulator-max-microvolt = <1100000>; 1078c2ecf20Sopenharmony_ci regulator-name = "vdd-sys"; 1088c2ecf20Sopenharmony_ci}; 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci®_eldo1 { 1118c2ecf20Sopenharmony_ci regulator-always-on; 1128c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 1138c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 1148c2ecf20Sopenharmony_ci regulator-name = "vdd-1v8-lpddr"; 1158c2ecf20Sopenharmony_ci}; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci®_fldo1 { 1188c2ecf20Sopenharmony_ci regulator-min-microvolt = <1200000>; 1198c2ecf20Sopenharmony_ci regulator-max-microvolt = <1200000>; 1208c2ecf20Sopenharmony_ci regulator-name = "vcc-1v2-hsic"; 1218c2ecf20Sopenharmony_ci}; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci/* 1248c2ecf20Sopenharmony_ci * The A64 chip cannot work without this regulator off, although 1258c2ecf20Sopenharmony_ci * it seems to be only driving the AR100 core. 1268c2ecf20Sopenharmony_ci * Maybe we don't still know well about CPUs domain. 1278c2ecf20Sopenharmony_ci */ 1288c2ecf20Sopenharmony_ci®_fldo2 { 1298c2ecf20Sopenharmony_ci regulator-always-on; 1308c2ecf20Sopenharmony_ci regulator-min-microvolt = <1100000>; 1318c2ecf20Sopenharmony_ci regulator-max-microvolt = <1100000>; 1328c2ecf20Sopenharmony_ci regulator-name = "vdd-cpus"; 1338c2ecf20Sopenharmony_ci}; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci®_rtc_ldo { 1368c2ecf20Sopenharmony_ci regulator-name = "vcc-rtc"; 1378c2ecf20Sopenharmony_ci}; 138