1// SPDX-License-Identifier: (GPL-2.0+ or MIT) 2/* 3 * Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.io> 4 */ 5 6/dts-v1/; 7 8#include "sun50i-h6.dtsi" 9 10#include <dt-bindings/gpio/gpio.h> 11 12/ { 13 model = "Pine H64"; 14 compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; 15 16 aliases { 17 ethernet0 = &emac; 18 serial0 = &uart0; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 connector { 26 compatible = "hdmi-connector"; 27 type = "a"; 28 29 port { 30 hdmi_con_in: endpoint { 31 remote-endpoint = <&hdmi_out_con>; 32 }; 33 }; 34 }; 35 36 leds { 37 compatible = "gpio-leds"; 38 39 heartbeat { 40 label = "pine-h64:green:heartbeat"; 41 gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 42 }; 43 44 link { 45 label = "pine-h64:white:link"; 46 gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>; /* PL3 */ 47 }; 48 49 status { 50 label = "pine-h64:blue:status"; 51 gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ 52 }; 53 }; 54 55 reg_usb_vbus: vbus { 56 compatible = "regulator-fixed"; 57 regulator-name = "usb-vbus"; 58 regulator-min-microvolt = <5000000>; 59 regulator-max-microvolt = <5000000>; 60 startup-delay-us = <100000>; 61 gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; 62 enable-active-high; 63 }; 64}; 65 66&emac { 67 pinctrl-names = "default"; 68 pinctrl-0 = <&ext_rgmii_pins>; 69 phy-mode = "rgmii"; 70 phy-handle = <&ext_rgmii_phy>; 71 phy-supply = <®_aldo2>; 72 allwinner,rx-delay-ps = <200>; 73 allwinner,tx-delay-ps = <200>; 74 status = "okay"; 75}; 76 77&mdio { 78 ext_rgmii_phy: ethernet-phy@1 { 79 compatible = "ethernet-phy-ieee802.3-c22"; 80 reg = <1>; 81 }; 82}; 83 84&de { 85 status = "okay"; 86}; 87 88&hdmi { 89 status = "okay"; 90}; 91 92&hdmi_out { 93 hdmi_out_con: endpoint { 94 remote-endpoint = <&hdmi_con_in>; 95 }; 96}; 97 98&ehci0 { 99 status = "okay"; 100}; 101 102&ehci3 { 103 status = "okay"; 104}; 105 106&mmc0 { 107 vmmc-supply = <®_cldo1>; 108 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 109 bus-width = <4>; 110 status = "okay"; 111}; 112 113&mmc2 { 114 vmmc-supply = <®_cldo1>; 115 vqmmc-supply = <®_bldo2>; 116 non-removable; 117 cap-mmc-hw-reset; 118 bus-width = <8>; 119 status = "okay"; 120}; 121 122&ohci0 { 123 status = "okay"; 124}; 125 126&ohci3 { 127 status = "okay"; 128}; 129 130&r_i2c { 131 status = "okay"; 132 133 axp805: pmic@36 { 134 compatible = "x-powers,axp805", "x-powers,axp806"; 135 reg = <0x36>; 136 interrupt-parent = <&r_intc>; 137 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 138 interrupt-controller; 139 #interrupt-cells = <1>; 140 x-powers,self-working-mode; 141 142 regulators { 143 reg_aldo1: aldo1 { 144 regulator-always-on; 145 regulator-min-microvolt = <3300000>; 146 regulator-max-microvolt = <3300000>; 147 regulator-name = "vcc-pl"; 148 }; 149 150 reg_aldo2: aldo2 { 151 regulator-min-microvolt = <3300000>; 152 regulator-max-microvolt = <3300000>; 153 regulator-name = "vcc-ac200"; 154 regulator-enable-ramp-delay = <100000>; 155 }; 156 157 reg_aldo3: aldo3 { 158 /* This regulator is connected with CLDO1 */ 159 regulator-always-on; 160 regulator-min-microvolt = <3300000>; 161 regulator-max-microvolt = <3300000>; 162 regulator-name = "vcc-3v3-1"; 163 }; 164 165 reg_bldo1: bldo1 { 166 regulator-always-on; 167 regulator-min-microvolt = <1800000>; 168 regulator-max-microvolt = <1800000>; 169 regulator-name = "vcc-bias-pll"; 170 }; 171 172 reg_bldo2: bldo2 { 173 regulator-always-on; 174 regulator-min-microvolt = <1800000>; 175 regulator-max-microvolt = <1800000>; 176 regulator-name = "vcc-efuse-pcie-hdmi-io"; 177 }; 178 179 reg_bldo3: bldo3 { 180 regulator-always-on; 181 regulator-min-microvolt = <1800000>; 182 regulator-max-microvolt = <1800000>; 183 regulator-name = "vcc-dcxoio"; 184 }; 185 186 bldo4 { 187 /* unused */ 188 }; 189 190 reg_cldo1: cldo1 { 191 /* This regulator is connected with ALDO3 */ 192 regulator-always-on; 193 regulator-min-microvolt = <3300000>; 194 regulator-max-microvolt = <3300000>; 195 regulator-name = "vcc-3v3-2"; 196 }; 197 198 reg_cldo2: cldo2 { 199 regulator-min-microvolt = <3300000>; 200 regulator-max-microvolt = <3300000>; 201 regulator-name = "vcc-wifi-1"; 202 }; 203 204 reg_cldo3: cldo3 { 205 regulator-min-microvolt = <3300000>; 206 regulator-max-microvolt = <3300000>; 207 regulator-name = "vcc-wifi-2"; 208 }; 209 210 reg_dcdca: dcdca { 211 regulator-always-on; 212 regulator-min-microvolt = <810000>; 213 regulator-max-microvolt = <1080000>; 214 regulator-name = "vdd-cpu"; 215 }; 216 217 reg_dcdcc: dcdcc { 218 regulator-min-microvolt = <810000>; 219 regulator-max-microvolt = <1080000>; 220 regulator-name = "vdd-gpu"; 221 }; 222 223 reg_dcdcd: dcdcd { 224 regulator-always-on; 225 regulator-min-microvolt = <960000>; 226 regulator-max-microvolt = <960000>; 227 regulator-name = "vdd-sys"; 228 }; 229 230 reg_dcdce: dcdce { 231 regulator-always-on; 232 regulator-min-microvolt = <1200000>; 233 regulator-max-microvolt = <1200000>; 234 regulator-name = "vcc-dram"; 235 }; 236 237 sw { 238 /* unused */ 239 }; 240 }; 241 }; 242 243 pcf8563: rtc@51 { 244 compatible = "nxp,pcf8563"; 245 reg = <0x51>; 246 #clock-cells = <0>; 247 }; 248}; 249 250&uart0 { 251 pinctrl-names = "default"; 252 pinctrl-0 = <&uart0_ph_pins>; 253 status = "okay"; 254}; 255 256&usb2otg { 257 dr_mode = "host"; 258 status = "okay"; 259}; 260 261&usb2phy { 262 usb0_vbus-supply = <®_usb_vbus>; 263 usb3_vbus-supply = <®_usb_vbus>; 264 status = "okay"; 265}; 266