1494d8367SIcenowy Zheng// 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/ { 13494d8367SIcenowy Zheng model = "Pine H64"; 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 257d5bca1cSJernej Skrabec connector { 267d5bca1cSJernej Skrabec compatible = "hdmi-connector"; 277d5bca1cSJernej Skrabec type = "a"; 287d5bca1cSJernej Skrabec 297d5bca1cSJernej Skrabec port { 307d5bca1cSJernej Skrabec hdmi_con_in: endpoint { 317d5bca1cSJernej Skrabec remote-endpoint = <&hdmi_out_con>; 327d5bca1cSJernej Skrabec }; 337d5bca1cSJernej Skrabec }; 347d5bca1cSJernej Skrabec }; 357d5bca1cSJernej Skrabec 366677bbdeSChen-Yu Tsai leds { 376677bbdeSChen-Yu Tsai compatible = "gpio-leds"; 386677bbdeSChen-Yu Tsai 396677bbdeSChen-Yu Tsai heartbeat { 406677bbdeSChen-Yu Tsai label = "pine-h64:green:heartbeat"; 416677bbdeSChen-Yu Tsai gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 426677bbdeSChen-Yu Tsai }; 436677bbdeSChen-Yu Tsai 446677bbdeSChen-Yu Tsai link { 456677bbdeSChen-Yu Tsai label = "pine-h64:white:link"; 466677bbdeSChen-Yu Tsai gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>; /* PL3 */ 476677bbdeSChen-Yu Tsai }; 486677bbdeSChen-Yu Tsai 496677bbdeSChen-Yu Tsai status { 506677bbdeSChen-Yu Tsai label = "pine-h64:blue:status"; 516677bbdeSChen-Yu Tsai gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ 526677bbdeSChen-Yu Tsai }; 536677bbdeSChen-Yu Tsai }; 5444eb589cSIcenowy Zheng 5544eb589cSIcenowy Zheng reg_usb_vbus: vbus { 5644eb589cSIcenowy Zheng compatible = "regulator-fixed"; 5744eb589cSIcenowy Zheng regulator-name = "usb-vbus"; 5844eb589cSIcenowy Zheng regulator-min-microvolt = <5000000>; 5944eb589cSIcenowy Zheng regulator-max-microvolt = <5000000>; 6044eb589cSIcenowy Zheng startup-delay-us = <100000>; 6144eb589cSIcenowy Zheng gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; 6244eb589cSIcenowy Zheng enable-active-high; 6344eb589cSIcenowy Zheng }; 64494d8367SIcenowy Zheng}; 65494d8367SIcenowy Zheng 66729e1ffcSIcenowy Zheng&emac { 67729e1ffcSIcenowy Zheng pinctrl-names = "default"; 68729e1ffcSIcenowy Zheng pinctrl-0 = <&ext_rgmii_pins>; 69729e1ffcSIcenowy Zheng phy-mode = "rgmii"; 70729e1ffcSIcenowy Zheng phy-handle = <&ext_rgmii_phy>; 71729e1ffcSIcenowy Zheng phy-supply = <®_aldo2>; 72729e1ffcSIcenowy Zheng allwinner,rx-delay-ps = <200>; 73729e1ffcSIcenowy Zheng allwinner,tx-delay-ps = <200>; 74729e1ffcSIcenowy Zheng status = "okay"; 75729e1ffcSIcenowy Zheng}; 76729e1ffcSIcenowy Zheng 77729e1ffcSIcenowy Zheng&mdio { 78729e1ffcSIcenowy Zheng ext_rgmii_phy: ethernet-phy@1 { 79729e1ffcSIcenowy Zheng compatible = "ethernet-phy-ieee802.3-c22"; 80729e1ffcSIcenowy Zheng reg = <1>; 81729e1ffcSIcenowy Zheng }; 82729e1ffcSIcenowy Zheng}; 83729e1ffcSIcenowy Zheng 847d5bca1cSJernej Skrabec&de { 857d5bca1cSJernej Skrabec status = "okay"; 867d5bca1cSJernej Skrabec}; 877d5bca1cSJernej Skrabec 887d5bca1cSJernej Skrabec&hdmi { 897d5bca1cSJernej Skrabec status = "okay"; 907d5bca1cSJernej Skrabec}; 917d5bca1cSJernej Skrabec 927d5bca1cSJernej Skrabec&hdmi_out { 937d5bca1cSJernej Skrabec hdmi_out_con: endpoint { 947d5bca1cSJernej Skrabec remote-endpoint = <&hdmi_con_in>; 957d5bca1cSJernej Skrabec }; 967d5bca1cSJernej Skrabec}; 977d5bca1cSJernej Skrabec 983bfa011dSIcenowy Zheng&ehci0 { 993bfa011dSIcenowy Zheng status = "okay"; 1003bfa011dSIcenowy Zheng}; 1013bfa011dSIcenowy Zheng 1023bfa011dSIcenowy Zheng&ehci3 { 1033bfa011dSIcenowy Zheng status = "okay"; 1043bfa011dSIcenowy Zheng}; 1053bfa011dSIcenowy Zheng 106ecbd6118SIcenowy Zheng&mmc0 { 107ecbd6118SIcenowy Zheng vmmc-supply = <®_cldo1>; 108ecbd6118SIcenowy Zheng cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 109d177c8b6SIcenowy Zheng bus-width = <4>; 110ecbd6118SIcenowy Zheng status = "okay"; 111ecbd6118SIcenowy Zheng}; 112ecbd6118SIcenowy Zheng 113ecbd6118SIcenowy Zheng&mmc2 { 114ecbd6118SIcenowy Zheng vmmc-supply = <®_cldo1>; 115ecbd6118SIcenowy Zheng vqmmc-supply = <®_bldo2>; 116ecbd6118SIcenowy Zheng non-removable; 117ecbd6118SIcenowy Zheng cap-mmc-hw-reset; 118d177c8b6SIcenowy Zheng bus-width = <8>; 119ecbd6118SIcenowy Zheng status = "okay"; 120ecbd6118SIcenowy Zheng}; 121ecbd6118SIcenowy Zheng 1223bfa011dSIcenowy Zheng&ohci0 { 1233bfa011dSIcenowy Zheng status = "okay"; 1243bfa011dSIcenowy Zheng}; 1253bfa011dSIcenowy Zheng 1263bfa011dSIcenowy Zheng&ohci3 { 1273bfa011dSIcenowy Zheng status = "okay"; 1283bfa011dSIcenowy Zheng}; 1293bfa011dSIcenowy Zheng 13022538576SIcenowy Zheng&pio { 13122538576SIcenowy Zheng vcc-pc-supply = <®_bldo2>; 13222538576SIcenowy Zheng vcc-pd-supply = <®_cldo1>; 13322538576SIcenowy Zheng vcc-pg-supply = <®_aldo1>; 13422538576SIcenowy Zheng}; 13522538576SIcenowy Zheng 13617ebc33aSIcenowy Zheng&r_i2c { 13717ebc33aSIcenowy Zheng status = "okay"; 13817ebc33aSIcenowy Zheng 139eb28fb9eSIcenowy Zheng axp805: pmic@36 { 140eb28fb9eSIcenowy Zheng compatible = "x-powers,axp805", "x-powers,axp806"; 141eb28fb9eSIcenowy Zheng reg = <0x36>; 142eb28fb9eSIcenowy Zheng interrupt-parent = <&r_intc>; 143eb28fb9eSIcenowy Zheng interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 144eb28fb9eSIcenowy Zheng interrupt-controller; 145eb28fb9eSIcenowy Zheng #interrupt-cells = <1>; 146eb28fb9eSIcenowy Zheng x-powers,self-working-mode; 147eb28fb9eSIcenowy Zheng 148eb28fb9eSIcenowy Zheng regulators { 149eb28fb9eSIcenowy Zheng reg_aldo1: aldo1 { 150eb28fb9eSIcenowy Zheng regulator-always-on; 151eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 152eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 153eb28fb9eSIcenowy Zheng regulator-name = "vcc-pl"; 154eb28fb9eSIcenowy Zheng }; 155eb28fb9eSIcenowy Zheng 156eb28fb9eSIcenowy Zheng reg_aldo2: aldo2 { 157eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 158eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 159eb28fb9eSIcenowy Zheng regulator-name = "vcc-ac200"; 160729e1ffcSIcenowy Zheng regulator-enable-ramp-delay = <100000>; 161eb28fb9eSIcenowy Zheng }; 162eb28fb9eSIcenowy Zheng 163eb28fb9eSIcenowy Zheng reg_aldo3: aldo3 { 164eb28fb9eSIcenowy Zheng /* This regulator is connected with CLDO1 */ 165eb28fb9eSIcenowy Zheng regulator-always-on; 166eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 167eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 168eb28fb9eSIcenowy Zheng regulator-name = "vcc-3v3-1"; 169eb28fb9eSIcenowy Zheng }; 170eb28fb9eSIcenowy Zheng 171eb28fb9eSIcenowy Zheng reg_bldo1: bldo1 { 172eb28fb9eSIcenowy Zheng regulator-always-on; 173eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 174eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 175eb28fb9eSIcenowy Zheng regulator-name = "vcc-bias-pll"; 176eb28fb9eSIcenowy Zheng }; 177eb28fb9eSIcenowy Zheng 178eb28fb9eSIcenowy Zheng reg_bldo2: bldo2 { 179eb28fb9eSIcenowy Zheng regulator-always-on; 180eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 181eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 182eb28fb9eSIcenowy Zheng regulator-name = "vcc-efuse-pcie-hdmi-io"; 183eb28fb9eSIcenowy Zheng }; 184eb28fb9eSIcenowy Zheng 185eb28fb9eSIcenowy Zheng reg_bldo3: bldo3 { 186eb28fb9eSIcenowy Zheng regulator-always-on; 187eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 188eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 189eb28fb9eSIcenowy Zheng regulator-name = "vcc-dcxoio"; 190eb28fb9eSIcenowy Zheng }; 191eb28fb9eSIcenowy Zheng 192eb28fb9eSIcenowy Zheng bldo4 { 193eb28fb9eSIcenowy Zheng /* unused */ 194eb28fb9eSIcenowy Zheng }; 195eb28fb9eSIcenowy Zheng 196eb28fb9eSIcenowy Zheng reg_cldo1: cldo1 { 197eb28fb9eSIcenowy Zheng /* This regulator is connected with ALDO3 */ 198eb28fb9eSIcenowy Zheng regulator-always-on; 199eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 200eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 201eb28fb9eSIcenowy Zheng regulator-name = "vcc-3v3-2"; 202eb28fb9eSIcenowy Zheng }; 203eb28fb9eSIcenowy Zheng 204eb28fb9eSIcenowy Zheng reg_cldo2: cldo2 { 205eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 206eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 207eb28fb9eSIcenowy Zheng regulator-name = "vcc-wifi-1"; 208eb28fb9eSIcenowy Zheng }; 209eb28fb9eSIcenowy Zheng 210eb28fb9eSIcenowy Zheng reg_cldo3: cldo3 { 211eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 212eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 213eb28fb9eSIcenowy Zheng regulator-name = "vcc-wifi-2"; 214eb28fb9eSIcenowy Zheng }; 215eb28fb9eSIcenowy Zheng 216eb28fb9eSIcenowy Zheng reg_dcdca: dcdca { 217eb28fb9eSIcenowy Zheng regulator-always-on; 218eb28fb9eSIcenowy Zheng regulator-min-microvolt = <810000>; 219eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1080000>; 220eb28fb9eSIcenowy Zheng regulator-name = "vdd-cpu"; 221eb28fb9eSIcenowy Zheng }; 222eb28fb9eSIcenowy Zheng 223eb28fb9eSIcenowy Zheng reg_dcdcc: dcdcc { 224eb28fb9eSIcenowy Zheng regulator-min-microvolt = <810000>; 225eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1080000>; 226eb28fb9eSIcenowy Zheng regulator-name = "vdd-gpu"; 227eb28fb9eSIcenowy Zheng }; 228eb28fb9eSIcenowy Zheng 229eb28fb9eSIcenowy Zheng reg_dcdcd: dcdcd { 230eb28fb9eSIcenowy Zheng regulator-always-on; 231eb28fb9eSIcenowy Zheng regulator-min-microvolt = <960000>; 232eb28fb9eSIcenowy Zheng regulator-max-microvolt = <960000>; 233eb28fb9eSIcenowy Zheng regulator-name = "vdd-sys"; 234eb28fb9eSIcenowy Zheng }; 235eb28fb9eSIcenowy Zheng 236eb28fb9eSIcenowy Zheng reg_dcdce: dcdce { 237eb28fb9eSIcenowy Zheng regulator-always-on; 238eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1200000>; 239eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1200000>; 240eb28fb9eSIcenowy Zheng regulator-name = "vcc-dram"; 241eb28fb9eSIcenowy Zheng }; 242eb28fb9eSIcenowy Zheng 243eb28fb9eSIcenowy Zheng sw { 244eb28fb9eSIcenowy Zheng /* unused */ 245eb28fb9eSIcenowy Zheng }; 246eb28fb9eSIcenowy Zheng }; 247eb28fb9eSIcenowy Zheng }; 248eb28fb9eSIcenowy Zheng 24917ebc33aSIcenowy Zheng pcf8563: rtc@51 { 25017ebc33aSIcenowy Zheng compatible = "nxp,pcf8563"; 25117ebc33aSIcenowy Zheng reg = <0x51>; 2520bb9d187SChen-Yu Tsai interrupt-parent = <&r_intc>; 2530bb9d187SChen-Yu Tsai interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 25417ebc33aSIcenowy Zheng #clock-cells = <0>; 25517ebc33aSIcenowy Zheng }; 25617ebc33aSIcenowy Zheng}; 25717ebc33aSIcenowy Zheng 25886be7408SClément Péron&r_ir { 25986be7408SClément Péron status = "okay"; 26086be7408SClément Péron}; 26186be7408SClément Péron 26222538576SIcenowy Zheng&r_pio { 26322538576SIcenowy Zheng vcc-pm-supply = <®_aldo1>; 26422538576SIcenowy Zheng}; 26522538576SIcenowy Zheng 266494d8367SIcenowy Zheng&uart0 { 267494d8367SIcenowy Zheng pinctrl-names = "default"; 268494d8367SIcenowy Zheng pinctrl-0 = <&uart0_ph_pins>; 269494d8367SIcenowy Zheng status = "okay"; 270494d8367SIcenowy Zheng}; 2713bfa011dSIcenowy Zheng 2723bfa011dSIcenowy Zheng&usb2otg { 2733bfa011dSIcenowy Zheng dr_mode = "host"; 2743bfa011dSIcenowy Zheng status = "okay"; 2753bfa011dSIcenowy Zheng}; 2763bfa011dSIcenowy Zheng 2773bfa011dSIcenowy Zheng&usb2phy { 2783bfa011dSIcenowy Zheng usb0_vbus-supply = <®_usb_vbus>; 2793bfa011dSIcenowy Zheng usb3_vbus-supply = <®_usb_vbus>; 2803bfa011dSIcenowy Zheng status = "okay"; 2813bfa011dSIcenowy Zheng}; 282