1*f64f2e0fSJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*f64f2e0fSJagan Teki/* 3*f64f2e0fSJagan Teki * Copyright (C) 2018 Amarula Solutions B.V. 4*f64f2e0fSJagan Teki * Author: Jagan Teki <jagan@amarulasolutions.com> 5*f64f2e0fSJagan Teki */ 6*f64f2e0fSJagan Teki 7*f64f2e0fSJagan Teki/dts-v1/; 8*f64f2e0fSJagan Teki 9*f64f2e0fSJagan Teki#include "sun50i-a64.dtsi" 10*f64f2e0fSJagan Teki 11*f64f2e0fSJagan Teki#include <dt-bindings/gpio/gpio.h> 12*f64f2e0fSJagan Teki 13*f64f2e0fSJagan Teki/ { 14*f64f2e0fSJagan Teki model = "Amarula A64-Relic"; 15*f64f2e0fSJagan Teki compatible = "amarula,a64-relic", "allwinner,sun50i-a64"; 16*f64f2e0fSJagan Teki 17*f64f2e0fSJagan Teki aliases { 18*f64f2e0fSJagan Teki serial0 = &uart0; 19*f64f2e0fSJagan Teki }; 20*f64f2e0fSJagan Teki 21*f64f2e0fSJagan Teki chosen { 22*f64f2e0fSJagan Teki stdout-path = "serial0:115200n8"; 23*f64f2e0fSJagan Teki }; 24*f64f2e0fSJagan Teki}; 25*f64f2e0fSJagan Teki 26*f64f2e0fSJagan Teki&ehci0 { 27*f64f2e0fSJagan Teki status = "okay"; 28*f64f2e0fSJagan Teki}; 29*f64f2e0fSJagan Teki 30*f64f2e0fSJagan Teki&mmc2 { 31*f64f2e0fSJagan Teki pinctrl-names = "default"; 32*f64f2e0fSJagan Teki pinctrl-0 = <&mmc2_pins>; 33*f64f2e0fSJagan Teki vmmc-supply = <®_dcdc1>; 34*f64f2e0fSJagan Teki bus-width = <8>; 35*f64f2e0fSJagan Teki non-removable; 36*f64f2e0fSJagan Teki cap-mmc-hw-reset; 37*f64f2e0fSJagan Teki status = "okay"; 38*f64f2e0fSJagan Teki}; 39*f64f2e0fSJagan Teki 40*f64f2e0fSJagan Teki&ohci0 { 41*f64f2e0fSJagan Teki status = "okay"; 42*f64f2e0fSJagan Teki}; 43*f64f2e0fSJagan Teki 44*f64f2e0fSJagan Teki&r_rsb { 45*f64f2e0fSJagan Teki status = "okay"; 46*f64f2e0fSJagan Teki 47*f64f2e0fSJagan Teki axp803: pmic@3a3 { 48*f64f2e0fSJagan Teki compatible = "x-powers,axp803"; 49*f64f2e0fSJagan Teki reg = <0x3a3>; 50*f64f2e0fSJagan Teki interrupt-parent = <&r_intc>; 51*f64f2e0fSJagan Teki interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 52*f64f2e0fSJagan Teki x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ 53*f64f2e0fSJagan Teki }; 54*f64f2e0fSJagan Teki}; 55*f64f2e0fSJagan Teki 56*f64f2e0fSJagan Teki#include "axp803.dtsi" 57*f64f2e0fSJagan Teki 58*f64f2e0fSJagan Teki®_aldo1 { 59*f64f2e0fSJagan Teki regulator-always-on; 60*f64f2e0fSJagan Teki regulator-min-microvolt = <2800000>; 61*f64f2e0fSJagan Teki regulator-max-microvolt = <2800000>; 62*f64f2e0fSJagan Teki regulator-name = "avdd-csi"; 63*f64f2e0fSJagan Teki}; 64*f64f2e0fSJagan Teki 65*f64f2e0fSJagan Teki®_aldo2 { 66*f64f2e0fSJagan Teki regulator-always-on; 67*f64f2e0fSJagan Teki regulator-min-microvolt = <1800000>; 68*f64f2e0fSJagan Teki regulator-max-microvolt = <3300000>; 69*f64f2e0fSJagan Teki regulator-name = "vcc-pl"; 70*f64f2e0fSJagan Teki}; 71*f64f2e0fSJagan Teki 72*f64f2e0fSJagan Teki®_aldo3 { 73*f64f2e0fSJagan Teki regulator-always-on; 74*f64f2e0fSJagan Teki regulator-min-microvolt = <3000000>; 75*f64f2e0fSJagan Teki regulator-max-microvolt = <3000000>; 76*f64f2e0fSJagan Teki regulator-name = "vcc-pll-avcc"; 77*f64f2e0fSJagan Teki}; 78*f64f2e0fSJagan Teki 79*f64f2e0fSJagan Teki®_dcdc1 { 80*f64f2e0fSJagan Teki regulator-always-on; 81*f64f2e0fSJagan Teki regulator-min-microvolt = <3300000>; 82*f64f2e0fSJagan Teki regulator-max-microvolt = <3300000>; 83*f64f2e0fSJagan Teki regulator-name = "vcc-3v3"; 84*f64f2e0fSJagan Teki}; 85*f64f2e0fSJagan Teki 86*f64f2e0fSJagan Teki®_dcdc2 { 87*f64f2e0fSJagan Teki regulator-always-on; 88*f64f2e0fSJagan Teki regulator-min-microvolt = <1040000>; 89*f64f2e0fSJagan Teki regulator-max-microvolt = <1300000>; 90*f64f2e0fSJagan Teki regulator-name = "vdd-cpux"; 91*f64f2e0fSJagan Teki}; 92*f64f2e0fSJagan Teki 93*f64f2e0fSJagan Teki/* DCDC3 is polyphased with DCDC2 */ 94*f64f2e0fSJagan Teki 95*f64f2e0fSJagan Teki®_dcdc5 { 96*f64f2e0fSJagan Teki regulator-always-on; 97*f64f2e0fSJagan Teki regulator-min-microvolt = <1500000>; 98*f64f2e0fSJagan Teki regulator-max-microvolt = <1500000>; 99*f64f2e0fSJagan Teki regulator-name = "vcc-dram"; 100*f64f2e0fSJagan Teki}; 101*f64f2e0fSJagan Teki 102*f64f2e0fSJagan Teki®_dcdc6 { 103*f64f2e0fSJagan Teki regulator-always-on; 104*f64f2e0fSJagan Teki regulator-min-microvolt = <1100000>; 105*f64f2e0fSJagan Teki regulator-max-microvolt = <1100000>; 106*f64f2e0fSJagan Teki regulator-name = "vdd-sys"; 107*f64f2e0fSJagan Teki}; 108*f64f2e0fSJagan Teki 109*f64f2e0fSJagan Teki®_dldo1 { 110*f64f2e0fSJagan Teki regulator-min-microvolt = <3300000>; 111*f64f2e0fSJagan Teki regulator-max-microvolt = <3300000>; 112*f64f2e0fSJagan Teki regulator-name = "vcc-hdmi-dsi-sensor"; 113*f64f2e0fSJagan Teki}; 114*f64f2e0fSJagan Teki 115*f64f2e0fSJagan Teki®_dldo2 { 116*f64f2e0fSJagan Teki regulator-min-microvolt = <3300000>; 117*f64f2e0fSJagan Teki regulator-max-microvolt = <3300000>; 118*f64f2e0fSJagan Teki regulator-name = "vcc-mipi"; 119*f64f2e0fSJagan Teki}; 120*f64f2e0fSJagan Teki 121*f64f2e0fSJagan Teki®_dldo3 { 122*f64f2e0fSJagan Teki regulator-min-microvolt = <2800000>; 123*f64f2e0fSJagan Teki regulator-max-microvolt = <2800000>; 124*f64f2e0fSJagan Teki regulator-name = "dovdd-csi"; 125*f64f2e0fSJagan Teki}; 126*f64f2e0fSJagan Teki 127*f64f2e0fSJagan Teki®_dldo4 { 128*f64f2e0fSJagan Teki regulator-min-microvolt = <3300000>; 129*f64f2e0fSJagan Teki regulator-max-microvolt = <3300000>; 130*f64f2e0fSJagan Teki regulator-name = "vcc-wifi-io"; 131*f64f2e0fSJagan Teki}; 132*f64f2e0fSJagan Teki 133*f64f2e0fSJagan Teki®_drivevbus { 134*f64f2e0fSJagan Teki regulator-name = "usb0-vbus"; 135*f64f2e0fSJagan Teki status = "okay"; 136*f64f2e0fSJagan Teki}; 137*f64f2e0fSJagan Teki 138*f64f2e0fSJagan Teki®_eldo1 { 139*f64f2e0fSJagan Teki regulator-always-on; 140*f64f2e0fSJagan Teki regulator-min-microvolt = <1800000>; 141*f64f2e0fSJagan Teki regulator-max-microvolt = <1800000>; 142*f64f2e0fSJagan Teki regulator-name = "cpvdd"; 143*f64f2e0fSJagan Teki}; 144*f64f2e0fSJagan Teki 145*f64f2e0fSJagan Teki®_eldo3 { 146*f64f2e0fSJagan Teki regulator-min-microvolt = <1800000>; 147*f64f2e0fSJagan Teki regulator-max-microvolt = <1800000>; 148*f64f2e0fSJagan Teki regulator-name = "dvdd-csi"; 149*f64f2e0fSJagan Teki}; 150*f64f2e0fSJagan Teki 151*f64f2e0fSJagan Teki®_fldo1 { 152*f64f2e0fSJagan Teki regulator-min-microvolt = <1200000>; 153*f64f2e0fSJagan Teki regulator-max-microvolt = <1200000>; 154*f64f2e0fSJagan Teki regulator-name = "vcc-1v2-hsic"; 155*f64f2e0fSJagan Teki}; 156*f64f2e0fSJagan Teki 157*f64f2e0fSJagan Teki/* 158*f64f2e0fSJagan Teki * The A64 chip cannot work without this regulator off, although 159*f64f2e0fSJagan Teki * it seems to be only driving the AR100 core. 160*f64f2e0fSJagan Teki * Maybe we don't still know well about CPUs domain. 161*f64f2e0fSJagan Teki */ 162*f64f2e0fSJagan Teki®_fldo2 { 163*f64f2e0fSJagan Teki regulator-always-on; 164*f64f2e0fSJagan Teki regulator-min-microvolt = <1100000>; 165*f64f2e0fSJagan Teki regulator-max-microvolt = <1100000>; 166*f64f2e0fSJagan Teki regulator-name = "vdd-cpus"; 167*f64f2e0fSJagan Teki}; 168*f64f2e0fSJagan Teki 169*f64f2e0fSJagan Teki®_rtc_ldo { 170*f64f2e0fSJagan Teki regulator-name = "vcc-rtc"; 171*f64f2e0fSJagan Teki}; 172*f64f2e0fSJagan Teki 173*f64f2e0fSJagan Teki&uart0 { 174*f64f2e0fSJagan Teki pinctrl-names = "default"; 175*f64f2e0fSJagan Teki pinctrl-0 = <&uart0_pins_a>; 176*f64f2e0fSJagan Teki status = "okay"; 177*f64f2e0fSJagan Teki}; 178*f64f2e0fSJagan Teki 179*f64f2e0fSJagan Teki&usb_otg { 180*f64f2e0fSJagan Teki dr_mode = "otg"; 181*f64f2e0fSJagan Teki status = "okay"; 182*f64f2e0fSJagan Teki}; 183*f64f2e0fSJagan Teki 184*f64f2e0fSJagan Teki&usbphy { 185*f64f2e0fSJagan Teki usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */ 186*f64f2e0fSJagan Teki usb0_vbus-supply = <®_drivevbus>; 187*f64f2e0fSJagan Teki status = "okay"; 188*f64f2e0fSJagan Teki}; 189