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" 6*23ca1dd4SAndre Przywara#include "sun50i-h5-cpu-opp.dtsi" 79d41bbb6SAndre Przywara 89d41bbb6SAndre Przywara#include <dt-bindings/gpio/gpio.h> 99d41bbb6SAndre Przywara#include <dt-bindings/input/input.h> 109d41bbb6SAndre Przywara#include <dt-bindings/pinctrl/sun4i-a10.h> 119d41bbb6SAndre Przywara 129d41bbb6SAndre Przywara/ { 139d41bbb6SAndre Przywara model = "Xunlong Orange Pi PC 2"; 149d41bbb6SAndre Przywara compatible = "xunlong,orangepi-pc2", "allwinner,sun50i-h5"; 159d41bbb6SAndre Przywara 169d41bbb6SAndre Przywara reg_vcc3v3: vcc3v3 { 179d41bbb6SAndre Przywara compatible = "regulator-fixed"; 189d41bbb6SAndre Przywara regulator-name = "vcc3v3"; 199d41bbb6SAndre Przywara regulator-min-microvolt = <3300000>; 209d41bbb6SAndre Przywara regulator-max-microvolt = <3300000>; 219d41bbb6SAndre Przywara }; 229d41bbb6SAndre Przywara 239d41bbb6SAndre Przywara aliases { 2444a94c7eSCorentin Labbe ethernet0 = &emac; 259d41bbb6SAndre Przywara serial0 = &uart0; 269d41bbb6SAndre Przywara }; 279d41bbb6SAndre Przywara 289d41bbb6SAndre Przywara chosen { 299d41bbb6SAndre Przywara stdout-path = "serial0:115200n8"; 309d41bbb6SAndre Przywara }; 319d41bbb6SAndre Przywara 3222821975SJernej Skrabec connector { 3322821975SJernej Skrabec compatible = "hdmi-connector"; 3422821975SJernej Skrabec type = "a"; 3522821975SJernej Skrabec 3622821975SJernej Skrabec port { 3722821975SJernej Skrabec hdmi_con_in: endpoint { 3822821975SJernej Skrabec remote-endpoint = <&hdmi_out_con>; 3922821975SJernej Skrabec }; 4022821975SJernej Skrabec }; 4122821975SJernej Skrabec }; 4222821975SJernej Skrabec 439d41bbb6SAndre Przywara leds { 449d41bbb6SAndre Przywara compatible = "gpio-leds"; 459d41bbb6SAndre Przywara 46e299e6ddSMaxime Ripard led-0 { 479d41bbb6SAndre Przywara label = "orangepi:green:pwr"; 489d41bbb6SAndre Przywara gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 499d41bbb6SAndre Przywara default-state = "on"; 509d41bbb6SAndre Przywara }; 519d41bbb6SAndre Przywara 52e299e6ddSMaxime Ripard led-1 { 539d41bbb6SAndre Przywara label = "orangepi:red:status"; 549d41bbb6SAndre Przywara gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; 559d41bbb6SAndre Przywara }; 569d41bbb6SAndre Przywara }; 579d41bbb6SAndre Przywara 58a0bdaf59SKrzysztof Kozlowski gpio-keys { 599d41bbb6SAndre Przywara compatible = "gpio-keys"; 609d41bbb6SAndre Przywara 61a0bdaf59SKrzysztof Kozlowski key-sw4 { 629d41bbb6SAndre Przywara label = "sw4"; 639d41bbb6SAndre Przywara linux,code = <BTN_0>; 649d41bbb6SAndre Przywara gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 65787615adSSamuel Holland wakeup-source; 669d41bbb6SAndre Przywara }; 679d41bbb6SAndre Przywara }; 685313ea66SIcenowy Zheng 6999cacebfSCorentin Labbe reg_gmac_3v3: gmac-3v3 { 7099cacebfSCorentin Labbe compatible = "regulator-fixed"; 7199cacebfSCorentin Labbe regulator-name = "gmac-3v3"; 7299cacebfSCorentin Labbe regulator-min-microvolt = <3300000>; 7399cacebfSCorentin Labbe regulator-max-microvolt = <3300000>; 7499cacebfSCorentin Labbe startup-delay-us = <100000>; 7599cacebfSCorentin Labbe enable-active-high; 7699cacebfSCorentin Labbe gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 7799cacebfSCorentin Labbe }; 7899cacebfSCorentin Labbe 795313ea66SIcenowy Zheng reg_usb0_vbus: usb0-vbus { 805313ea66SIcenowy Zheng compatible = "regulator-fixed"; 815313ea66SIcenowy Zheng regulator-name = "usb0-vbus"; 825313ea66SIcenowy Zheng regulator-min-microvolt = <5000000>; 835313ea66SIcenowy Zheng regulator-max-microvolt = <5000000>; 845313ea66SIcenowy Zheng enable-active-high; 855313ea66SIcenowy Zheng gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ 865313ea66SIcenowy Zheng status = "okay"; 875313ea66SIcenowy Zheng }; 889d41bbb6SAndre Przywara}; 899d41bbb6SAndre Przywara 909d41bbb6SAndre Przywara&codec { 919d41bbb6SAndre Przywara allwinner,audio-routing = 929d41bbb6SAndre Przywara "Line Out", "LINEOUT", 939d41bbb6SAndre Przywara "MIC1", "Mic", 949d41bbb6SAndre Przywara "Mic", "MBIAS"; 959d41bbb6SAndre Przywara status = "okay"; 969d41bbb6SAndre Przywara}; 979d41bbb6SAndre Przywara 983abe422fSOndrej Jirman&cpu0 { 993abe422fSOndrej Jirman cpu-supply = <®_vdd_cpux>; 1003abe422fSOndrej Jirman}; 1013abe422fSOndrej Jirman 10222821975SJernej Skrabec&de { 10322821975SJernej Skrabec status = "okay"; 10422821975SJernej Skrabec}; 10522821975SJernej Skrabec 1065313ea66SIcenowy Zheng&ehci0 { 1075313ea66SIcenowy Zheng status = "okay"; 1085313ea66SIcenowy Zheng}; 1095313ea66SIcenowy Zheng 1109d41bbb6SAndre Przywara&ehci1 { 1119d41bbb6SAndre Przywara status = "okay"; 1129d41bbb6SAndre Przywara}; 1139d41bbb6SAndre Przywara 1149d41bbb6SAndre Przywara&ehci2 { 1159d41bbb6SAndre Przywara status = "okay"; 1169d41bbb6SAndre Przywara}; 1179d41bbb6SAndre Przywara 1189d41bbb6SAndre Przywara&ehci3 { 1199d41bbb6SAndre Przywara status = "okay"; 1209d41bbb6SAndre Przywara}; 1219d41bbb6SAndre Przywara 12244a94c7eSCorentin Labbe&emac { 12344a94c7eSCorentin Labbe pinctrl-names = "default"; 12444a94c7eSCorentin Labbe pinctrl-0 = <&emac_rgmii_pins>; 12544a94c7eSCorentin Labbe phy-supply = <®_gmac_3v3>; 12644a94c7eSCorentin Labbe phy-handle = <&ext_rgmii_phy>; 127b34bf9f6SJernej Skrabec phy-mode = "rgmii-id"; 12844a94c7eSCorentin Labbe status = "okay"; 12944a94c7eSCorentin Labbe}; 13044a94c7eSCorentin Labbe 13144a94c7eSCorentin Labbe&external_mdio { 13244a94c7eSCorentin Labbe ext_rgmii_phy: ethernet-phy@1 { 13344a94c7eSCorentin Labbe compatible = "ethernet-phy-ieee802.3-c22"; 13444a94c7eSCorentin Labbe reg = <1>; 13544a94c7eSCorentin Labbe }; 13644a94c7eSCorentin Labbe}; 13744a94c7eSCorentin Labbe 13822821975SJernej Skrabec&hdmi { 13922821975SJernej Skrabec status = "okay"; 14022821975SJernej Skrabec}; 14122821975SJernej Skrabec 14222821975SJernej Skrabec&hdmi_out { 14322821975SJernej Skrabec hdmi_out_con: endpoint { 14422821975SJernej Skrabec remote-endpoint = <&hdmi_con_in>; 14522821975SJernej Skrabec }; 14622821975SJernej Skrabec}; 14722821975SJernej Skrabec 1489d41bbb6SAndre Przywara&ir { 1499d41bbb6SAndre Przywara pinctrl-names = "default"; 150a4dc7919SMaxime Ripard pinctrl-0 = <&r_ir_rx_pin>; 1519d41bbb6SAndre Przywara status = "okay"; 1529d41bbb6SAndre Przywara}; 1539d41bbb6SAndre Przywara 1549d41bbb6SAndre Przywara&mmc0 { 1559d41bbb6SAndre Przywara vmmc-supply = <®_vcc3v3>; 1569d41bbb6SAndre Przywara bus-width = <4>; 1579d41bbb6SAndre Przywara cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 1589d41bbb6SAndre Przywara status = "okay"; 1599d41bbb6SAndre Przywara}; 1609d41bbb6SAndre Przywara 1615313ea66SIcenowy Zheng&ohci0 { 1625313ea66SIcenowy Zheng status = "okay"; 1635313ea66SIcenowy Zheng}; 1645313ea66SIcenowy Zheng 1659d41bbb6SAndre Przywara&ohci1 { 1669d41bbb6SAndre Przywara status = "okay"; 1679d41bbb6SAndre Przywara}; 1689d41bbb6SAndre Przywara 1699d41bbb6SAndre Przywara&ohci2 { 1709d41bbb6SAndre Przywara status = "okay"; 1719d41bbb6SAndre Przywara}; 1729d41bbb6SAndre Przywara 1739d41bbb6SAndre Przywara&ohci3 { 1749d41bbb6SAndre Przywara status = "okay"; 1759d41bbb6SAndre Przywara}; 1769d41bbb6SAndre Przywara 1773abe422fSOndrej Jirman&r_i2c { 1783abe422fSOndrej Jirman status = "okay"; 1793abe422fSOndrej Jirman 1803abe422fSOndrej Jirman reg_vdd_cpux: regulator@65 { 1813abe422fSOndrej Jirman compatible = "silergy,sy8106a"; 1823abe422fSOndrej Jirman reg = <0x65>; 1833abe422fSOndrej Jirman regulator-name = "vdd-cpux"; 1843abe422fSOndrej Jirman silergy,fixed-microvolt = <1100000>; 1853abe422fSOndrej Jirman regulator-min-microvolt = <1000000>; 1863abe422fSOndrej Jirman regulator-max-microvolt = <1400000>; 1873abe422fSOndrej Jirman regulator-ramp-delay = <200>; 1883abe422fSOndrej Jirman regulator-boot-on; 1893abe422fSOndrej Jirman regulator-always-on; 1903abe422fSOndrej Jirman }; 1913abe422fSOndrej Jirman}; 1923abe422fSOndrej Jirman 1936461315eSEmmanuel Vadot&spi0 { 1946461315eSEmmanuel Vadot status = "okay"; 1956461315eSEmmanuel Vadot 1966461315eSEmmanuel Vadot flash@0 { 1976461315eSEmmanuel Vadot #address-cells = <1>; 1986461315eSEmmanuel Vadot #size-cells = <1>; 1996461315eSEmmanuel Vadot compatible = "jedec,spi-nor"; 2006461315eSEmmanuel Vadot reg = <0>; 2016461315eSEmmanuel Vadot spi-max-frequency = <40000000>; 2026461315eSEmmanuel Vadot }; 2036461315eSEmmanuel Vadot}; 2046461315eSEmmanuel Vadot 2059d41bbb6SAndre Przywara&uart0 { 2069d41bbb6SAndre Przywara pinctrl-names = "default"; 207a4dc7919SMaxime Ripard pinctrl-0 = <&uart0_pa_pins>; 2089d41bbb6SAndre Przywara status = "okay"; 2099d41bbb6SAndre Przywara}; 2109d41bbb6SAndre Przywara 2119d41bbb6SAndre Przywara&uart1 { 2129d41bbb6SAndre Przywara pinctrl-names = "default"; 2139d41bbb6SAndre Przywara pinctrl-0 = <&uart1_pins>; 2149d41bbb6SAndre Przywara status = "disabled"; 2159d41bbb6SAndre Przywara}; 2169d41bbb6SAndre Przywara 2179d41bbb6SAndre Przywara&uart2 { 2189d41bbb6SAndre Przywara pinctrl-names = "default"; 2199d41bbb6SAndre Przywara pinctrl-0 = <&uart2_pins>; 2209d41bbb6SAndre Przywara status = "disabled"; 2219d41bbb6SAndre Przywara}; 2229d41bbb6SAndre Przywara 2235313ea66SIcenowy Zheng&usb_otg { 2245313ea66SIcenowy Zheng dr_mode = "otg"; 2255313ea66SIcenowy Zheng status = "okay"; 2265313ea66SIcenowy Zheng}; 2275313ea66SIcenowy Zheng 2289d41bbb6SAndre Przywara&usbphy { 2295313ea66SIcenowy Zheng /* USB Type-A ports' VBUS is always on */ 2305313ea66SIcenowy Zheng usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ 2315313ea66SIcenowy Zheng usb0_vbus-supply = <®_usb0_vbus>; 2329d41bbb6SAndre Przywara status = "okay"; 2339d41bbb6SAndre Przywara}; 234