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