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 98*3bfa011dSIcenowy Zheng&ehci0 { 99*3bfa011dSIcenowy Zheng status = "okay"; 100*3bfa011dSIcenowy Zheng}; 101*3bfa011dSIcenowy Zheng 102*3bfa011dSIcenowy Zheng&ehci3 { 103*3bfa011dSIcenowy Zheng status = "okay"; 104*3bfa011dSIcenowy Zheng}; 105*3bfa011dSIcenowy Zheng 106ecbd6118SIcenowy Zheng&mmc0 { 107ecbd6118SIcenowy Zheng pinctrl-names = "default"; 108ecbd6118SIcenowy Zheng pinctrl-0 = <&mmc0_pins>; 109ecbd6118SIcenowy Zheng vmmc-supply = <®_cldo1>; 110ecbd6118SIcenowy Zheng cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 111d177c8b6SIcenowy Zheng bus-width = <4>; 112ecbd6118SIcenowy Zheng status = "okay"; 113ecbd6118SIcenowy Zheng}; 114ecbd6118SIcenowy Zheng 115ecbd6118SIcenowy Zheng&mmc2 { 116ecbd6118SIcenowy Zheng pinctrl-names = "default"; 117ecbd6118SIcenowy Zheng pinctrl-0 = <&mmc2_pins>; 118ecbd6118SIcenowy Zheng vmmc-supply = <®_cldo1>; 119ecbd6118SIcenowy Zheng vqmmc-supply = <®_bldo2>; 120ecbd6118SIcenowy Zheng non-removable; 121ecbd6118SIcenowy Zheng cap-mmc-hw-reset; 122d177c8b6SIcenowy Zheng bus-width = <8>; 123ecbd6118SIcenowy Zheng status = "okay"; 124ecbd6118SIcenowy Zheng}; 125ecbd6118SIcenowy Zheng 126*3bfa011dSIcenowy Zheng&ohci0 { 127*3bfa011dSIcenowy Zheng status = "okay"; 128*3bfa011dSIcenowy Zheng}; 129*3bfa011dSIcenowy Zheng 130*3bfa011dSIcenowy Zheng&ohci3 { 131*3bfa011dSIcenowy Zheng status = "okay"; 132*3bfa011dSIcenowy Zheng}; 133*3bfa011dSIcenowy Zheng 13417ebc33aSIcenowy Zheng&r_i2c { 13517ebc33aSIcenowy Zheng status = "okay"; 13617ebc33aSIcenowy Zheng 137eb28fb9eSIcenowy Zheng axp805: pmic@36 { 138eb28fb9eSIcenowy Zheng compatible = "x-powers,axp805", "x-powers,axp806"; 139eb28fb9eSIcenowy Zheng reg = <0x36>; 140eb28fb9eSIcenowy Zheng interrupt-parent = <&r_intc>; 141eb28fb9eSIcenowy Zheng interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 142eb28fb9eSIcenowy Zheng interrupt-controller; 143eb28fb9eSIcenowy Zheng #interrupt-cells = <1>; 144eb28fb9eSIcenowy Zheng x-powers,self-working-mode; 145eb28fb9eSIcenowy Zheng 146eb28fb9eSIcenowy Zheng regulators { 147eb28fb9eSIcenowy Zheng reg_aldo1: aldo1 { 148eb28fb9eSIcenowy Zheng regulator-always-on; 149eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 150eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 151eb28fb9eSIcenowy Zheng regulator-name = "vcc-pl"; 152eb28fb9eSIcenowy Zheng }; 153eb28fb9eSIcenowy Zheng 154eb28fb9eSIcenowy Zheng reg_aldo2: aldo2 { 155eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 156eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 157eb28fb9eSIcenowy Zheng regulator-name = "vcc-ac200"; 158729e1ffcSIcenowy Zheng regulator-enable-ramp-delay = <100000>; 159eb28fb9eSIcenowy Zheng }; 160eb28fb9eSIcenowy Zheng 161eb28fb9eSIcenowy Zheng reg_aldo3: aldo3 { 162eb28fb9eSIcenowy Zheng /* This regulator is connected with CLDO1 */ 163eb28fb9eSIcenowy Zheng regulator-always-on; 164eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 165eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 166eb28fb9eSIcenowy Zheng regulator-name = "vcc-3v3-1"; 167eb28fb9eSIcenowy Zheng }; 168eb28fb9eSIcenowy Zheng 169eb28fb9eSIcenowy Zheng reg_bldo1: bldo1 { 170eb28fb9eSIcenowy Zheng regulator-always-on; 171eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 172eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 173eb28fb9eSIcenowy Zheng regulator-name = "vcc-bias-pll"; 174eb28fb9eSIcenowy Zheng }; 175eb28fb9eSIcenowy Zheng 176eb28fb9eSIcenowy Zheng reg_bldo2: bldo2 { 177eb28fb9eSIcenowy Zheng regulator-always-on; 178eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 179eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 180eb28fb9eSIcenowy Zheng regulator-name = "vcc-efuse-pcie-hdmi-io"; 181eb28fb9eSIcenowy Zheng }; 182eb28fb9eSIcenowy Zheng 183eb28fb9eSIcenowy Zheng reg_bldo3: bldo3 { 184eb28fb9eSIcenowy Zheng regulator-always-on; 185eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1800000>; 186eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1800000>; 187eb28fb9eSIcenowy Zheng regulator-name = "vcc-dcxoio"; 188eb28fb9eSIcenowy Zheng }; 189eb28fb9eSIcenowy Zheng 190eb28fb9eSIcenowy Zheng bldo4 { 191eb28fb9eSIcenowy Zheng /* unused */ 192eb28fb9eSIcenowy Zheng }; 193eb28fb9eSIcenowy Zheng 194eb28fb9eSIcenowy Zheng reg_cldo1: cldo1 { 195eb28fb9eSIcenowy Zheng /* This regulator is connected with ALDO3 */ 196eb28fb9eSIcenowy Zheng regulator-always-on; 197eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 198eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 199eb28fb9eSIcenowy Zheng regulator-name = "vcc-3v3-2"; 200eb28fb9eSIcenowy Zheng }; 201eb28fb9eSIcenowy Zheng 202eb28fb9eSIcenowy Zheng reg_cldo2: cldo2 { 203eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 204eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 205eb28fb9eSIcenowy Zheng regulator-name = "vcc-wifi-1"; 206eb28fb9eSIcenowy Zheng }; 207eb28fb9eSIcenowy Zheng 208eb28fb9eSIcenowy Zheng reg_cldo3: cldo3 { 209eb28fb9eSIcenowy Zheng regulator-min-microvolt = <3300000>; 210eb28fb9eSIcenowy Zheng regulator-max-microvolt = <3300000>; 211eb28fb9eSIcenowy Zheng regulator-name = "vcc-wifi-2"; 212eb28fb9eSIcenowy Zheng }; 213eb28fb9eSIcenowy Zheng 214eb28fb9eSIcenowy Zheng reg_dcdca: dcdca { 215eb28fb9eSIcenowy Zheng regulator-always-on; 216eb28fb9eSIcenowy Zheng regulator-min-microvolt = <810000>; 217eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1080000>; 218eb28fb9eSIcenowy Zheng regulator-name = "vdd-cpu"; 219eb28fb9eSIcenowy Zheng }; 220eb28fb9eSIcenowy Zheng 221eb28fb9eSIcenowy Zheng reg_dcdcc: dcdcc { 222eb28fb9eSIcenowy Zheng regulator-min-microvolt = <810000>; 223eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1080000>; 224eb28fb9eSIcenowy Zheng regulator-name = "vdd-gpu"; 225eb28fb9eSIcenowy Zheng }; 226eb28fb9eSIcenowy Zheng 227eb28fb9eSIcenowy Zheng reg_dcdcd: dcdcd { 228eb28fb9eSIcenowy Zheng regulator-always-on; 229eb28fb9eSIcenowy Zheng regulator-min-microvolt = <960000>; 230eb28fb9eSIcenowy Zheng regulator-max-microvolt = <960000>; 231eb28fb9eSIcenowy Zheng regulator-name = "vdd-sys"; 232eb28fb9eSIcenowy Zheng }; 233eb28fb9eSIcenowy Zheng 234eb28fb9eSIcenowy Zheng reg_dcdce: dcdce { 235eb28fb9eSIcenowy Zheng regulator-always-on; 236eb28fb9eSIcenowy Zheng regulator-min-microvolt = <1200000>; 237eb28fb9eSIcenowy Zheng regulator-max-microvolt = <1200000>; 238eb28fb9eSIcenowy Zheng regulator-name = "vcc-dram"; 239eb28fb9eSIcenowy Zheng }; 240eb28fb9eSIcenowy Zheng 241eb28fb9eSIcenowy Zheng sw { 242eb28fb9eSIcenowy Zheng /* unused */ 243eb28fb9eSIcenowy Zheng }; 244eb28fb9eSIcenowy Zheng }; 245eb28fb9eSIcenowy Zheng }; 246eb28fb9eSIcenowy Zheng 24717ebc33aSIcenowy Zheng pcf8563: rtc@51 { 24817ebc33aSIcenowy Zheng compatible = "nxp,pcf8563"; 24917ebc33aSIcenowy Zheng reg = <0x51>; 25017ebc33aSIcenowy Zheng #clock-cells = <0>; 25117ebc33aSIcenowy Zheng }; 25217ebc33aSIcenowy Zheng}; 25317ebc33aSIcenowy Zheng 254494d8367SIcenowy Zheng&uart0 { 255494d8367SIcenowy Zheng pinctrl-names = "default"; 256494d8367SIcenowy Zheng pinctrl-0 = <&uart0_ph_pins>; 257494d8367SIcenowy Zheng status = "okay"; 258494d8367SIcenowy Zheng}; 259*3bfa011dSIcenowy Zheng 260*3bfa011dSIcenowy Zheng&usb2otg { 261*3bfa011dSIcenowy Zheng dr_mode = "host"; 262*3bfa011dSIcenowy Zheng status = "okay"; 263*3bfa011dSIcenowy Zheng}; 264*3bfa011dSIcenowy Zheng 265*3bfa011dSIcenowy Zheng&usb2phy { 266*3bfa011dSIcenowy Zheng usb0_vbus-supply = <®_usb_vbus>; 267*3bfa011dSIcenowy Zheng usb3_vbus-supply = <®_usb_vbus>; 268*3bfa011dSIcenowy Zheng status = "okay"; 269*3bfa011dSIcenowy Zheng}; 270