1b4b8f2c9SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (C) 2017 Jagan Teki <jteki@openedev.com> 3bf397214SJagan Teki 4bf397214SJagan Teki/dts-v1/; 5bf397214SJagan Teki 6bf397214SJagan Teki#include "sun50i-a64.dtsi" 7ac904843SVasily Khoruzhick#include "sun50i-a64-cpu-opp.dtsi" 8bf397214SJagan Teki 9bf397214SJagan Teki#include <dt-bindings/gpio/gpio.h> 10bf397214SJagan Teki 11bf397214SJagan Teki/ { 12bf397214SJagan Teki model = "FriendlyARM NanoPi A64"; 13bf397214SJagan Teki compatible = "friendlyarm,nanopi-a64", "allwinner,sun50i-a64"; 14bf397214SJagan Teki 15bf397214SJagan Teki aliases { 16708db568SAndre Przywara ethernet0 = &emac; 17bf397214SJagan Teki serial0 = &uart0; 18bf397214SJagan Teki }; 19bf397214SJagan Teki 20bf397214SJagan Teki chosen { 21bf397214SJagan Teki stdout-path = "serial0:115200n8"; 22bf397214SJagan Teki }; 23ca6aee21SAndre Przywara 24f4e4453aSJagan Teki hdmi-connector { 25f4e4453aSJagan Teki compatible = "hdmi-connector"; 26f4e4453aSJagan Teki type = "a"; 27f4e4453aSJagan Teki 28f4e4453aSJagan Teki port { 29f4e4453aSJagan Teki hdmi_con_in: endpoint { 30f4e4453aSJagan Teki remote-endpoint = <&hdmi_out_con>; 31f4e4453aSJagan Teki }; 32f4e4453aSJagan Teki }; 33f4e4453aSJagan Teki }; 34f4e4453aSJagan Teki 353e9429efSAndre Przywara leds { 363e9429efSAndre Przywara compatible = "gpio-leds"; 373e9429efSAndre Przywara 38e299e6ddSMaxime Ripard led { 393e9429efSAndre Przywara label = "nanopi-a64:blue:status"; 403e9429efSAndre Przywara gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */ 413e9429efSAndre Przywara }; 423e9429efSAndre Przywara }; 433e9429efSAndre Przywara 44ca6aee21SAndre Przywara wifi_pwrseq: wifi_pwrseq { 45ca6aee21SAndre Przywara compatible = "mmc-pwrseq-simple"; 46*1b9dac68SSamuel Holland clocks = <&rtc CLK_OSC32K_FANOUT>; 47ca6aee21SAndre Przywara clock-names = "ext_clock"; 48ca6aee21SAndre Przywara reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ 49ca6aee21SAndre Przywara }; 50bf397214SJagan Teki}; 51bf397214SJagan Teki 52ac904843SVasily Khoruzhick&cpu0 { 53ac904843SVasily Khoruzhick cpu-supply = <®_dcdc2>; 54ac904843SVasily Khoruzhick}; 55ac904843SVasily Khoruzhick 56ac904843SVasily Khoruzhick&cpu1 { 57ac904843SVasily Khoruzhick cpu-supply = <®_dcdc2>; 58ac904843SVasily Khoruzhick}; 59ac904843SVasily Khoruzhick 60ac904843SVasily Khoruzhick&cpu2 { 61ac904843SVasily Khoruzhick cpu-supply = <®_dcdc2>; 62ac904843SVasily Khoruzhick}; 63ac904843SVasily Khoruzhick 64ac904843SVasily Khoruzhick&cpu3 { 65ac904843SVasily Khoruzhick cpu-supply = <®_dcdc2>; 66ac904843SVasily Khoruzhick}; 67ac904843SVasily Khoruzhick 68f4e4453aSJagan Teki&de { 69f4e4453aSJagan Teki status = "okay"; 70f4e4453aSJagan Teki}; 71f4e4453aSJagan Teki 72bf397214SJagan Teki&ehci0 { 73bf397214SJagan Teki status = "okay"; 74bf397214SJagan Teki}; 75bf397214SJagan Teki 76bf397214SJagan Teki&ehci1 { 77bf397214SJagan Teki status = "okay"; 78bf397214SJagan Teki}; 79bf397214SJagan Teki 80708db568SAndre Przywara&emac { 81708db568SAndre Przywara pinctrl-names = "default"; 82708db568SAndre Przywara pinctrl-0 = <&rgmii_pins>; 83708db568SAndre Przywara phy-mode = "rgmii"; 84708db568SAndre Przywara phy-handle = <&ext_rgmii_phy>; 85708db568SAndre Przywara phy-supply = <®_dcdc1>; 86708db568SAndre Przywara status = "okay"; 87708db568SAndre Przywara}; 88708db568SAndre Przywara 89f4e4453aSJagan Teki&hdmi { 90f4e4453aSJagan Teki hvcc-supply = <®_dldo1>; 91f4e4453aSJagan Teki status = "okay"; 92f4e4453aSJagan Teki}; 93f4e4453aSJagan Teki 94f4e4453aSJagan Teki&hdmi_out { 95f4e4453aSJagan Teki hdmi_out_con: endpoint { 96f4e4453aSJagan Teki remote-endpoint = <&hdmi_con_in>; 97f4e4453aSJagan Teki }; 98f4e4453aSJagan Teki}; 99f4e4453aSJagan Teki 100bf397214SJagan Teki/* i2c1 connected with gpio headers like pine64, bananapi */ 101bf397214SJagan Teki&i2c1_pins { 102bf397214SJagan Teki bias-pull-up; 103bf397214SJagan Teki}; 104bf397214SJagan Teki 105708db568SAndre Przywara&mdio { 106708db568SAndre Przywara ext_rgmii_phy: ethernet-phy@1 { 107708db568SAndre Przywara compatible = "ethernet-phy-ieee802.3-c22"; 108708db568SAndre Przywara reg = <7>; 109708db568SAndre Przywara }; 110708db568SAndre Przywara}; 111708db568SAndre Przywara 112bf397214SJagan Teki&mmc0 { 113bf397214SJagan Teki pinctrl-names = "default"; 114bf397214SJagan Teki pinctrl-0 = <&mmc0_pins>; 115bf397214SJagan Teki vmmc-supply = <®_dcdc1>; 116b75cb68dSTuomas Tynkkynen cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 117bf397214SJagan Teki disable-wp; 118bf397214SJagan Teki bus-width = <4>; 119bf397214SJagan Teki status = "okay"; 120bf397214SJagan Teki}; 121bf397214SJagan Teki 122ca6aee21SAndre Przywara&mmc1 { 123ca6aee21SAndre Przywara pinctrl-names = "default"; 124ca6aee21SAndre Przywara pinctrl-0 = <&mmc1_pins>; 125ca6aee21SAndre Przywara vmmc-supply = <®_dcdc1>; 126ca6aee21SAndre Przywara vqmmc-supply = <®_dldo4>; 127ca6aee21SAndre Przywara mmc-pwrseq = <&wifi_pwrseq>; 128ca6aee21SAndre Przywara bus-width = <4>; 129ca6aee21SAndre Przywara non-removable; 130ca6aee21SAndre Przywara status = "okay"; 131ca6aee21SAndre Przywara 132ca6aee21SAndre Przywara rtl8189etv: wifi@1 { 133ca6aee21SAndre Przywara reg = <1>; 134ca6aee21SAndre Przywara interrupt-parent = <&r_pio>; 135ca6aee21SAndre Przywara interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */ 136ca6aee21SAndre Przywara interrupt-names = "host-wake"; 137ca6aee21SAndre Przywara }; 138ca6aee21SAndre Przywara}; 139ca6aee21SAndre Przywara 140bf397214SJagan Teki&ohci0 { 141bf397214SJagan Teki status = "okay"; 142bf397214SJagan Teki}; 143bf397214SJagan Teki 144bf397214SJagan Teki&ohci1 { 145bf397214SJagan Teki status = "okay"; 146bf397214SJagan Teki}; 147bf397214SJagan Teki 148bf397214SJagan Teki&r_rsb { 149bf397214SJagan Teki status = "okay"; 150bf397214SJagan Teki 151bf397214SJagan Teki axp803: pmic@3a3 { 152bf397214SJagan Teki compatible = "x-powers,axp803"; 153bf397214SJagan Teki reg = <0x3a3>; 154bf397214SJagan Teki interrupt-parent = <&r_intc>; 15573088dfeSSamuel Holland interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>; 156bf397214SJagan Teki }; 157bf397214SJagan Teki}; 158bf397214SJagan Teki 159bf397214SJagan Teki#include "axp803.dtsi" 160bf397214SJagan Teki 161a24270afSChen-Yu Tsai&ac_power_supply { 162a24270afSChen-Yu Tsai status = "okay"; 163a24270afSChen-Yu Tsai}; 164a24270afSChen-Yu Tsai 165bf397214SJagan Teki®_aldo2 { 166bf397214SJagan Teki regulator-always-on; 167bf397214SJagan Teki regulator-min-microvolt = <1800000>; 168bf397214SJagan Teki regulator-max-microvolt = <3300000>; 169bf397214SJagan Teki regulator-name = "vcc-pl"; 170bf397214SJagan Teki}; 171bf397214SJagan Teki 172bf397214SJagan Teki®_aldo3 { 173bf397214SJagan Teki regulator-always-on; 174bf397214SJagan Teki regulator-min-microvolt = <3000000>; 175bf397214SJagan Teki regulator-max-microvolt = <3000000>; 176bf397214SJagan Teki regulator-name = "vcc-pll-avcc"; 177bf397214SJagan Teki}; 178bf397214SJagan Teki 179bf397214SJagan Teki®_dcdc1 { 180bf397214SJagan Teki regulator-always-on; 181480f58cdSAndre Przywara regulator-min-microvolt = <3300000>; 182480f58cdSAndre Przywara regulator-max-microvolt = <3300000>; 183480f58cdSAndre Przywara regulator-name = "vcc-3v3"; 184bf397214SJagan Teki}; 185bf397214SJagan Teki 186bf397214SJagan Teki®_dcdc2 { 187bf397214SJagan Teki regulator-always-on; 188bf397214SJagan Teki regulator-min-microvolt = <1040000>; 189bf397214SJagan Teki regulator-max-microvolt = <1300000>; 190bf397214SJagan Teki regulator-name = "vdd-cpux"; 191bf397214SJagan Teki}; 192bf397214SJagan Teki 193bf397214SJagan Teki/* DCDC3 is polyphased with DCDC2 */ 194bf397214SJagan Teki 195bf397214SJagan Teki®_dcdc5 { 196bf397214SJagan Teki regulator-always-on; 197bf397214SJagan Teki regulator-min-microvolt = <1500000>; 198bf397214SJagan Teki regulator-max-microvolt = <1500000>; 199bf397214SJagan Teki regulator-name = "vcc-dram"; 200bf397214SJagan Teki}; 201bf397214SJagan Teki 202bf397214SJagan Teki®_dcdc6 { 203bf397214SJagan Teki regulator-always-on; 204bf397214SJagan Teki regulator-min-microvolt = <1100000>; 205bf397214SJagan Teki regulator-max-microvolt = <1100000>; 206bf397214SJagan Teki regulator-name = "vdd-sys"; 207bf397214SJagan Teki}; 208bf397214SJagan Teki 209bf397214SJagan Teki®_dldo1 { 210bf397214SJagan Teki regulator-always-on; 211bf397214SJagan Teki regulator-min-microvolt = <3300000>; 212bf397214SJagan Teki regulator-max-microvolt = <3300000>; 213bf397214SJagan Teki regulator-name = "vcc-hdmi-dsi"; 214bf397214SJagan Teki}; 215bf397214SJagan Teki 216bf397214SJagan Teki®_dldo4 { 217bf397214SJagan Teki regulator-always-on; 218bf397214SJagan Teki regulator-min-microvolt = <3000000>; 219bf397214SJagan Teki regulator-max-microvolt = <3000000>; 220bf397214SJagan Teki regulator-name = "vcc-pg-wifi-io"; 221bf397214SJagan Teki}; 222bf397214SJagan Teki 223bf397214SJagan Teki®_eldo1 { 224bf397214SJagan Teki regulator-min-microvolt = <1800000>; 225bf397214SJagan Teki regulator-max-microvolt = <1800000>; 226bf397214SJagan Teki regulator-name = "cpvdd"; 227bf397214SJagan Teki}; 228bf397214SJagan Teki 229bf397214SJagan Teki®_fldo1 { 230bf397214SJagan Teki regulator-min-microvolt = <1200000>; 231bf397214SJagan Teki regulator-max-microvolt = <1200000>; 232bf397214SJagan Teki regulator-name = "vcc-1v2-hsic"; 233bf397214SJagan Teki}; 234bf397214SJagan Teki 235bf397214SJagan Teki/* 236bf397214SJagan Teki * The A64 chip cannot work without this regulator off, although 237bf397214SJagan Teki * it seems to be only driving the AR100 core. 238bf397214SJagan Teki * Maybe we don't still know well about CPUs domain. 239bf397214SJagan Teki */ 240bf397214SJagan Teki®_fldo2 { 241bf397214SJagan Teki regulator-always-on; 242bf397214SJagan Teki regulator-min-microvolt = <1100000>; 243bf397214SJagan Teki regulator-max-microvolt = <1100000>; 244bf397214SJagan Teki regulator-name = "vdd-cpus"; 245bf397214SJagan Teki}; 246bf397214SJagan Teki 247bf397214SJagan Teki®_rtc_ldo { 248bf397214SJagan Teki regulator-name = "vcc-rtc"; 249bf397214SJagan Teki}; 250bf397214SJagan Teki 2515cbef9f9SIcenowy Zheng&simplefb_hdmi { 2525cbef9f9SIcenowy Zheng vcc-hdmi-supply = <®_dldo1>; 2535cbef9f9SIcenowy Zheng}; 2545cbef9f9SIcenowy Zheng 255bf397214SJagan Teki&uart0 { 256bf397214SJagan Teki pinctrl-names = "default"; 257d91ebb95SChen-Yu Tsai pinctrl-0 = <&uart0_pb_pins>; 258bf397214SJagan Teki status = "okay"; 259bf397214SJagan Teki}; 260bf397214SJagan Teki 261bf397214SJagan Teki&usbphy { 262bf397214SJagan Teki status = "okay"; 263bf397214SJagan Teki}; 264