196219b00SIcenowy Zheng/* 296219b00SIcenowy Zheng * Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz> 396219b00SIcenowy Zheng * 496219b00SIcenowy Zheng * Based on sun50i-a64-pine64.dts, which is: 596219b00SIcenowy Zheng * Copyright (c) 2016 ARM Ltd. 696219b00SIcenowy Zheng * 796219b00SIcenowy Zheng * This file is dual-licensed: you can use it either under the terms 896219b00SIcenowy Zheng * of the GPL or the X11 license, at your option. Note that this dual 996219b00SIcenowy Zheng * licensing only applies to this file, and not this project as a 1096219b00SIcenowy Zheng * whole. 1196219b00SIcenowy Zheng * 1296219b00SIcenowy Zheng * a) This library is free software; you can redistribute it and/or 1396219b00SIcenowy Zheng * modify it under the terms of the GNU General Public License as 1496219b00SIcenowy Zheng * published by the Free Software Foundation; either version 2 of the 1596219b00SIcenowy Zheng * License, or (at your option) any later version. 1696219b00SIcenowy Zheng * 1796219b00SIcenowy Zheng * This library is distributed in the hope that it will be useful, 1896219b00SIcenowy Zheng * but WITHOUT ANY WARRANTY; without even the implied warranty of 1996219b00SIcenowy Zheng * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2096219b00SIcenowy Zheng * GNU General Public License for more details. 2196219b00SIcenowy Zheng * 2296219b00SIcenowy Zheng * Or, alternatively, 2396219b00SIcenowy Zheng * 2496219b00SIcenowy Zheng * b) Permission is hereby granted, free of charge, to any person 2596219b00SIcenowy Zheng * obtaining a copy of this software and associated documentation 2696219b00SIcenowy Zheng * files (the "Software"), to deal in the Software without 2796219b00SIcenowy Zheng * restriction, including without limitation the rights to use, 2896219b00SIcenowy Zheng * copy, modify, merge, publish, distribute, sublicense, and/or 2996219b00SIcenowy Zheng * sell copies of the Software, and to permit persons to whom the 3096219b00SIcenowy Zheng * Software is furnished to do so, subject to the following 3196219b00SIcenowy Zheng * conditions: 3296219b00SIcenowy Zheng * 3396219b00SIcenowy Zheng * The above copyright notice and this permission notice shall be 3496219b00SIcenowy Zheng * included in all copies or substantial portions of the Software. 3596219b00SIcenowy Zheng * 3696219b00SIcenowy Zheng * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3796219b00SIcenowy Zheng * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3896219b00SIcenowy Zheng * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3996219b00SIcenowy Zheng * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 4096219b00SIcenowy Zheng * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 4196219b00SIcenowy Zheng * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 4296219b00SIcenowy Zheng * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4396219b00SIcenowy Zheng * OTHER DEALINGS IN THE SOFTWARE. 4496219b00SIcenowy Zheng */ 4596219b00SIcenowy Zheng 4696219b00SIcenowy Zheng/dts-v1/; 4796219b00SIcenowy Zheng 4896219b00SIcenowy Zheng#include "sun50i-a64-sopine.dtsi" 4996219b00SIcenowy Zheng 5096219b00SIcenowy Zheng/ { 5196219b00SIcenowy Zheng model = "SoPine with baseboard"; 5296219b00SIcenowy Zheng compatible = "pine64,sopine-baseboard", "pine64,sopine", 5396219b00SIcenowy Zheng "allwinner,sun50i-a64"; 5496219b00SIcenowy Zheng 5596219b00SIcenowy Zheng aliases { 5694f44288SCorentin Labbe ethernet0 = &emac; 5796219b00SIcenowy Zheng serial0 = &uart0; 5813de0f0aSAlistair Francis serial1 = &uart1; 5913de0f0aSAlistair Francis serial2 = &uart2; 6013de0f0aSAlistair Francis serial3 = &uart3; 6113de0f0aSAlistair Francis serial4 = &uart4; 6296219b00SIcenowy Zheng }; 6396219b00SIcenowy Zheng 6496219b00SIcenowy Zheng chosen { 6596219b00SIcenowy Zheng stdout-path = "serial0:115200n8"; 6696219b00SIcenowy Zheng }; 6796219b00SIcenowy Zheng 68f4e4453aSJagan Teki hdmi-connector { 69f4e4453aSJagan Teki compatible = "hdmi-connector"; 70f4e4453aSJagan Teki type = "a"; 71f4e4453aSJagan Teki 72f4e4453aSJagan Teki port { 73f4e4453aSJagan Teki hdmi_con_in: endpoint { 74f4e4453aSJagan Teki remote-endpoint = <&hdmi_out_con>; 75f4e4453aSJagan Teki }; 76f4e4453aSJagan Teki }; 77f4e4453aSJagan Teki }; 78f4e4453aSJagan Teki 7996219b00SIcenowy Zheng reg_vcc1v8: vcc1v8 { 8096219b00SIcenowy Zheng compatible = "regulator-fixed"; 8196219b00SIcenowy Zheng regulator-name = "vcc1v8"; 8296219b00SIcenowy Zheng regulator-min-microvolt = <1800000>; 8396219b00SIcenowy Zheng regulator-max-microvolt = <1800000>; 8496219b00SIcenowy Zheng }; 8596219b00SIcenowy Zheng}; 8696219b00SIcenowy Zheng 875e99c99aSOskari Lemmela&ac_power_supply { 885e99c99aSOskari Lemmela status = "okay"; 895e99c99aSOskari Lemmela}; 905e99c99aSOskari Lemmela 915e99c99aSOskari Lemmela&battery_power_supply { 925e99c99aSOskari Lemmela status = "okay"; 935e99c99aSOskari Lemmela}; 945e99c99aSOskari Lemmela 95498c21f2SVasily Khoruzhick&codec { 96498c21f2SVasily Khoruzhick status = "okay"; 97498c21f2SVasily Khoruzhick}; 98498c21f2SVasily Khoruzhick 99498c21f2SVasily Khoruzhick&codec_analog { 100498c21f2SVasily Khoruzhick status = "okay"; 101498c21f2SVasily Khoruzhick}; 102498c21f2SVasily Khoruzhick 103498c21f2SVasily Khoruzhick&dai { 104498c21f2SVasily Khoruzhick status = "okay"; 105498c21f2SVasily Khoruzhick}; 106498c21f2SVasily Khoruzhick 107f4e4453aSJagan Teki&de { 108f4e4453aSJagan Teki status = "okay"; 109f4e4453aSJagan Teki}; 110f4e4453aSJagan Teki 11196219b00SIcenowy Zheng&ehci0 { 11296219b00SIcenowy Zheng status = "okay"; 11396219b00SIcenowy Zheng}; 11496219b00SIcenowy Zheng 11596219b00SIcenowy Zheng&ehci1 { 11696219b00SIcenowy Zheng status = "okay"; 11796219b00SIcenowy Zheng}; 11896219b00SIcenowy Zheng 11994f44288SCorentin Labbe&emac { 12094f44288SCorentin Labbe pinctrl-names = "default"; 12194f44288SCorentin Labbe pinctrl-0 = <&rgmii_pins>; 12294f44288SCorentin Labbe phy-mode = "rgmii"; 12394f44288SCorentin Labbe phy-handle = <&ext_rgmii_phy>; 124bdfe4cebSIcenowy Zheng phy-supply = <®_dc1sw>; 12594f44288SCorentin Labbe status = "okay"; 12694f44288SCorentin Labbe}; 12794f44288SCorentin Labbe 128f4e4453aSJagan Teki&hdmi { 129f4e4453aSJagan Teki hvcc-supply = <®_dldo1>; 130f4e4453aSJagan Teki status = "okay"; 131f4e4453aSJagan Teki}; 132f4e4453aSJagan Teki 133f4e4453aSJagan Teki&hdmi_out { 134f4e4453aSJagan Teki hdmi_out_con: endpoint { 135f4e4453aSJagan Teki remote-endpoint = <&hdmi_con_in>; 136f4e4453aSJagan Teki }; 137f4e4453aSJagan Teki}; 138f4e4453aSJagan Teki 13994f44288SCorentin Labbe&mdio { 14094f44288SCorentin Labbe ext_rgmii_phy: ethernet-phy@1 { 14194f44288SCorentin Labbe compatible = "ethernet-phy-ieee802.3-c22"; 14294f44288SCorentin Labbe reg = <1>; 14394f44288SCorentin Labbe }; 14494f44288SCorentin Labbe}; 14594f44288SCorentin Labbe 14696219b00SIcenowy Zheng&mmc2 { 14796219b00SIcenowy Zheng pinctrl-names = "default"; 14896219b00SIcenowy Zheng pinctrl-0 = <&mmc2_pins>; 1497d556bfcSJagan Teki vmmc-supply = <®_dcdc1>; 15096219b00SIcenowy Zheng vqmmc-supply = <®_vcc1v8>; 15196219b00SIcenowy Zheng bus-width = <8>; 15296219b00SIcenowy Zheng non-removable; 15396219b00SIcenowy Zheng cap-mmc-hw-reset; 15496219b00SIcenowy Zheng status = "okay"; 15596219b00SIcenowy Zheng}; 15696219b00SIcenowy Zheng 15796219b00SIcenowy Zheng&ohci0 { 15896219b00SIcenowy Zheng status = "okay"; 15996219b00SIcenowy Zheng}; 16096219b00SIcenowy Zheng 16196219b00SIcenowy Zheng&ohci1 { 16296219b00SIcenowy Zheng status = "okay"; 16396219b00SIcenowy Zheng}; 16496219b00SIcenowy Zheng 16578c3cbc8SIcenowy Zheng®_dc1sw { 16678c3cbc8SIcenowy Zheng regulator-name = "vcc-phy"; 16778c3cbc8SIcenowy Zheng}; 16878c3cbc8SIcenowy Zheng 16978c3cbc8SIcenowy Zheng®_dldo1 { 17078c3cbc8SIcenowy Zheng regulator-min-microvolt = <3300000>; 17178c3cbc8SIcenowy Zheng regulator-max-microvolt = <3300000>; 17278c3cbc8SIcenowy Zheng regulator-name = "vcc-hdmi"; 17378c3cbc8SIcenowy Zheng}; 17478c3cbc8SIcenowy Zheng 17578c3cbc8SIcenowy Zheng®_dldo2 { 17678c3cbc8SIcenowy Zheng regulator-min-microvolt = <3300000>; 17778c3cbc8SIcenowy Zheng regulator-max-microvolt = <3300000>; 17878c3cbc8SIcenowy Zheng regulator-name = "vcc-mipi"; 17978c3cbc8SIcenowy Zheng}; 18078c3cbc8SIcenowy Zheng 18178c3cbc8SIcenowy Zheng®_dldo4 { 18278c3cbc8SIcenowy Zheng regulator-min-microvolt = <3300000>; 18378c3cbc8SIcenowy Zheng regulator-max-microvolt = <3300000>; 18478c3cbc8SIcenowy Zheng regulator-name = "vcc-wifi"; 18578c3cbc8SIcenowy Zheng}; 18678c3cbc8SIcenowy Zheng 1875cbef9f9SIcenowy Zheng&simplefb_hdmi { 1885cbef9f9SIcenowy Zheng vcc-hdmi-supply = <®_dldo1>; 1895cbef9f9SIcenowy Zheng}; 1905cbef9f9SIcenowy Zheng 191498c21f2SVasily Khoruzhick&sound { 192498c21f2SVasily Khoruzhick simple-audio-card,aux-devs = <&codec_analog>; 193498c21f2SVasily Khoruzhick simple-audio-card,widgets = "Microphone", "Microphone Jack", 194498c21f2SVasily Khoruzhick "Headphone", "Headphone Jack"; 195498c21f2SVasily Khoruzhick simple-audio-card,routing = 196498c21f2SVasily Khoruzhick "Left DAC", "AIF1 Slot 0 Left", 197498c21f2SVasily Khoruzhick "Right DAC", "AIF1 Slot 0 Right", 198498c21f2SVasily Khoruzhick "Headphone Jack", "HP", 199498c21f2SVasily Khoruzhick "AIF1 Slot 0 Left ADC", "Left ADC", 200498c21f2SVasily Khoruzhick "AIF1 Slot 0 Right ADC", "Right ADC", 201498c21f2SVasily Khoruzhick "MIC2", "Microphone Jack"; 202498c21f2SVasily Khoruzhick status = "okay"; 203498c21f2SVasily Khoruzhick}; 204498c21f2SVasily Khoruzhick 20596219b00SIcenowy Zheng&uart0 { 20696219b00SIcenowy Zheng pinctrl-names = "default"; 207d91ebb95SChen-Yu Tsai pinctrl-0 = <&uart0_pb_pins>; 20896219b00SIcenowy Zheng status = "okay"; 20996219b00SIcenowy Zheng}; 21096219b00SIcenowy Zheng 21113de0f0aSAlistair Francis/* On Pi-2 connector */ 21213de0f0aSAlistair Francis&uart2 { 21313de0f0aSAlistair Francis pinctrl-names = "default"; 21413de0f0aSAlistair Francis pinctrl-0 = <&uart2_pins>; 21513de0f0aSAlistair Francis status = "disabled"; 21613de0f0aSAlistair Francis}; 21713de0f0aSAlistair Francis 21813de0f0aSAlistair Francis/* On Euler connector */ 21913de0f0aSAlistair Francis&uart3 { 22013de0f0aSAlistair Francis pinctrl-names = "default"; 22113de0f0aSAlistair Francis pinctrl-0 = <&uart3_pins>; 22213de0f0aSAlistair Francis status = "disabled"; 22313de0f0aSAlistair Francis}; 22413de0f0aSAlistair Francis 22513de0f0aSAlistair Francis/* On Euler connector, RTS/CTS optional */ 22613de0f0aSAlistair Francis&uart4 { 22713de0f0aSAlistair Francis pinctrl-names = "default"; 22813de0f0aSAlistair Francis pinctrl-0 = <&uart4_pins>; 22913de0f0aSAlistair Francis status = "disabled"; 23013de0f0aSAlistair Francis}; 23113de0f0aSAlistair Francis 23296219b00SIcenowy Zheng&usb_otg { 23396219b00SIcenowy Zheng dr_mode = "host"; 23496219b00SIcenowy Zheng status = "okay"; 23596219b00SIcenowy Zheng}; 23696219b00SIcenowy Zheng 23796219b00SIcenowy Zheng&usbphy { 23896219b00SIcenowy Zheng status = "okay"; 23996219b00SIcenowy Zheng}; 240