1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 // Copyright (c) 2016 ARM Ltd. 3 4 /dts-v1/; 5 6 #include "sun50i-a64.dtsi" 7 #include "sun50i-a64-cpu-opp.dtsi" 8 9 #include <dt-bindings/gpio/gpio.h> 10 11 / { 12 model = "Pine64 PINE A64"; 13 compatible = "pine64,pine64", "allwinner,sun50i-a64"; 14 15 aliases { 16 ethernet0 = &emac; 17 serial0 = &uart0; 18 serial1 = &uart1; 19 serial2 = &uart2; 20 serial3 = &uart3; 21 serial4 = &uart4; 22 }; 23 24 chosen { 25 stdout-path = "serial0:115200n8"; 26 }; 27 28 hdmi-connector { 29 compatible = "hdmi-connector"; 30 type = "a"; 31 32 port { 33 hdmi_con_in: endpoint { 34 remote-endpoint = <&hdmi_out_con>; 35 }; 36 }; 37 }; 38 }; 39 40 &codec { 41 status = "okay"; 42 }; 43 44 &codec_analog { 45 cpvdd-supply = <®_eldo1>; 46 status = "okay"; 47 }; 48 49 &cpu0 { 50 cpu-supply = <®_dcdc2>; 51 }; 52 53 &cpu1 { 54 cpu-supply = <®_dcdc2>; 55 }; 56 57 &cpu2 { 58 cpu-supply = <®_dcdc2>; 59 }; 60 61 &cpu3 { 62 cpu-supply = <®_dcdc2>; 63 }; 64 65 &dai { 66 status = "okay"; 67 }; 68 69 &de { 70 status = "okay"; 71 }; 72 73 &ehci0 { 74 status = "okay"; 75 }; 76 77 &ehci1 { 78 status = "okay"; 79 }; 80 81 &emac { 82 pinctrl-names = "default"; 83 pinctrl-0 = <&rmii_pins>; 84 phy-mode = "rmii"; 85 phy-handle = <&ext_rmii_phy1>; 86 phy-supply = <®_dc1sw>; 87 status = "okay"; 88 89 }; 90 91 &hdmi { 92 hvcc-supply = <®_dldo1>; 93 status = "okay"; 94 }; 95 96 &hdmi_out { 97 hdmi_out_con: endpoint { 98 remote-endpoint = <&hdmi_con_in>; 99 }; 100 }; 101 102 &i2c1 { 103 status = "okay"; 104 }; 105 106 &i2c1_pins { 107 bias-pull-up; 108 }; 109 110 &mdio { 111 ext_rmii_phy1: ethernet-phy@1 { 112 compatible = "ethernet-phy-ieee802.3-c22"; 113 reg = <1>; 114 }; 115 }; 116 117 &mmc0 { 118 pinctrl-names = "default"; 119 pinctrl-0 = <&mmc0_pins>; 120 vmmc-supply = <®_dcdc1>; 121 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 122 disable-wp; 123 bus-width = <4>; 124 status = "okay"; 125 }; 126 127 &ohci0 { 128 status = "okay"; 129 }; 130 131 &ohci1 { 132 status = "okay"; 133 }; 134 135 &r_rsb { 136 status = "okay"; 137 138 axp803: pmic@3a3 { 139 compatible = "x-powers,axp803"; 140 reg = <0x3a3>; 141 interrupt-parent = <&r_intc>; 142 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>; 143 }; 144 }; 145 146 #include "axp803.dtsi" 147 148 &ac_power_supply { 149 status = "okay"; 150 }; 151 152 &battery_power_supply { 153 status = "okay"; 154 }; 155 156 ®_aldo2 { 157 regulator-always-on; 158 regulator-min-microvolt = <1800000>; 159 regulator-max-microvolt = <3300000>; 160 regulator-name = "vcc-pl"; 161 }; 162 163 ®_aldo3 { 164 regulator-always-on; 165 regulator-min-microvolt = <3000000>; 166 regulator-max-microvolt = <3000000>; 167 regulator-name = "vcc-pll-avcc"; 168 }; 169 170 ®_dc1sw { 171 regulator-name = "vcc-phy"; 172 }; 173 174 ®_dcdc1 { 175 regulator-always-on; 176 regulator-min-microvolt = <3300000>; 177 regulator-max-microvolt = <3300000>; 178 regulator-name = "vcc-3v3"; 179 }; 180 181 ®_dcdc2 { 182 regulator-always-on; 183 regulator-min-microvolt = <1040000>; 184 regulator-max-microvolt = <1300000>; 185 regulator-name = "vdd-cpux"; 186 }; 187 188 /* DCDC3 is polyphased with DCDC2 */ 189 190 /* 191 * The DRAM chips used by Pine64 boards are DDR3L-compatible, so they can 192 * work at 1.35V with less power consumption. 193 * As AXP803 DCDC5 cannot reach 1.35V accurately, use 1.36V instead. 194 */ 195 ®_dcdc5 { 196 regulator-always-on; 197 regulator-min-microvolt = <1360000>; 198 regulator-max-microvolt = <1360000>; 199 regulator-name = "vcc-dram"; 200 }; 201 202 ®_dcdc6 { 203 regulator-always-on; 204 regulator-min-microvolt = <1100000>; 205 regulator-max-microvolt = <1100000>; 206 regulator-name = "vdd-sys"; 207 }; 208 209 ®_dldo1 { 210 regulator-min-microvolt = <3300000>; 211 regulator-max-microvolt = <3300000>; 212 regulator-name = "vcc-hdmi"; 213 }; 214 215 ®_dldo2 { 216 regulator-min-microvolt = <3300000>; 217 regulator-max-microvolt = <3300000>; 218 regulator-name = "vcc-mipi"; 219 }; 220 221 ®_dldo4 { 222 regulator-min-microvolt = <3300000>; 223 regulator-max-microvolt = <3300000>; 224 regulator-name = "vcc-wifi"; 225 }; 226 227 ®_eldo1 { 228 regulator-min-microvolt = <1800000>; 229 regulator-max-microvolt = <1800000>; 230 regulator-name = "cpvdd"; 231 }; 232 233 ®_fldo1 { 234 regulator-min-microvolt = <1200000>; 235 regulator-max-microvolt = <1200000>; 236 regulator-name = "vcc-1v2-hsic"; 237 }; 238 239 /* 240 * The A64 chip cannot work without this regulator off, although 241 * it seems to be only driving the AR100 core. 242 * Maybe we don't still know well about CPUs domain. 243 */ 244 ®_fldo2 { 245 regulator-always-on; 246 regulator-min-microvolt = <1100000>; 247 regulator-max-microvolt = <1100000>; 248 regulator-name = "vdd-cpus"; 249 }; 250 251 ®_rtc_ldo { 252 regulator-name = "vcc-rtc"; 253 }; 254 255 &simplefb_hdmi { 256 vcc-hdmi-supply = <®_dldo1>; 257 }; 258 259 &sound { 260 simple-audio-card,aux-devs = <&codec_analog>; 261 simple-audio-card,widgets = "Microphone", "Microphone Jack", 262 "Headphone", "Headphone Jack"; 263 simple-audio-card,routing = 264 "Left DAC", "DACL", 265 "Right DAC", "DACR", 266 "Headphone Jack", "HP", 267 "ADCL", "Left ADC", 268 "ADCR", "Right ADC", 269 "MIC2", "Microphone Jack"; 270 status = "okay"; 271 }; 272 273 /* On Euler connector */ 274 &spdif { 275 status = "disabled"; 276 }; 277 278 /* On Exp and Euler connectors */ 279 &uart0 { 280 pinctrl-names = "default"; 281 pinctrl-0 = <&uart0_pb_pins>; 282 status = "okay"; 283 }; 284 285 /* On Wifi/BT connector, with RTS/CTS */ 286 &uart1 { 287 pinctrl-names = "default"; 288 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; 289 status = "disabled"; 290 }; 291 292 /* On Pi-2 connector */ 293 &uart2 { 294 pinctrl-names = "default"; 295 pinctrl-0 = <&uart2_pins>; 296 status = "disabled"; 297 }; 298 299 /* On Euler connector */ 300 &uart3 { 301 pinctrl-names = "default"; 302 pinctrl-0 = <&uart3_pins>; 303 status = "disabled"; 304 }; 305 306 /* On Euler connector, RTS/CTS optional */ 307 &uart4 { 308 pinctrl-names = "default"; 309 pinctrl-0 = <&uart4_pins>; 310 status = "disabled"; 311 }; 312 313 &usb_otg { 314 dr_mode = "host"; 315 status = "okay"; 316 }; 317 318 &usbphy { 319 status = "okay"; 320 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.