19d41bbb6SAndre Przywara/*
29d41bbb6SAndre Przywara * Copyright (C) 2016 ARM Ltd.
39d41bbb6SAndre Przywara *
49d41bbb6SAndre Przywara * This file is dual-licensed: you can use it either under the terms
59d41bbb6SAndre Przywara * of the GPL or the X11 license, at your option. Note that this dual
69d41bbb6SAndre Przywara * licensing only applies to this file, and not this project as a
79d41bbb6SAndre Przywara * whole.
89d41bbb6SAndre Przywara *
99d41bbb6SAndre Przywara *  a) This file is free software; you can redistribute it and/or
109d41bbb6SAndre Przywara *     modify it under the terms of the GNU General Public License as
119d41bbb6SAndre Przywara *     published by the Free Software Foundation; either version 2 of the
129d41bbb6SAndre Przywara *     License, or (at your option) any later version.
139d41bbb6SAndre Przywara *
149d41bbb6SAndre Przywara *     This file is distributed in the hope that it will be useful,
159d41bbb6SAndre Przywara *     but WITHOUT ANY WARRANTY; without even the implied warranty of
169d41bbb6SAndre Przywara *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
179d41bbb6SAndre Przywara *     GNU General Public License for more details.
189d41bbb6SAndre Przywara *
199d41bbb6SAndre Przywara * Or, alternatively,
209d41bbb6SAndre Przywara *
219d41bbb6SAndre Przywara *  b) Permission is hereby granted, free of charge, to any person
229d41bbb6SAndre Przywara *     obtaining a copy of this software and associated documentation
239d41bbb6SAndre Przywara *     files (the "Software"), to deal in the Software without
249d41bbb6SAndre Przywara *     restriction, including without limitation the rights to use,
259d41bbb6SAndre Przywara *     copy, modify, merge, publish, distribute, sublicense, and/or
269d41bbb6SAndre Przywara *     sell copies of the Software, and to permit persons to whom the
279d41bbb6SAndre Przywara *     Software is furnished to do so, subject to the following
289d41bbb6SAndre Przywara *     conditions:
299d41bbb6SAndre Przywara *
309d41bbb6SAndre Przywara *     The above copyright notice and this permission notice shall be
319d41bbb6SAndre Przywara *     included in all copies or substantial portions of the Software.
329d41bbb6SAndre Przywara *
339d41bbb6SAndre Przywara *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
349d41bbb6SAndre Przywara *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
359d41bbb6SAndre Przywara *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
369d41bbb6SAndre Przywara *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
379d41bbb6SAndre Przywara *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
389d41bbb6SAndre Przywara *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
399d41bbb6SAndre Przywara *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
409d41bbb6SAndre Przywara *     OTHER DEALINGS IN THE SOFTWARE.
419d41bbb6SAndre Przywara */
429d41bbb6SAndre Przywara
439d41bbb6SAndre Przywara/dts-v1/;
449d41bbb6SAndre Przywara#include "sun50i-h5.dtsi"
459d41bbb6SAndre Przywara
469d41bbb6SAndre Przywara#include <dt-bindings/gpio/gpio.h>
479d41bbb6SAndre Przywara#include <dt-bindings/input/input.h>
489d41bbb6SAndre Przywara#include <dt-bindings/pinctrl/sun4i-a10.h>
499d41bbb6SAndre Przywara
509d41bbb6SAndre Przywara/ {
519d41bbb6SAndre Przywara	model = "Xunlong Orange Pi PC 2";
529d41bbb6SAndre Przywara	compatible = "xunlong,orangepi-pc2", "allwinner,sun50i-h5";
539d41bbb6SAndre Przywara
549d41bbb6SAndre Przywara	reg_vcc3v3: vcc3v3 {
559d41bbb6SAndre Przywara		compatible = "regulator-fixed";
569d41bbb6SAndre Przywara		regulator-name = "vcc3v3";
579d41bbb6SAndre Przywara		regulator-min-microvolt = <3300000>;
589d41bbb6SAndre Przywara		regulator-max-microvolt = <3300000>;
599d41bbb6SAndre Przywara	};
609d41bbb6SAndre Przywara
619d41bbb6SAndre Przywara	aliases {
629d41bbb6SAndre Przywara		serial0 = &uart0;
639d41bbb6SAndre Przywara	};
649d41bbb6SAndre Przywara
659d41bbb6SAndre Przywara	chosen {
669d41bbb6SAndre Przywara		stdout-path = "serial0:115200n8";
679d41bbb6SAndre Przywara	};
689d41bbb6SAndre Przywara
699d41bbb6SAndre Przywara	leds {
709d41bbb6SAndre Przywara		compatible = "gpio-leds";
719d41bbb6SAndre Przywara
729d41bbb6SAndre Przywara		pwr {
739d41bbb6SAndre Przywara			label = "orangepi:green:pwr";
749d41bbb6SAndre Przywara			gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
759d41bbb6SAndre Przywara			default-state = "on";
769d41bbb6SAndre Przywara		};
779d41bbb6SAndre Przywara
789d41bbb6SAndre Przywara		status {
799d41bbb6SAndre Przywara			label = "orangepi:red:status";
809d41bbb6SAndre Przywara			gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
819d41bbb6SAndre Przywara		};
829d41bbb6SAndre Przywara	};
839d41bbb6SAndre Przywara
849d41bbb6SAndre Przywara	r-gpio-keys {
859d41bbb6SAndre Przywara		compatible = "gpio-keys";
869d41bbb6SAndre Przywara
879d41bbb6SAndre Przywara		sw4 {
889d41bbb6SAndre Przywara			label = "sw4";
899d41bbb6SAndre Przywara			linux,code = <BTN_0>;
909d41bbb6SAndre Przywara			gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
919d41bbb6SAndre Przywara		};
929d41bbb6SAndre Przywara	};
935313ea66SIcenowy Zheng
945313ea66SIcenowy Zheng	reg_usb0_vbus: usb0-vbus {
955313ea66SIcenowy Zheng		compatible = "regulator-fixed";
965313ea66SIcenowy Zheng		regulator-name = "usb0-vbus";
975313ea66SIcenowy Zheng		regulator-min-microvolt = <5000000>;
985313ea66SIcenowy Zheng		regulator-max-microvolt = <5000000>;
995313ea66SIcenowy Zheng		enable-active-high;
1005313ea66SIcenowy Zheng		gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
1015313ea66SIcenowy Zheng		status = "okay";
1025313ea66SIcenowy Zheng	};
1039d41bbb6SAndre Przywara};
1049d41bbb6SAndre Przywara
1059d41bbb6SAndre Przywara&codec {
1069d41bbb6SAndre Przywara	allwinner,audio-routing =
1079d41bbb6SAndre Przywara		"Line Out", "LINEOUT",
1089d41bbb6SAndre Przywara		"MIC1", "Mic",
1099d41bbb6SAndre Przywara		"Mic",  "MBIAS";
1109d41bbb6SAndre Przywara	status = "okay";
1119d41bbb6SAndre Przywara};
1129d41bbb6SAndre Przywara
1135313ea66SIcenowy Zheng&ehci0 {
1145313ea66SIcenowy Zheng	status = "okay";
1155313ea66SIcenowy Zheng};
1165313ea66SIcenowy Zheng
1179d41bbb6SAndre Przywara&ehci1 {
1189d41bbb6SAndre Przywara	status = "okay";
1199d41bbb6SAndre Przywara};
1209d41bbb6SAndre Przywara
1219d41bbb6SAndre Przywara&ehci2 {
1229d41bbb6SAndre Przywara	status = "okay";
1239d41bbb6SAndre Przywara};
1249d41bbb6SAndre Przywara
1259d41bbb6SAndre Przywara&ehci3 {
1269d41bbb6SAndre Przywara	status = "okay";
1279d41bbb6SAndre Przywara};
1289d41bbb6SAndre Przywara
1299d41bbb6SAndre Przywara&ir {
1309d41bbb6SAndre Przywara	pinctrl-names = "default";
1319d41bbb6SAndre Przywara	pinctrl-0 = <&ir_pins_a>;
1329d41bbb6SAndre Przywara	status = "okay";
1339d41bbb6SAndre Przywara};
1349d41bbb6SAndre Przywara
1359d41bbb6SAndre Przywara&mmc0 {
1369d41bbb6SAndre Przywara	pinctrl-names = "default";
1379d41bbb6SAndre Przywara	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
1389d41bbb6SAndre Przywara	vmmc-supply = <&reg_vcc3v3>;
1399d41bbb6SAndre Przywara	bus-width = <4>;
1409d41bbb6SAndre Przywara	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
1419d41bbb6SAndre Przywara	status = "okay";
1429d41bbb6SAndre Przywara};
1439d41bbb6SAndre Przywara
1445313ea66SIcenowy Zheng&ohci0 {
1455313ea66SIcenowy Zheng	status = "okay";
1465313ea66SIcenowy Zheng};
1475313ea66SIcenowy Zheng
1489d41bbb6SAndre Przywara&ohci1 {
1499d41bbb6SAndre Przywara	status = "okay";
1509d41bbb6SAndre Przywara};
1519d41bbb6SAndre Przywara
1529d41bbb6SAndre Przywara&ohci2 {
1539d41bbb6SAndre Przywara	status = "okay";
1549d41bbb6SAndre Przywara};
1559d41bbb6SAndre Przywara
1569d41bbb6SAndre Przywara&ohci3 {
1579d41bbb6SAndre Przywara	status = "okay";
1589d41bbb6SAndre Przywara};
1599d41bbb6SAndre Przywara
1609d41bbb6SAndre Przywara&uart0 {
1619d41bbb6SAndre Przywara	pinctrl-names = "default";
1629d41bbb6SAndre Przywara	pinctrl-0 = <&uart0_pins_a>;
1639d41bbb6SAndre Przywara	status = "okay";
1649d41bbb6SAndre Przywara};
1659d41bbb6SAndre Przywara
1669d41bbb6SAndre Przywara&uart1 {
1679d41bbb6SAndre Przywara	pinctrl-names = "default";
1689d41bbb6SAndre Przywara	pinctrl-0 = <&uart1_pins>;
1699d41bbb6SAndre Przywara	status = "disabled";
1709d41bbb6SAndre Przywara};
1719d41bbb6SAndre Przywara
1729d41bbb6SAndre Przywara&uart2 {
1739d41bbb6SAndre Przywara	pinctrl-names = "default";
1749d41bbb6SAndre Przywara	pinctrl-0 = <&uart2_pins>;
1759d41bbb6SAndre Przywara	status = "disabled";
1769d41bbb6SAndre Przywara};
1779d41bbb6SAndre Przywara
1785313ea66SIcenowy Zheng&usb_otg {
1795313ea66SIcenowy Zheng	dr_mode = "otg";
1805313ea66SIcenowy Zheng	status = "okay";
1815313ea66SIcenowy Zheng};
1825313ea66SIcenowy Zheng
1839d41bbb6SAndre Przywara&usbphy {
1845313ea66SIcenowy Zheng	/* USB Type-A ports' VBUS is always on */
1855313ea66SIcenowy Zheng	usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
1865313ea66SIcenowy Zheng	usb0_vbus-supply = <&reg_usb0_vbus>;
1879d41bbb6SAndre Przywara	status = "okay";
1889d41bbb6SAndre Przywara};
189