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