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