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&gpu { 89 mali-supply = <®_dcdcc>; 90 status = "okay"; 91}; 92 93&hdmi { 94 status = "okay"; 95}; 96 97&hdmi_out { 98 hdmi_out_con: endpoint { 99 remote-endpoint = <&hdmi_con_in>; 100 }; 101}; 102 103&ehci0 { 104 status = "okay"; 105}; 106 107&ehci3 { 108 status = "okay"; 109}; 110 111&mmc0 { 112 vmmc-supply = <®_cldo1>; 113 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 114 bus-width = <4>; 115 status = "okay"; 116}; 117 118&mmc2 { 119 vmmc-supply = <®_cldo1>; 120 vqmmc-supply = <®_bldo2>; 121 non-removable; 122 cap-mmc-hw-reset; 123 bus-width = <8>; 124 status = "okay"; 125}; 126 127&ohci0 { 128 status = "okay"; 129}; 130 131&ohci3 { 132 status = "okay"; 133}; 134 135&pio { 136 vcc-pc-supply = <®_bldo2>; 137 vcc-pd-supply = <®_cldo1>; 138 vcc-pg-supply = <®_aldo1>; 139}; 140 141&r_i2c { 142 status = "okay"; 143 144 axp805: pmic@36 { 145 compatible = "x-powers,axp805", "x-powers,axp806"; 146 reg = <0x36>; 147 interrupt-parent = <&r_intc>; 148 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 149 interrupt-controller; 150 #interrupt-cells = <1>; 151 x-powers,self-working-mode; 152 153 regulators { 154 reg_aldo1: aldo1 { 155 regulator-always-on; 156 regulator-min-microvolt = <3300000>; 157 regulator-max-microvolt = <3300000>; 158 regulator-name = "vcc-pl"; 159 }; 160 161 reg_aldo2: aldo2 { 162 regulator-min-microvolt = <3300000>; 163 regulator-max-microvolt = <3300000>; 164 regulator-name = "vcc-ac200"; 165 regulator-enable-ramp-delay = <100000>; 166 }; 167 168 reg_aldo3: aldo3 { 169 /* This regulator is connected with CLDO1 */ 170 regulator-always-on; 171 regulator-min-microvolt = <3300000>; 172 regulator-max-microvolt = <3300000>; 173 regulator-name = "vcc-3v3-1"; 174 }; 175 176 reg_bldo1: bldo1 { 177 regulator-always-on; 178 regulator-min-microvolt = <1800000>; 179 regulator-max-microvolt = <1800000>; 180 regulator-name = "vcc-bias-pll"; 181 }; 182 183 reg_bldo2: bldo2 { 184 regulator-always-on; 185 regulator-min-microvolt = <1800000>; 186 regulator-max-microvolt = <1800000>; 187 regulator-name = "vcc-efuse-pcie-hdmi-io"; 188 }; 189 190 reg_bldo3: bldo3 { 191 regulator-always-on; 192 regulator-min-microvolt = <1800000>; 193 regulator-max-microvolt = <1800000>; 194 regulator-name = "vcc-dcxoio"; 195 }; 196 197 bldo4 { 198 /* unused */ 199 }; 200 201 reg_cldo1: cldo1 { 202 /* This regulator is connected with ALDO3 */ 203 regulator-always-on; 204 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <3300000>; 206 regulator-name = "vcc-3v3-2"; 207 }; 208 209 reg_cldo2: cldo2 { 210 regulator-min-microvolt = <3300000>; 211 regulator-max-microvolt = <3300000>; 212 regulator-name = "vcc-wifi-1"; 213 }; 214 215 reg_cldo3: cldo3 { 216 regulator-min-microvolt = <3300000>; 217 regulator-max-microvolt = <3300000>; 218 regulator-name = "vcc-wifi-2"; 219 }; 220 221 reg_dcdca: dcdca { 222 regulator-always-on; 223 regulator-min-microvolt = <810000>; 224 regulator-max-microvolt = <1080000>; 225 regulator-name = "vdd-cpu"; 226 }; 227 228 reg_dcdcc: dcdcc { 229 regulator-enable-ramp-delay = <32000>; 230 regulator-min-microvolt = <810000>; 231 regulator-max-microvolt = <1080000>; 232 regulator-name = "vdd-gpu"; 233 }; 234 235 reg_dcdcd: dcdcd { 236 regulator-always-on; 237 regulator-min-microvolt = <960000>; 238 regulator-max-microvolt = <960000>; 239 regulator-name = "vdd-sys"; 240 }; 241 242 reg_dcdce: dcdce { 243 regulator-always-on; 244 regulator-min-microvolt = <1200000>; 245 regulator-max-microvolt = <1200000>; 246 regulator-name = "vcc-dram"; 247 }; 248 249 sw { 250 /* unused */ 251 }; 252 }; 253 }; 254 255 pcf8563: rtc@51 { 256 compatible = "nxp,pcf8563"; 257 reg = <0x51>; 258 interrupt-parent = <&r_intc>; 259 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 260 #clock-cells = <0>; 261 }; 262}; 263 264&r_ir { 265 status = "okay"; 266}; 267 268&r_pio { 269 vcc-pm-supply = <®_aldo1>; 270}; 271 272&uart0 { 273 pinctrl-names = "default"; 274 pinctrl-0 = <&uart0_ph_pins>; 275 status = "okay"; 276}; 277 278&usb2otg { 279 dr_mode = "host"; 280 status = "okay"; 281}; 282 283&usb2phy { 284 usb0_vbus-supply = <®_usb_vbus>; 285 usb3_vbus-supply = <®_usb_vbus>; 286 status = "okay"; 287}; 288