1b4b8f2c9SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (C) 2016 ARM Ltd. 39d41bbb6SAndre Przywara 49d41bbb6SAndre Przywara/dts-v1/; 59d41bbb6SAndre Przywara#include "sun50i-h5.dtsi" 69d41bbb6SAndre Przywara 79d41bbb6SAndre Przywara#include <dt-bindings/gpio/gpio.h> 89d41bbb6SAndre Przywara#include <dt-bindings/input/input.h> 99d41bbb6SAndre Przywara#include <dt-bindings/pinctrl/sun4i-a10.h> 109d41bbb6SAndre Przywara 119d41bbb6SAndre Przywara/ { 129d41bbb6SAndre Przywara model = "Xunlong Orange Pi PC 2"; 139d41bbb6SAndre Przywara compatible = "xunlong,orangepi-pc2", "allwinner,sun50i-h5"; 149d41bbb6SAndre Przywara 159d41bbb6SAndre Przywara reg_vcc3v3: vcc3v3 { 169d41bbb6SAndre Przywara compatible = "regulator-fixed"; 179d41bbb6SAndre Przywara regulator-name = "vcc3v3"; 189d41bbb6SAndre Przywara regulator-min-microvolt = <3300000>; 199d41bbb6SAndre Przywara regulator-max-microvolt = <3300000>; 209d41bbb6SAndre Przywara }; 219d41bbb6SAndre Przywara 229d41bbb6SAndre Przywara aliases { 2344a94c7eSCorentin Labbe ethernet0 = &emac; 249d41bbb6SAndre Przywara serial0 = &uart0; 259d41bbb6SAndre Przywara }; 269d41bbb6SAndre Przywara 279d41bbb6SAndre Przywara chosen { 289d41bbb6SAndre Przywara stdout-path = "serial0:115200n8"; 299d41bbb6SAndre Przywara }; 309d41bbb6SAndre Przywara 3122821975SJernej Skrabec connector { 3222821975SJernej Skrabec compatible = "hdmi-connector"; 3322821975SJernej Skrabec type = "a"; 3422821975SJernej Skrabec 3522821975SJernej Skrabec port { 3622821975SJernej Skrabec hdmi_con_in: endpoint { 3722821975SJernej Skrabec remote-endpoint = <&hdmi_out_con>; 3822821975SJernej Skrabec }; 3922821975SJernej Skrabec }; 4022821975SJernej Skrabec }; 4122821975SJernej Skrabec 429d41bbb6SAndre Przywara leds { 439d41bbb6SAndre Przywara compatible = "gpio-leds"; 449d41bbb6SAndre Przywara 45e299e6ddSMaxime Ripard led-0 { 469d41bbb6SAndre Przywara label = "orangepi:green:pwr"; 479d41bbb6SAndre Przywara gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 489d41bbb6SAndre Przywara default-state = "on"; 499d41bbb6SAndre Przywara }; 509d41bbb6SAndre Przywara 51e299e6ddSMaxime Ripard led-1 { 529d41bbb6SAndre Przywara label = "orangepi:red:status"; 539d41bbb6SAndre Przywara gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; 549d41bbb6SAndre Przywara }; 559d41bbb6SAndre Przywara }; 569d41bbb6SAndre Przywara 57*a0bdaf59SKrzysztof Kozlowski gpio-keys { 589d41bbb6SAndre Przywara compatible = "gpio-keys"; 599d41bbb6SAndre Przywara 60*a0bdaf59SKrzysztof Kozlowski key-sw4 { 619d41bbb6SAndre Przywara label = "sw4"; 629d41bbb6SAndre Przywara linux,code = <BTN_0>; 639d41bbb6SAndre Przywara gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 64787615adSSamuel Holland wakeup-source; 659d41bbb6SAndre Przywara }; 669d41bbb6SAndre Przywara }; 675313ea66SIcenowy Zheng 6899cacebfSCorentin Labbe reg_gmac_3v3: gmac-3v3 { 6999cacebfSCorentin Labbe compatible = "regulator-fixed"; 7099cacebfSCorentin Labbe regulator-name = "gmac-3v3"; 7199cacebfSCorentin Labbe regulator-min-microvolt = <3300000>; 7299cacebfSCorentin Labbe regulator-max-microvolt = <3300000>; 7399cacebfSCorentin Labbe startup-delay-us = <100000>; 7499cacebfSCorentin Labbe enable-active-high; 7599cacebfSCorentin Labbe gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 7699cacebfSCorentin Labbe }; 7799cacebfSCorentin Labbe 785313ea66SIcenowy Zheng reg_usb0_vbus: usb0-vbus { 795313ea66SIcenowy Zheng compatible = "regulator-fixed"; 805313ea66SIcenowy Zheng regulator-name = "usb0-vbus"; 815313ea66SIcenowy Zheng regulator-min-microvolt = <5000000>; 825313ea66SIcenowy Zheng regulator-max-microvolt = <5000000>; 835313ea66SIcenowy Zheng enable-active-high; 845313ea66SIcenowy Zheng gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ 855313ea66SIcenowy Zheng status = "okay"; 865313ea66SIcenowy Zheng }; 879d41bbb6SAndre Przywara}; 889d41bbb6SAndre Przywara 899d41bbb6SAndre Przywara&codec { 909d41bbb6SAndre Przywara allwinner,audio-routing = 919d41bbb6SAndre Przywara "Line Out", "LINEOUT", 929d41bbb6SAndre Przywara "MIC1", "Mic", 939d41bbb6SAndre Przywara "Mic", "MBIAS"; 949d41bbb6SAndre Przywara status = "okay"; 959d41bbb6SAndre Przywara}; 969d41bbb6SAndre Przywara 973abe422fSOndrej Jirman&cpu0 { 983abe422fSOndrej Jirman cpu-supply = <®_vdd_cpux>; 993abe422fSOndrej Jirman}; 1003abe422fSOndrej Jirman 10122821975SJernej Skrabec&de { 10222821975SJernej Skrabec status = "okay"; 10322821975SJernej Skrabec}; 10422821975SJernej Skrabec 1055313ea66SIcenowy Zheng&ehci0 { 1065313ea66SIcenowy Zheng status = "okay"; 1075313ea66SIcenowy Zheng}; 1085313ea66SIcenowy Zheng 1099d41bbb6SAndre Przywara&ehci1 { 1109d41bbb6SAndre Przywara status = "okay"; 1119d41bbb6SAndre Przywara}; 1129d41bbb6SAndre Przywara 1139d41bbb6SAndre Przywara&ehci2 { 1149d41bbb6SAndre Przywara status = "okay"; 1159d41bbb6SAndre Przywara}; 1169d41bbb6SAndre Przywara 1179d41bbb6SAndre Przywara&ehci3 { 1189d41bbb6SAndre Przywara status = "okay"; 1199d41bbb6SAndre Przywara}; 1209d41bbb6SAndre Przywara 12144a94c7eSCorentin Labbe&emac { 12244a94c7eSCorentin Labbe pinctrl-names = "default"; 12344a94c7eSCorentin Labbe pinctrl-0 = <&emac_rgmii_pins>; 12444a94c7eSCorentin Labbe phy-supply = <®_gmac_3v3>; 12544a94c7eSCorentin Labbe phy-handle = <&ext_rgmii_phy>; 126b34bf9f6SJernej Skrabec phy-mode = "rgmii-id"; 12744a94c7eSCorentin Labbe status = "okay"; 12844a94c7eSCorentin Labbe}; 12944a94c7eSCorentin Labbe 13044a94c7eSCorentin Labbe&external_mdio { 13144a94c7eSCorentin Labbe ext_rgmii_phy: ethernet-phy@1 { 13244a94c7eSCorentin Labbe compatible = "ethernet-phy-ieee802.3-c22"; 13344a94c7eSCorentin Labbe reg = <1>; 13444a94c7eSCorentin Labbe }; 13544a94c7eSCorentin Labbe}; 13644a94c7eSCorentin Labbe 13722821975SJernej Skrabec&hdmi { 13822821975SJernej Skrabec status = "okay"; 13922821975SJernej Skrabec}; 14022821975SJernej Skrabec 14122821975SJernej Skrabec&hdmi_out { 14222821975SJernej Skrabec hdmi_out_con: endpoint { 14322821975SJernej Skrabec remote-endpoint = <&hdmi_con_in>; 14422821975SJernej Skrabec }; 14522821975SJernej Skrabec}; 14622821975SJernej Skrabec 1479d41bbb6SAndre Przywara&ir { 1489d41bbb6SAndre Przywara pinctrl-names = "default"; 149a4dc7919SMaxime Ripard pinctrl-0 = <&r_ir_rx_pin>; 1509d41bbb6SAndre Przywara status = "okay"; 1519d41bbb6SAndre Przywara}; 1529d41bbb6SAndre Przywara 1539d41bbb6SAndre Przywara&mmc0 { 1549d41bbb6SAndre Przywara vmmc-supply = <®_vcc3v3>; 1559d41bbb6SAndre Przywara bus-width = <4>; 1569d41bbb6SAndre Przywara cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 1579d41bbb6SAndre Przywara status = "okay"; 1589d41bbb6SAndre Przywara}; 1599d41bbb6SAndre Przywara 1605313ea66SIcenowy Zheng&ohci0 { 1615313ea66SIcenowy Zheng status = "okay"; 1625313ea66SIcenowy Zheng}; 1635313ea66SIcenowy Zheng 1649d41bbb6SAndre Przywara&ohci1 { 1659d41bbb6SAndre Przywara status = "okay"; 1669d41bbb6SAndre Przywara}; 1679d41bbb6SAndre Przywara 1689d41bbb6SAndre Przywara&ohci2 { 1699d41bbb6SAndre Przywara status = "okay"; 1709d41bbb6SAndre Przywara}; 1719d41bbb6SAndre Przywara 1729d41bbb6SAndre Przywara&ohci3 { 1739d41bbb6SAndre Przywara status = "okay"; 1749d41bbb6SAndre Przywara}; 1759d41bbb6SAndre Przywara 1763abe422fSOndrej Jirman&r_i2c { 1773abe422fSOndrej Jirman status = "okay"; 1783abe422fSOndrej Jirman 1793abe422fSOndrej Jirman reg_vdd_cpux: regulator@65 { 1803abe422fSOndrej Jirman compatible = "silergy,sy8106a"; 1813abe422fSOndrej Jirman reg = <0x65>; 1823abe422fSOndrej Jirman regulator-name = "vdd-cpux"; 1833abe422fSOndrej Jirman silergy,fixed-microvolt = <1100000>; 1843abe422fSOndrej Jirman regulator-min-microvolt = <1000000>; 1853abe422fSOndrej Jirman regulator-max-microvolt = <1400000>; 1863abe422fSOndrej Jirman regulator-ramp-delay = <200>; 1873abe422fSOndrej Jirman regulator-boot-on; 1883abe422fSOndrej Jirman regulator-always-on; 1893abe422fSOndrej Jirman }; 1903abe422fSOndrej Jirman}; 1913abe422fSOndrej Jirman 1926461315eSEmmanuel Vadot&spi0 { 1936461315eSEmmanuel Vadot status = "okay"; 1946461315eSEmmanuel Vadot 1956461315eSEmmanuel Vadot flash@0 { 1966461315eSEmmanuel Vadot #address-cells = <1>; 1976461315eSEmmanuel Vadot #size-cells = <1>; 1986461315eSEmmanuel Vadot compatible = "jedec,spi-nor"; 1996461315eSEmmanuel Vadot reg = <0>; 2006461315eSEmmanuel Vadot spi-max-frequency = <40000000>; 2016461315eSEmmanuel Vadot }; 2026461315eSEmmanuel Vadot}; 2036461315eSEmmanuel Vadot 2049d41bbb6SAndre Przywara&uart0 { 2059d41bbb6SAndre Przywara pinctrl-names = "default"; 206a4dc7919SMaxime Ripard pinctrl-0 = <&uart0_pa_pins>; 2079d41bbb6SAndre Przywara status = "okay"; 2089d41bbb6SAndre Przywara}; 2099d41bbb6SAndre Przywara 2109d41bbb6SAndre Przywara&uart1 { 2119d41bbb6SAndre Przywara pinctrl-names = "default"; 2129d41bbb6SAndre Przywara pinctrl-0 = <&uart1_pins>; 2139d41bbb6SAndre Przywara status = "disabled"; 2149d41bbb6SAndre Przywara}; 2159d41bbb6SAndre Przywara 2169d41bbb6SAndre Przywara&uart2 { 2179d41bbb6SAndre Przywara pinctrl-names = "default"; 2189d41bbb6SAndre Przywara pinctrl-0 = <&uart2_pins>; 2199d41bbb6SAndre Przywara status = "disabled"; 2209d41bbb6SAndre Przywara}; 2219d41bbb6SAndre Przywara 2225313ea66SIcenowy Zheng&usb_otg { 2235313ea66SIcenowy Zheng dr_mode = "otg"; 2245313ea66SIcenowy Zheng status = "okay"; 2255313ea66SIcenowy Zheng}; 2265313ea66SIcenowy Zheng 2279d41bbb6SAndre Przywara&usbphy { 2285313ea66SIcenowy Zheng /* USB Type-A ports' VBUS is always on */ 2295313ea66SIcenowy Zheng usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ 2305313ea66SIcenowy Zheng usb0_vbus-supply = <®_usb0_vbus>; 2319d41bbb6SAndre Przywara status = "okay"; 2329d41bbb6SAndre Przywara}; 233