1012af553SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.io> 3494d8367SIcenowy Zheng 4494d8367SIcenowy Zheng/dts-v1/; 5494d8367SIcenowy Zheng 6494d8367SIcenowy Zheng#include "sun50i-h6.dtsi" 7494d8367SIcenowy Zheng 8494d8367SIcenowy Zheng#include <dt-bindings/gpio/gpio.h> 9494d8367SIcenowy Zheng 10494d8367SIcenowy Zheng/ { 1124e9f61cSCorentin Labbe model = "Pine H64 model A"; 12494d8367SIcenowy Zheng compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; 13494d8367SIcenowy Zheng 14494d8367SIcenowy Zheng aliases { 15729e1ffcSIcenowy Zheng ethernet0 = &emac; 16494d8367SIcenowy Zheng serial0 = &uart0; 17494d8367SIcenowy Zheng }; 18494d8367SIcenowy Zheng 19494d8367SIcenowy Zheng chosen { 20494d8367SIcenowy Zheng stdout-path = "serial0:115200n8"; 21494d8367SIcenowy Zheng }; 226677bbdeSChen-Yu Tsai 2324e9f61cSCorentin Labbe hdmi_connector: connector { 247d5bca1cSJernej Skrabec compatible = "hdmi-connector"; 257d5bca1cSJernej Skrabec type = "a"; 2624e9f61cSCorentin Labbe ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 277d5bca1cSJernej Skrabec 287d5bca1cSJernej Skrabec port { 297d5bca1cSJernej Skrabec hdmi_con_in: endpoint { 307d5bca1cSJernej Skrabec remote-endpoint = <&hdmi_out_con>; 317d5bca1cSJernej Skrabec }; 327d5bca1cSJernej Skrabec }; 337d5bca1cSJernej Skrabec }; 347d5bca1cSJernej Skrabec 356677bbdeSChen-Yu Tsai leds { 366677bbdeSChen-Yu Tsai compatible = "gpio-leds"; 376677bbdeSChen-Yu Tsai 386677bbdeSChen-Yu Tsai heartbeat { 396677bbdeSChen-Yu Tsai label = "pine-h64:green:heartbeat"; 406677bbdeSChen-Yu Tsai gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 416677bbdeSChen-Yu Tsai }; 426677bbdeSChen-Yu Tsai 436677bbdeSChen-Yu Tsai link { 446677bbdeSChen-Yu Tsai label = "pine-h64:white:link"; 456677bbdeSChen-Yu Tsai gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>; /* PL3 */ 466677bbdeSChen-Yu Tsai }; 476677bbdeSChen-Yu Tsai 486677bbdeSChen-Yu Tsai status { 496677bbdeSChen-Yu Tsai label = "pine-h64:blue:status"; 506677bbdeSChen-Yu Tsai gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ 516677bbdeSChen-Yu Tsai }; 526677bbdeSChen-Yu Tsai }; 5344eb589cSIcenowy Zheng 5424e9f61cSCorentin Labbe reg_gmac_3v3: gmac-3v3 { 5524e9f61cSCorentin Labbe compatible = "regulator-fixed"; 5624e9f61cSCorentin Labbe regulator-name = "vcc-gmac-3v3"; 5724e9f61cSCorentin Labbe regulator-min-microvolt = <3300000>; 5824e9f61cSCorentin Labbe regulator-max-microvolt = <3300000>; 5924e9f61cSCorentin Labbe startup-delay-us = <100000>; 6024e9f61cSCorentin Labbe gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; 6124e9f61cSCorentin Labbe enable-active-high; 6224e9f61cSCorentin Labbe }; 6324e9f61cSCorentin Labbe 6444eb589cSIcenowy Zheng reg_usb_vbus: vbus { 6544eb589cSIcenowy Zheng compatible = "regulator-fixed"; 6644eb589cSIcenowy Zheng regulator-name = "usb-vbus"; 6744eb589cSIcenowy Zheng regulator-min-microvolt = <5000000>; 6844eb589cSIcenowy Zheng regulator-max-microvolt = <5000000>; 6944eb589cSIcenowy Zheng startup-delay-us = <100000>; 7044eb589cSIcenowy Zheng gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; 7144eb589cSIcenowy Zheng enable-active-high; 7244eb589cSIcenowy Zheng }; 73494d8367SIcenowy Zheng}; 74494d8367SIcenowy Zheng 75729e1ffcSIcenowy Zheng&emac { 76729e1ffcSIcenowy Zheng pinctrl-names = "default"; 77729e1ffcSIcenowy Zheng pinctrl-0 = <&ext_rgmii_pins>; 78729e1ffcSIcenowy Zheng phy-mode = "rgmii"; 79729e1ffcSIcenowy Zheng phy-handle = <&ext_rgmii_phy>; 8024e9f61cSCorentin Labbe phy-supply = <®_gmac_3v3>; 81729e1ffcSIcenowy Zheng allwinner,rx-delay-ps = <200>; 82729e1ffcSIcenowy Zheng allwinner,tx-delay-ps = <200>; 83729e1ffcSIcenowy Zheng status = "okay"; 84729e1ffcSIcenowy Zheng}; 85729e1ffcSIcenowy Zheng 86729e1ffcSIcenowy Zheng&mdio { 87729e1ffcSIcenowy Zheng ext_rgmii_phy: ethernet-phy@1 { 88729e1ffcSIcenowy Zheng compatible = "ethernet-phy-ieee802.3-c22"; 89729e1ffcSIcenowy Zheng reg = <1>; 90729e1ffcSIcenowy Zheng }; 91729e1ffcSIcenowy Zheng}; 92729e1ffcSIcenowy Zheng 937d5bca1cSJernej Skrabec&de { 947d5bca1cSJernej Skrabec status = "okay"; 957d5bca1cSJernej Skrabec}; 967d5bca1cSJernej Skrabec 978abc4c4aSClément Péron&gpu { 988abc4c4aSClément Péron mali-supply = <®_dcdcc>; 998abc4c4aSClément Péron status = "okay"; 1008abc4c4aSClément Péron}; 1018abc4c4aSClément Péron 1027d5bca1cSJernej Skrabec&hdmi { 1037d5bca1cSJernej Skrabec status = "okay"; 1047d5bca1cSJernej Skrabec}; 1057d5bca1cSJernej Skrabec 1067d5bca1cSJernej Skrabec&hdmi_out { 1077d5bca1cSJernej Skrabec hdmi_out_con: endpoint { 1087d5bca1cSJernej Skrabec remote-endpoint = <&hdmi_con_in>; 1097d5bca1cSJernej Skrabec }; 1107d5bca1cSJernej Skrabec}; 1117d5bca1cSJernej Skrabec 1123bfa011dSIcenowy Zheng&ehci0 { 1133bfa011dSIcenowy Zheng status = "okay"; 1143bfa011dSIcenowy Zheng}; 1153bfa011dSIcenowy Zheng 1163bfa011dSIcenowy Zheng&ehci3 { 1173bfa011dSIcenowy Zheng status = "okay"; 1183bfa011dSIcenowy Zheng}; 1193bfa011dSIcenowy Zheng 120ecbd6118SIcenowy Zheng&mmc0 { 121ecbd6118SIcenowy Zheng vmmc-supply = <®_cldo1>; 122ecbd6118SIcenowy Zheng cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 123d177c8b6SIcenowy Zheng bus-width = <4>; 124ecbd6118SIcenowy Zheng status = "okay"; 125ecbd6118SIcenowy Zheng}; 126ecbd6118SIcenowy Zheng 127ecbd6118SIcenowy Zheng&mmc2 { 128ecbd6118SIcenowy Zheng vmmc-supply = <®_cldo1>; 129ecbd6118SIcenowy Zheng vqmmc-supply = <®_bldo2>; 130ecbd6118SIcenowy Zheng non-removable; 131ecbd6118SIcenowy Zheng cap-mmc-hw-reset; 132d177c8b6SIcenowy Zheng bus-width = <8>; 133ecbd6118SIcenowy Zheng status = "okay"; 134ecbd6118SIcenowy Zheng}; 135ecbd6118SIcenowy Zheng 1363bfa011dSIcenowy Zheng&ohci0 { 1373bfa011dSIcenowy Zheng status = "okay"; 1383bfa011dSIcenowy Zheng}; 1393bfa011dSIcenowy Zheng 1403bfa011dSIcenowy Zheng&ohci3 { 1413bfa011dSIcenowy Zheng status = "okay"; 1423bfa011dSIcenowy Zheng}; 1433bfa011dSIcenowy Zheng 14422538576SIcenowy Zheng&pio { 14522538576SIcenowy Zheng vcc-pc-supply = <®_bldo2>; 14622538576SIcenowy Zheng vcc-pd-supply = <®_cldo1>; 14722538576SIcenowy Zheng vcc-pg-supply = <®_aldo1>; 14822538576SIcenowy Zheng}; 14922538576SIcenowy Zheng 15017ebc33aSIcenowy Zheng&r_i2c { 15117ebc33aSIcenowy Zheng status = "okay"; 15217ebc33aSIcenowy Zheng 153eb28fb9eSIcenowy Zheng axp805: pmic@36 { 154eb28fb9eSIcenowy Zheng compatible = "x-powers,axp805", "x-powers,axp806"; 155eb28fb9eSIcenowy Zheng reg = <0x36>; 156eb28fb9eSIcenowy Zheng interrupt-parent = <&r_intc>; 157eb28fb9eSIcenowy Zheng interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 158eb28fb9eSIcenowy Zheng interrupt-controller; 159eb28fb9eSIcenowy Zheng #interrupt-cells = <1>; 160eb28fb9eSIcenowy Zheng x-powers,self-working-mode; 161eb28fb9eSIcenowy Zheng 162eb28fb9eSIcenowy Zheng regulators { 163eb28fb9eSIcenowy Zheng reg_aldo1: aldo1 { 164eb28fb9eSIcenowy Zheng regulator-always-on; 165eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 166eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 167eb28fb9eSIcenowy Zheng regulator-name = "vcc-pl"; 168eb28fb9eSIcenowy Zheng }; 169eb28fb9eSIcenowy Zheng 170eb28fb9eSIcenowy Zheng reg_aldo2: aldo2 { 171eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 172eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 173eb28fb9eSIcenowy Zheng regulator-name = "vcc-ac200"; 174729e1ffcSIcenowy Zheng regulator-enable-ramp-delay = <100000>; 175eb28fb9eSIcenowy Zheng }; 176eb28fb9eSIcenowy Zheng 177eb28fb9eSIcenowy Zheng reg_aldo3: aldo3 { 178eb28fb9eSIcenowy Zheng /* This regulator is connected with CLDO1 */ 179eb28fb9eSIcenowy Zheng regulator-always-on; 180eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 181eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 182eb28fb9eSIcenowy Zheng regulator-name = "vcc-3v3-1"; 183eb28fb9eSIcenowy Zheng }; 184eb28fb9eSIcenowy Zheng 185eb28fb9eSIcenowy Zheng reg_bldo1: bldo1 { 186eb28fb9eSIcenowy Zheng regulator-always-on; 187eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 188eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 189eb28fb9eSIcenowy Zheng regulator-name = "vcc-bias-pll"; 190eb28fb9eSIcenowy Zheng }; 191eb28fb9eSIcenowy Zheng 192eb28fb9eSIcenowy Zheng reg_bldo2: bldo2 { 193eb28fb9eSIcenowy Zheng regulator-always-on; 194eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 195eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 196eb28fb9eSIcenowy Zheng regulator-name = "vcc-efuse-pcie-hdmi-io"; 197eb28fb9eSIcenowy Zheng }; 198eb28fb9eSIcenowy Zheng 199eb28fb9eSIcenowy Zheng reg_bldo3: bldo3 { 200eb28fb9eSIcenowy Zheng regulator-always-on; 201eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 202eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 203eb28fb9eSIcenowy Zheng regulator-name = "vcc-dcxoio"; 204eb28fb9eSIcenowy Zheng }; 205eb28fb9eSIcenowy Zheng 206eb28fb9eSIcenowy Zheng bldo4 { 207eb28fb9eSIcenowy Zheng /* unused */ 208eb28fb9eSIcenowy Zheng }; 209eb28fb9eSIcenowy Zheng 210eb28fb9eSIcenowy Zheng reg_cldo1: cldo1 { 211eb28fb9eSIcenowy Zheng /* This regulator is connected with ALDO3 */ 212eb28fb9eSIcenowy Zheng regulator-always-on; 213eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 214eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 215eb28fb9eSIcenowy Zheng regulator-name = "vcc-3v3-2"; 216eb28fb9eSIcenowy Zheng }; 217eb28fb9eSIcenowy Zheng 218eb28fb9eSIcenowy Zheng reg_cldo2: cldo2 { 219eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 220eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 221eb28fb9eSIcenowy Zheng regulator-name = "vcc-wifi-1"; 222eb28fb9eSIcenowy Zheng }; 223eb28fb9eSIcenowy Zheng 224eb28fb9eSIcenowy Zheng reg_cldo3: cldo3 { 225eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 226eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 227eb28fb9eSIcenowy Zheng regulator-name = "vcc-wifi-2"; 228eb28fb9eSIcenowy Zheng }; 229eb28fb9eSIcenowy Zheng 230eb28fb9eSIcenowy Zheng reg_dcdca: dcdca { 231eb28fb9eSIcenowy Zheng regulator-always-on; 232eb28fb9eSIcenowy Zheng regulator-min-microvolt = <810000>; 233eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1080000>; 234eb28fb9eSIcenowy Zheng regulator-name = "vdd-cpu"; 235eb28fb9eSIcenowy Zheng }; 236eb28fb9eSIcenowy Zheng 237eb28fb9eSIcenowy Zheng reg_dcdcc: dcdcc { 2388abc4c4aSClément Péron regulator-enable-ramp-delay = <32000>; 239eb28fb9eSIcenowy Zheng regulator-min-microvolt = <810000>; 240eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1080000>; 241eb28fb9eSIcenowy Zheng regulator-name = "vdd-gpu"; 242eb28fb9eSIcenowy Zheng }; 243eb28fb9eSIcenowy Zheng 244eb28fb9eSIcenowy Zheng reg_dcdcd: dcdcd { 245eb28fb9eSIcenowy Zheng regulator-always-on; 246eb28fb9eSIcenowy Zheng regulator-min-microvolt = <960000>; 247eb28fb9eSIcenowy Zheng regulator-max-microvolt = <960000>; 248eb28fb9eSIcenowy Zheng regulator-name = "vdd-sys"; 249eb28fb9eSIcenowy Zheng }; 250eb28fb9eSIcenowy Zheng 251eb28fb9eSIcenowy Zheng reg_dcdce: dcdce { 252eb28fb9eSIcenowy Zheng regulator-always-on; 253eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1200000>; 254eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1200000>; 255eb28fb9eSIcenowy Zheng regulator-name = "vcc-dram"; 256eb28fb9eSIcenowy Zheng }; 257eb28fb9eSIcenowy Zheng 258eb28fb9eSIcenowy Zheng sw { 259eb28fb9eSIcenowy Zheng /* unused */ 260eb28fb9eSIcenowy Zheng }; 261eb28fb9eSIcenowy Zheng }; 262eb28fb9eSIcenowy Zheng }; 263eb28fb9eSIcenowy Zheng 26417ebc33aSIcenowy Zheng pcf8563: rtc@51 { 26517ebc33aSIcenowy Zheng compatible = "nxp,pcf8563"; 26617ebc33aSIcenowy Zheng reg = <0x51>; 2670bb9d187SChen-Yu Tsai interrupt-parent = <&r_intc>; 2680bb9d187SChen-Yu Tsai interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 26917ebc33aSIcenowy Zheng #clock-cells = <0>; 27017ebc33aSIcenowy Zheng }; 27117ebc33aSIcenowy Zheng}; 27217ebc33aSIcenowy Zheng 27386be7408SClément Péron&r_ir { 27486be7408SClément Péron status = "okay"; 27586be7408SClément Péron}; 27686be7408SClément Péron 27722538576SIcenowy Zheng&r_pio { 27822538576SIcenowy Zheng vcc-pm-supply = <®_aldo1>; 27922538576SIcenowy Zheng}; 28022538576SIcenowy Zheng 281494d8367SIcenowy Zheng&uart0 { 282494d8367SIcenowy Zheng pinctrl-names = "default"; 283494d8367SIcenowy Zheng pinctrl-0 = <&uart0_ph_pins>; 284494d8367SIcenowy Zheng status = "okay"; 285494d8367SIcenowy Zheng}; 2863bfa011dSIcenowy Zheng 2873bfa011dSIcenowy Zheng&usb2otg { 2883bfa011dSIcenowy Zheng dr_mode = "host"; 2893bfa011dSIcenowy Zheng status = "okay"; 2903bfa011dSIcenowy Zheng}; 2913bfa011dSIcenowy Zheng 2923bfa011dSIcenowy Zheng&usb2phy { 2933bfa011dSIcenowy Zheng usb0_vbus-supply = <®_usb_vbus>; 2943bfa011dSIcenowy Zheng usb3_vbus-supply = <®_usb_vbus>; 2953bfa011dSIcenowy Zheng status = "okay"; 2963bfa011dSIcenowy Zheng}; 297