1/* 2 * Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz> 3 * 4 * Based on sun50i-a64-pine64.dts, which is: 5 * Copyright (c) 2016 ARM Ltd. 6 * 7 * This file is dual-licensed: you can use it either under the terms 8 * of the GPL or the X11 license, at your option. Note that this dual 9 * licensing only applies to this file, and not this project as a 10 * whole. 11 * 12 * a) This library is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License as 14 * published by the Free Software Foundation; either version 2 of the 15 * License, or (at your option) any later version. 16 * 17 * This library is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * Or, alternatively, 23 * 24 * b) Permission is hereby granted, free of charge, to any person 25 * obtaining a copy of this software and associated documentation 26 * files (the "Software"), to deal in the Software without 27 * restriction, including without limitation the rights to use, 28 * copy, modify, merge, publish, distribute, sublicense, and/or 29 * sell copies of the Software, and to permit persons to whom the 30 * Software is furnished to do so, subject to the following 31 * conditions: 32 * 33 * The above copyright notice and this permission notice shall be 34 * included in all copies or substantial portions of the Software. 35 * 36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43 * OTHER DEALINGS IN THE SOFTWARE. 44 */ 45 46/dts-v1/; 47 48#include "sun50i-a64-sopine.dtsi" 49 50/ { 51 model = "SoPine with baseboard"; 52 compatible = "pine64,sopine-baseboard", "pine64,sopine", 53 "allwinner,sun50i-a64"; 54 55 aliases { 56 ethernet0 = &emac; 57 serial0 = &uart0; 58 serial1 = &uart1; 59 serial2 = &uart2; 60 serial3 = &uart3; 61 serial4 = &uart4; 62 }; 63 64 chosen { 65 stdout-path = "serial0:115200n8"; 66 }; 67 68 hdmi-connector { 69 compatible = "hdmi-connector"; 70 type = "a"; 71 72 port { 73 hdmi_con_in: endpoint { 74 remote-endpoint = <&hdmi_out_con>; 75 }; 76 }; 77 }; 78 79 reg_vcc1v8: vcc1v8 { 80 compatible = "regulator-fixed"; 81 regulator-name = "vcc1v8"; 82 regulator-min-microvolt = <1800000>; 83 regulator-max-microvolt = <1800000>; 84 }; 85}; 86 87&ac_power_supply { 88 status = "okay"; 89}; 90 91&battery_power_supply { 92 status = "okay"; 93}; 94 95&codec { 96 status = "okay"; 97}; 98 99&codec_analog { 100 status = "okay"; 101}; 102 103&dai { 104 status = "okay"; 105}; 106 107&de { 108 status = "okay"; 109}; 110 111&ehci0 { 112 status = "okay"; 113}; 114 115&ehci1 { 116 status = "okay"; 117}; 118 119&emac { 120 pinctrl-names = "default"; 121 pinctrl-0 = <&rgmii_pins>; 122 phy-mode = "rgmii"; 123 phy-handle = <&ext_rgmii_phy>; 124 phy-supply = <®_dc1sw>; 125 status = "okay"; 126}; 127 128&hdmi { 129 hvcc-supply = <®_dldo1>; 130 status = "okay"; 131}; 132 133&hdmi_out { 134 hdmi_out_con: endpoint { 135 remote-endpoint = <&hdmi_con_in>; 136 }; 137}; 138 139&mdio { 140 ext_rgmii_phy: ethernet-phy@1 { 141 compatible = "ethernet-phy-ieee802.3-c22"; 142 reg = <1>; 143 }; 144}; 145 146&mmc2 { 147 pinctrl-names = "default"; 148 pinctrl-0 = <&mmc2_pins>; 149 vmmc-supply = <®_dcdc1>; 150 vqmmc-supply = <®_vcc1v8>; 151 bus-width = <8>; 152 non-removable; 153 cap-mmc-hw-reset; 154 status = "okay"; 155}; 156 157&ohci0 { 158 status = "okay"; 159}; 160 161&ohci1 { 162 status = "okay"; 163}; 164 165®_dc1sw { 166 /* 167 * Ethernet PHY needs 30ms to properly power up and some more 168 * to initialize. 100ms should be plenty of time to finish 169 * whole process. 170 */ 171 regulator-enable-ramp-delay = <100000>; 172 regulator-name = "vcc-phy"; 173}; 174 175®_dldo1 { 176 regulator-min-microvolt = <3300000>; 177 regulator-max-microvolt = <3300000>; 178 regulator-name = "vcc-hdmi"; 179}; 180 181®_dldo2 { 182 regulator-min-microvolt = <3300000>; 183 regulator-max-microvolt = <3300000>; 184 regulator-name = "vcc-mipi"; 185}; 186 187®_dldo4 { 188 regulator-min-microvolt = <3300000>; 189 regulator-max-microvolt = <3300000>; 190 regulator-name = "vcc-wifi"; 191}; 192 193&simplefb_hdmi { 194 vcc-hdmi-supply = <®_dldo1>; 195}; 196 197&sound { 198 simple-audio-card,aux-devs = <&codec_analog>; 199 simple-audio-card,widgets = "Microphone", "Microphone Jack", 200 "Headphone", "Headphone Jack"; 201 simple-audio-card,routing = 202 "Left DAC", "AIF1 Slot 0 Left", 203 "Right DAC", "AIF1 Slot 0 Right", 204 "Headphone Jack", "HP", 205 "AIF1 Slot 0 Left ADC", "Left ADC", 206 "AIF1 Slot 0 Right ADC", "Right ADC", 207 "MIC2", "Microphone Jack"; 208 status = "okay"; 209}; 210 211&uart0 { 212 pinctrl-names = "default"; 213 pinctrl-0 = <&uart0_pb_pins>; 214 status = "okay"; 215}; 216 217/* On Pi-2 connector */ 218&uart2 { 219 pinctrl-names = "default"; 220 pinctrl-0 = <&uart2_pins>; 221 status = "disabled"; 222}; 223 224/* On Euler connector */ 225&uart3 { 226 pinctrl-names = "default"; 227 pinctrl-0 = <&uart3_pins>; 228 status = "disabled"; 229}; 230 231/* On Euler connector, RTS/CTS optional */ 232&uart4 { 233 pinctrl-names = "default"; 234 pinctrl-0 = <&uart4_pins>; 235 status = "disabled"; 236}; 237 238&usb_otg { 239 dr_mode = "host"; 240 status = "okay"; 241}; 242 243&usbphy { 244 status = "okay"; 245}; 246