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