162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci// Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz> 362306a36Sopenharmony_ci// Based on sun50i-a64-pine64.dts, which is: 462306a36Sopenharmony_ci// Copyright (c) 2016 ARM Ltd. 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci/dts-v1/; 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include "sun50i-a64-sopine.dtsi" 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/ { 1162306a36Sopenharmony_ci model = "SoPine with baseboard"; 1262306a36Sopenharmony_ci compatible = "pine64,sopine-baseboard", "pine64,sopine", 1362306a36Sopenharmony_ci "allwinner,sun50i-a64"; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci aliases { 1662306a36Sopenharmony_ci ethernet0 = &emac; 1762306a36Sopenharmony_ci serial0 = &uart0; 1862306a36Sopenharmony_ci serial1 = &uart1; 1962306a36Sopenharmony_ci serial2 = &uart2; 2062306a36Sopenharmony_ci serial3 = &uart3; 2162306a36Sopenharmony_ci serial4 = &uart4; 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci chosen { 2562306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci hdmi-connector { 2962306a36Sopenharmony_ci compatible = "hdmi-connector"; 3062306a36Sopenharmony_ci type = "a"; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci port { 3362306a36Sopenharmony_ci hdmi_con_in: endpoint { 3462306a36Sopenharmony_ci remote-endpoint = <&hdmi_out_con>; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci reg_vcc1v8: vcc1v8 { 4062306a36Sopenharmony_ci compatible = "regulator-fixed"; 4162306a36Sopenharmony_ci regulator-name = "vcc1v8"; 4262306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 4362306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci}; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci&ac_power_supply { 4862306a36Sopenharmony_ci status = "okay"; 4962306a36Sopenharmony_ci}; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci&battery_power_supply { 5262306a36Sopenharmony_ci status = "okay"; 5362306a36Sopenharmony_ci}; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci&codec { 5662306a36Sopenharmony_ci status = "okay"; 5762306a36Sopenharmony_ci}; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci&codec_analog { 6062306a36Sopenharmony_ci status = "okay"; 6162306a36Sopenharmony_ci}; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci&dai { 6462306a36Sopenharmony_ci status = "okay"; 6562306a36Sopenharmony_ci}; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci&de { 6862306a36Sopenharmony_ci status = "okay"; 6962306a36Sopenharmony_ci}; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci&ehci0 { 7262306a36Sopenharmony_ci status = "okay"; 7362306a36Sopenharmony_ci}; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci&ehci1 { 7662306a36Sopenharmony_ci status = "okay"; 7762306a36Sopenharmony_ci}; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci&emac { 8062306a36Sopenharmony_ci pinctrl-names = "default"; 8162306a36Sopenharmony_ci pinctrl-0 = <&rgmii_pins>; 8262306a36Sopenharmony_ci phy-mode = "rgmii-txid"; 8362306a36Sopenharmony_ci phy-handle = <&ext_rgmii_phy>; 8462306a36Sopenharmony_ci phy-supply = <®_dc1sw>; 8562306a36Sopenharmony_ci status = "okay"; 8662306a36Sopenharmony_ci}; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci&hdmi { 8962306a36Sopenharmony_ci hvcc-supply = <®_dldo1>; 9062306a36Sopenharmony_ci status = "okay"; 9162306a36Sopenharmony_ci}; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci&hdmi_out { 9462306a36Sopenharmony_ci hdmi_out_con: endpoint { 9562306a36Sopenharmony_ci remote-endpoint = <&hdmi_con_in>; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci}; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci&mdio { 10062306a36Sopenharmony_ci ext_rgmii_phy: ethernet-phy@1 { 10162306a36Sopenharmony_ci compatible = "ethernet-phy-ieee802.3-c22"; 10262306a36Sopenharmony_ci reg = <1>; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci}; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci&mmc2 { 10762306a36Sopenharmony_ci pinctrl-names = "default"; 10862306a36Sopenharmony_ci pinctrl-0 = <&mmc2_pins>; 10962306a36Sopenharmony_ci vmmc-supply = <®_dcdc1>; 11062306a36Sopenharmony_ci vqmmc-supply = <®_vcc1v8>; 11162306a36Sopenharmony_ci bus-width = <8>; 11262306a36Sopenharmony_ci non-removable; 11362306a36Sopenharmony_ci cap-mmc-hw-reset; 11462306a36Sopenharmony_ci mmc-hs200-1_8v; 11562306a36Sopenharmony_ci status = "okay"; 11662306a36Sopenharmony_ci}; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci&ohci0 { 11962306a36Sopenharmony_ci status = "okay"; 12062306a36Sopenharmony_ci}; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci&ohci1 { 12362306a36Sopenharmony_ci status = "okay"; 12462306a36Sopenharmony_ci}; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci®_dc1sw { 12762306a36Sopenharmony_ci /* 12862306a36Sopenharmony_ci * Ethernet PHY needs 30ms to properly power up and some more 12962306a36Sopenharmony_ci * to initialize. 100ms should be plenty of time to finish 13062306a36Sopenharmony_ci * whole process. 13162306a36Sopenharmony_ci */ 13262306a36Sopenharmony_ci regulator-enable-ramp-delay = <100000>; 13362306a36Sopenharmony_ci regulator-name = "vcc-phy"; 13462306a36Sopenharmony_ci}; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci®_dldo1 { 13762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 13862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 13962306a36Sopenharmony_ci regulator-name = "vcc-hdmi"; 14062306a36Sopenharmony_ci}; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci®_dldo2 { 14362306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 14462306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 14562306a36Sopenharmony_ci regulator-name = "vcc-mipi"; 14662306a36Sopenharmony_ci}; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci®_dldo4 { 14962306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 15062306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 15162306a36Sopenharmony_ci regulator-name = "vcc-wifi"; 15262306a36Sopenharmony_ci}; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci&simplefb_hdmi { 15562306a36Sopenharmony_ci vcc-hdmi-supply = <®_dldo1>; 15662306a36Sopenharmony_ci}; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci&sound { 15962306a36Sopenharmony_ci simple-audio-card,aux-devs = <&codec_analog>; 16062306a36Sopenharmony_ci simple-audio-card,widgets = "Microphone", "Microphone Jack", 16162306a36Sopenharmony_ci "Headphone", "Headphone Jack"; 16262306a36Sopenharmony_ci simple-audio-card,routing = 16362306a36Sopenharmony_ci "Left DAC", "DACL", 16462306a36Sopenharmony_ci "Right DAC", "DACR", 16562306a36Sopenharmony_ci "Headphone Jack", "HP", 16662306a36Sopenharmony_ci "ADCL", "Left ADC", 16762306a36Sopenharmony_ci "ADCR", "Right ADC", 16862306a36Sopenharmony_ci "MIC2", "Microphone Jack"; 16962306a36Sopenharmony_ci status = "okay"; 17062306a36Sopenharmony_ci}; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci&uart0 { 17362306a36Sopenharmony_ci pinctrl-names = "default"; 17462306a36Sopenharmony_ci pinctrl-0 = <&uart0_pb_pins>; 17562306a36Sopenharmony_ci status = "okay"; 17662306a36Sopenharmony_ci}; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci/* On Pi-2 connector */ 17962306a36Sopenharmony_ci&uart2 { 18062306a36Sopenharmony_ci pinctrl-names = "default"; 18162306a36Sopenharmony_ci pinctrl-0 = <&uart2_pins>; 18262306a36Sopenharmony_ci status = "disabled"; 18362306a36Sopenharmony_ci}; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci/* On Euler connector */ 18662306a36Sopenharmony_ci&uart3 { 18762306a36Sopenharmony_ci pinctrl-names = "default"; 18862306a36Sopenharmony_ci pinctrl-0 = <&uart3_pins>; 18962306a36Sopenharmony_ci status = "disabled"; 19062306a36Sopenharmony_ci}; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci/* On Euler connector, RTS/CTS optional */ 19362306a36Sopenharmony_ci&uart4 { 19462306a36Sopenharmony_ci pinctrl-names = "default"; 19562306a36Sopenharmony_ci pinctrl-0 = <&uart4_pins>; 19662306a36Sopenharmony_ci status = "disabled"; 19762306a36Sopenharmony_ci}; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci&usb_otg { 20062306a36Sopenharmony_ci dr_mode = "host"; 20162306a36Sopenharmony_ci status = "okay"; 20262306a36Sopenharmony_ci}; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci&usbphy { 20562306a36Sopenharmony_ci status = "okay"; 20662306a36Sopenharmony_ci}; 207