1cabbaed7SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (C) 2016 ARM Ltd. 3cabbaed7SClément Péron// Copyright (C) 2018 Hauke Mehrtens <hauke@hauke-m.de> 4a7affb13SHauke Mehrtens 5a7affb13SHauke Mehrtens/dts-v1/; 6a7affb13SHauke Mehrtens#include "sun50i-h5.dtsi" 7a7affb13SHauke Mehrtens 8a7affb13SHauke Mehrtens#include <dt-bindings/gpio/gpio.h> 9a7affb13SHauke Mehrtens#include <dt-bindings/input/input.h> 10a7affb13SHauke Mehrtens#include <dt-bindings/pinctrl/sun4i-a10.h> 11a7affb13SHauke Mehrtens 12a7affb13SHauke Mehrtens/ { 13a7affb13SHauke Mehrtens model = "Xunlong Orange Pi Zero Plus"; 14a7affb13SHauke Mehrtens compatible = "xunlong,orangepi-zero-plus", "allwinner,sun50i-h5"; 15a7affb13SHauke Mehrtens 16a7affb13SHauke Mehrtens reg_vcc3v3: vcc3v3 { 17a7affb13SHauke Mehrtens compatible = "regulator-fixed"; 18a7affb13SHauke Mehrtens regulator-name = "vcc3v3"; 19a7affb13SHauke Mehrtens regulator-min-microvolt = <3300000>; 20a7affb13SHauke Mehrtens regulator-max-microvolt = <3300000>; 21a7affb13SHauke Mehrtens }; 22a7affb13SHauke Mehrtens 23a7affb13SHauke Mehrtens aliases { 24a7affb13SHauke Mehrtens ethernet0 = &emac; 25a7affb13SHauke Mehrtens ethernet1 = &rtl8189ftv; 26a7affb13SHauke Mehrtens serial0 = &uart0; 27a7affb13SHauke Mehrtens }; 28a7affb13SHauke Mehrtens 29a7affb13SHauke Mehrtens chosen { 30a7affb13SHauke Mehrtens stdout-path = "serial0:115200n8"; 31a7affb13SHauke Mehrtens }; 32a7affb13SHauke Mehrtens 33a7affb13SHauke Mehrtens leds { 34a7affb13SHauke Mehrtens compatible = "gpio-leds"; 35a7affb13SHauke Mehrtens 36e299e6ddSMaxime Ripard led-0 { 37a7affb13SHauke Mehrtens label = "orangepi:green:pwr"; 38a7affb13SHauke Mehrtens gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */ 39a7affb13SHauke Mehrtens default-state = "on"; 40a7affb13SHauke Mehrtens }; 41a7affb13SHauke Mehrtens 42e299e6ddSMaxime Ripard led-1 { 43a7affb13SHauke Mehrtens label = "orangepi:red:status"; 44a7affb13SHauke Mehrtens gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */ 45a7affb13SHauke Mehrtens }; 46a7affb13SHauke Mehrtens }; 47a7affb13SHauke Mehrtens 48a7affb13SHauke Mehrtens reg_gmac_3v3: gmac-3v3 { 49a7affb13SHauke Mehrtens compatible = "regulator-fixed"; 50a7affb13SHauke Mehrtens regulator-name = "gmac-3v3"; 51a7affb13SHauke Mehrtens regulator-min-microvolt = <3300000>; 52a7affb13SHauke Mehrtens regulator-max-microvolt = <3300000>; 53a7affb13SHauke Mehrtens startup-delay-us = <100000>; 54a7affb13SHauke Mehrtens enable-active-high; 55a7affb13SHauke Mehrtens gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ 56a7affb13SHauke Mehrtens }; 57a7affb13SHauke Mehrtens}; 58a7affb13SHauke Mehrtens 59a7affb13SHauke Mehrtens&ehci0 { 60a7affb13SHauke Mehrtens status = "okay"; 61a7affb13SHauke Mehrtens}; 62a7affb13SHauke Mehrtens 63a7affb13SHauke Mehrtens&ehci1 { 64a7affb13SHauke Mehrtens status = "okay"; 65a7affb13SHauke Mehrtens}; 66a7affb13SHauke Mehrtens 67a7affb13SHauke Mehrtens&emac { 68a7affb13SHauke Mehrtens pinctrl-names = "default"; 69a7affb13SHauke Mehrtens pinctrl-0 = <&emac_rgmii_pins>; 70a7affb13SHauke Mehrtens phy-supply = <®_gmac_3v3>; 71a7affb13SHauke Mehrtens phy-handle = <&ext_rgmii_phy>; 72*08d2061fSRobert Marko phy-mode = "rgmii-id"; 73a7affb13SHauke Mehrtens status = "okay"; 74a7affb13SHauke Mehrtens}; 75a7affb13SHauke Mehrtens 76a7affb13SHauke Mehrtens&external_mdio { 77a7affb13SHauke Mehrtens ext_rgmii_phy: ethernet-phy@1 { 78a7affb13SHauke Mehrtens compatible = "ethernet-phy-ieee802.3-c22"; 79a7affb13SHauke Mehrtens reg = <1>; 80a7affb13SHauke Mehrtens }; 81a7affb13SHauke Mehrtens}; 82a7affb13SHauke Mehrtens 83a7affb13SHauke Mehrtens&mmc0 { 84a7affb13SHauke Mehrtens vmmc-supply = <®_vcc3v3>; 85a7affb13SHauke Mehrtens bus-width = <4>; 86a7affb13SHauke Mehrtens cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 87a7affb13SHauke Mehrtens status = "okay"; 88a7affb13SHauke Mehrtens}; 89a7affb13SHauke Mehrtens 90a7affb13SHauke Mehrtens&mmc1 { 91a7affb13SHauke Mehrtens vmmc-supply = <®_vcc3v3>; 92a7affb13SHauke Mehrtens bus-width = <4>; 93a7affb13SHauke Mehrtens non-removable; 94a7affb13SHauke Mehrtens status = "okay"; 95a7affb13SHauke Mehrtens 96a7affb13SHauke Mehrtens /* 97a7affb13SHauke Mehrtens * Explicitly define the sdio device, so that we can add an ethernet 98a7affb13SHauke Mehrtens * alias for it (which e.g. makes u-boot set a mac-address). 99a7affb13SHauke Mehrtens */ 100a7affb13SHauke Mehrtens rtl8189ftv: sdio_wifi@1 { 101a7affb13SHauke Mehrtens reg = <1>; 102a7affb13SHauke Mehrtens }; 103a7affb13SHauke Mehrtens}; 104a7affb13SHauke Mehrtens 105a7affb13SHauke Mehrtens&spi0 { 106a7affb13SHauke Mehrtens status = "okay"; 107a7affb13SHauke Mehrtens 108a7affb13SHauke Mehrtens flash@0 { 109a7affb13SHauke Mehrtens #address-cells = <1>; 110a7affb13SHauke Mehrtens #size-cells = <1>; 111a7affb13SHauke Mehrtens compatible = "mxicy,mx25l1606e", "winbond,w25q128"; 112a7affb13SHauke Mehrtens reg = <0>; 113a7affb13SHauke Mehrtens spi-max-frequency = <40000000>; 114a7affb13SHauke Mehrtens }; 115a7affb13SHauke Mehrtens}; 116a7affb13SHauke Mehrtens 117a7affb13SHauke Mehrtens&ohci0 { 118a7affb13SHauke Mehrtens status = "okay"; 119a7affb13SHauke Mehrtens}; 120a7affb13SHauke Mehrtens 121a7affb13SHauke Mehrtens&ohci1 { 122a7affb13SHauke Mehrtens status = "okay"; 123a7affb13SHauke Mehrtens}; 124a7affb13SHauke Mehrtens 125a7affb13SHauke Mehrtens&uart0 { 126a7affb13SHauke Mehrtens pinctrl-names = "default"; 127a4dc7919SMaxime Ripard pinctrl-0 = <&uart0_pa_pins>; 128a7affb13SHauke Mehrtens status = "okay"; 129a7affb13SHauke Mehrtens}; 130a7affb13SHauke Mehrtens 131a7affb13SHauke Mehrtens&usb_otg { 132a7affb13SHauke Mehrtens dr_mode = "peripheral"; 133a7affb13SHauke Mehrtens status = "okay"; 134a7affb13SHauke Mehrtens}; 135a7affb13SHauke Mehrtens 136a7affb13SHauke Mehrtens&usbphy { 137a7affb13SHauke Mehrtens /* USB Type-A ports' VBUS is always on */ 138a7affb13SHauke Mehrtens usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ 139a7affb13SHauke Mehrtens status = "okay"; 140a7affb13SHauke Mehrtens}; 141