0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 // Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz>
0003 // Based on sun50i-a64-pine64.dts, which is:
0004 // Copyright (c) 2016 ARM Ltd.
0005
0006 /dts-v1/;
0007
0008 #include "sun50i-a64-sopine.dtsi"
0009
0010 / {
0011 model = "SoPine with baseboard";
0012 compatible = "pine64,sopine-baseboard", "pine64,sopine",
0013 "allwinner,sun50i-a64";
0014
0015 aliases {
0016 ethernet0 = &emac;
0017 serial0 = &uart0;
0018 serial1 = &uart1;
0019 serial2 = &uart2;
0020 serial3 = &uart3;
0021 serial4 = &uart4;
0022 };
0023
0024 chosen {
0025 stdout-path = "serial0:115200n8";
0026 };
0027
0028 hdmi-connector {
0029 compatible = "hdmi-connector";
0030 type = "a";
0031
0032 port {
0033 hdmi_con_in: endpoint {
0034 remote-endpoint = <&hdmi_out_con>;
0035 };
0036 };
0037 };
0038
0039 reg_vcc1v8: vcc1v8 {
0040 compatible = "regulator-fixed";
0041 regulator-name = "vcc1v8";
0042 regulator-min-microvolt = <1800000>;
0043 regulator-max-microvolt = <1800000>;
0044 };
0045 };
0046
0047 &ac_power_supply {
0048 status = "okay";
0049 };
0050
0051 &battery_power_supply {
0052 status = "okay";
0053 };
0054
0055 &codec {
0056 status = "okay";
0057 };
0058
0059 &codec_analog {
0060 status = "okay";
0061 };
0062
0063 &dai {
0064 status = "okay";
0065 };
0066
0067 &de {
0068 status = "okay";
0069 };
0070
0071 &ehci0 {
0072 status = "okay";
0073 };
0074
0075 &ehci1 {
0076 status = "okay";
0077 };
0078
0079 &emac {
0080 pinctrl-names = "default";
0081 pinctrl-0 = <&rgmii_pins>;
0082 phy-mode = "rgmii-txid";
0083 phy-handle = <&ext_rgmii_phy>;
0084 phy-supply = <®_dc1sw>;
0085 status = "okay";
0086 };
0087
0088 &hdmi {
0089 hvcc-supply = <®_dldo1>;
0090 status = "okay";
0091 };
0092
0093 &hdmi_out {
0094 hdmi_out_con: endpoint {
0095 remote-endpoint = <&hdmi_con_in>;
0096 };
0097 };
0098
0099 &mdio {
0100 ext_rgmii_phy: ethernet-phy@1 {
0101 compatible = "ethernet-phy-ieee802.3-c22";
0102 reg = <1>;
0103 };
0104 };
0105
0106 &mmc2 {
0107 pinctrl-names = "default";
0108 pinctrl-0 = <&mmc2_pins>;
0109 vmmc-supply = <®_dcdc1>;
0110 vqmmc-supply = <®_vcc1v8>;
0111 bus-width = <8>;
0112 non-removable;
0113 cap-mmc-hw-reset;
0114 mmc-hs200-1_8v;
0115 status = "okay";
0116 };
0117
0118 &ohci0 {
0119 status = "okay";
0120 };
0121
0122 &ohci1 {
0123 status = "okay";
0124 };
0125
0126 ®_dc1sw {
0127 /*
0128 * Ethernet PHY needs 30ms to properly power up and some more
0129 * to initialize. 100ms should be plenty of time to finish
0130 * whole process.
0131 */
0132 regulator-enable-ramp-delay = <100000>;
0133 regulator-name = "vcc-phy";
0134 };
0135
0136 ®_dldo1 {
0137 regulator-min-microvolt = <3300000>;
0138 regulator-max-microvolt = <3300000>;
0139 regulator-name = "vcc-hdmi";
0140 };
0141
0142 ®_dldo2 {
0143 regulator-min-microvolt = <3300000>;
0144 regulator-max-microvolt = <3300000>;
0145 regulator-name = "vcc-mipi";
0146 };
0147
0148 ®_dldo4 {
0149 regulator-min-microvolt = <3300000>;
0150 regulator-max-microvolt = <3300000>;
0151 regulator-name = "vcc-wifi";
0152 };
0153
0154 &simplefb_hdmi {
0155 vcc-hdmi-supply = <®_dldo1>;
0156 };
0157
0158 &sound {
0159 simple-audio-card,aux-devs = <&codec_analog>;
0160 simple-audio-card,widgets = "Microphone", "Microphone Jack",
0161 "Headphone", "Headphone Jack";
0162 simple-audio-card,routing =
0163 "Left DAC", "DACL",
0164 "Right DAC", "DACR",
0165 "Headphone Jack", "HP",
0166 "ADCL", "Left ADC",
0167 "ADCR", "Right ADC",
0168 "MIC2", "Microphone Jack";
0169 status = "okay";
0170 };
0171
0172 &uart0 {
0173 pinctrl-names = "default";
0174 pinctrl-0 = <&uart0_pb_pins>;
0175 status = "okay";
0176 };
0177
0178 /* On Pi-2 connector */
0179 &uart2 {
0180 pinctrl-names = "default";
0181 pinctrl-0 = <&uart2_pins>;
0182 status = "disabled";
0183 };
0184
0185 /* On Euler connector */
0186 &uart3 {
0187 pinctrl-names = "default";
0188 pinctrl-0 = <&uart3_pins>;
0189 status = "disabled";
0190 };
0191
0192 /* On Euler connector, RTS/CTS optional */
0193 &uart4 {
0194 pinctrl-names = "default";
0195 pinctrl-0 = <&uart4_pins>;
0196 status = "disabled";
0197 };
0198
0199 &usb_otg {
0200 dr_mode = "host";
0201 status = "okay";
0202 };
0203
0204 &usbphy {
0205 status = "okay";
0206 };