1b4b8f2c9SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (C) 2017 Jagan Teki <jteki@openedev.com> 3ea43d9b8SJagan Teki 4ea43d9b8SJagan Teki/dts-v1/; 5ea43d9b8SJagan Teki 6ea43d9b8SJagan Teki#include "sun50i-h5.dtsi" 7ea43d9b8SJagan Teki 8ea43d9b8SJagan Teki#include <dt-bindings/gpio/gpio.h> 9ea43d9b8SJagan Teki 10ea43d9b8SJagan Teki/ { 11ea43d9b8SJagan Teki model = "OrangePi Zero Plus2"; 12ea43d9b8SJagan Teki compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5"; 13ea43d9b8SJagan Teki 14ea43d9b8SJagan Teki aliases { 15ea43d9b8SJagan Teki serial0 = &uart0; 16ea43d9b8SJagan Teki }; 17ea43d9b8SJagan Teki 18ea43d9b8SJagan Teki chosen { 19ea43d9b8SJagan Teki stdout-path = "serial0:115200n8"; 20ea43d9b8SJagan Teki }; 21ea43d9b8SJagan Teki 2222821975SJernej Skrabec connector { 2322821975SJernej Skrabec compatible = "hdmi-connector"; 2422821975SJernej Skrabec type = "a"; 2522821975SJernej Skrabec 2622821975SJernej Skrabec port { 2722821975SJernej Skrabec hdmi_con_in: endpoint { 2822821975SJernej Skrabec remote-endpoint = <&hdmi_out_con>; 2922821975SJernej Skrabec }; 3022821975SJernej Skrabec }; 3122821975SJernej Skrabec }; 3222821975SJernej Skrabec 3321a827bfSDiego Rondini leds { 3421a827bfSDiego Rondini compatible = "gpio-leds"; 3521a827bfSDiego Rondini 36*e299e6ddSMaxime Ripard led-0 { 3721a827bfSDiego Rondini label = "orangepi:green:pwr"; 3821a827bfSDiego Rondini gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 3921a827bfSDiego Rondini default-state = "on"; 4021a827bfSDiego Rondini }; 4121a827bfSDiego Rondini 42*e299e6ddSMaxime Ripard led-1 { 4321a827bfSDiego Rondini label = "orangepi:red:status"; 4421a827bfSDiego Rondini gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; 4521a827bfSDiego Rondini }; 4621a827bfSDiego Rondini }; 4721a827bfSDiego Rondini 48ea43d9b8SJagan Teki reg_vcc3v3: vcc3v3 { 49ea43d9b8SJagan Teki compatible = "regulator-fixed"; 50ea43d9b8SJagan Teki regulator-name = "vcc3v3"; 51ea43d9b8SJagan Teki regulator-min-microvolt = <3300000>; 52ea43d9b8SJagan Teki regulator-max-microvolt = <3300000>; 53ea43d9b8SJagan Teki }; 54cf8e19e1SSergey Matyukevich 55cf8e19e1SSergey Matyukevich wifi_pwrseq: wifi_pwrseq { 56cf8e19e1SSergey Matyukevich compatible = "mmc-pwrseq-simple"; 57cf8e19e1SSergey Matyukevich reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ 58cf8e19e1SSergey Matyukevich post-power-on-delay-ms = <200>; 59cf8e19e1SSergey Matyukevich }; 60ea43d9b8SJagan Teki}; 61ea43d9b8SJagan Teki 6222821975SJernej Skrabec&de { 6322821975SJernej Skrabec status = "okay"; 6422821975SJernej Skrabec}; 6522821975SJernej Skrabec 6643aad09cSDiego Rondini&ehci0 { 6743aad09cSDiego Rondini status = "okay"; 6843aad09cSDiego Rondini}; 6943aad09cSDiego Rondini 7022821975SJernej Skrabec&hdmi { 7122821975SJernej Skrabec status = "okay"; 7222821975SJernej Skrabec}; 7322821975SJernej Skrabec 7422821975SJernej Skrabec&hdmi_out { 7522821975SJernej Skrabec hdmi_out_con: endpoint { 7622821975SJernej Skrabec remote-endpoint = <&hdmi_con_in>; 7722821975SJernej Skrabec }; 7822821975SJernej Skrabec}; 7922821975SJernej Skrabec 80ea43d9b8SJagan Teki&mmc0 { 81ea43d9b8SJagan Teki vmmc-supply = <®_vcc3v3>; 82ea43d9b8SJagan Teki bus-width = <4>; 83f88e9301SSergey Matyukevich cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 84ea43d9b8SJagan Teki status = "okay"; 85ea43d9b8SJagan Teki}; 86ea43d9b8SJagan Teki 87cf8e19e1SSergey Matyukevich&mmc1 { 88cf8e19e1SSergey Matyukevich vmmc-supply = <®_vcc3v3>; 89cf8e19e1SSergey Matyukevich vqmmc-supply = <®_vcc3v3>; 90cf8e19e1SSergey Matyukevich mmc-pwrseq = <&wifi_pwrseq>; 91cf8e19e1SSergey Matyukevich bus-width = <4>; 92cf8e19e1SSergey Matyukevich non-removable; 93cf8e19e1SSergey Matyukevich status = "okay"; 94cf8e19e1SSergey Matyukevich 95cf8e19e1SSergey Matyukevich brcmf: wifi@1 { 96cf8e19e1SSergey Matyukevich reg = <1>; 97cf8e19e1SSergey Matyukevich compatible = "brcm,bcm4329-fmac"; 98cf8e19e1SSergey Matyukevich interrupt-parent = <&r_pio>; 99cf8e19e1SSergey Matyukevich interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */ 100cf8e19e1SSergey Matyukevich interrupt-names = "host-wake"; 101cf8e19e1SSergey Matyukevich }; 102cf8e19e1SSergey Matyukevich}; 103cf8e19e1SSergey Matyukevich 104ea43d9b8SJagan Teki&mmc2 { 105ea43d9b8SJagan Teki pinctrl-names = "default"; 106ea43d9b8SJagan Teki pinctrl-0 = <&mmc2_8bit_pins>; 107ea43d9b8SJagan Teki vmmc-supply = <®_vcc3v3>; 108ea43d9b8SJagan Teki bus-width = <8>; 109ea43d9b8SJagan Teki non-removable; 110ea43d9b8SJagan Teki cap-mmc-hw-reset; 111ea43d9b8SJagan Teki status = "okay"; 112ea43d9b8SJagan Teki}; 113ea43d9b8SJagan Teki 11443aad09cSDiego Rondini&ohci0 { 11543aad09cSDiego Rondini status = "okay"; 11643aad09cSDiego Rondini}; 11743aad09cSDiego Rondini 118ea43d9b8SJagan Teki&uart0 { 119ea43d9b8SJagan Teki pinctrl-names = "default"; 120a4dc7919SMaxime Ripard pinctrl-0 = <&uart0_pa_pins>; 121ea43d9b8SJagan Teki status = "okay"; 122ea43d9b8SJagan Teki}; 123cf8e19e1SSergey Matyukevich 124cf8e19e1SSergey Matyukevich&uart1 { 125cf8e19e1SSergey Matyukevich pinctrl-names = "default"; 126cf8e19e1SSergey Matyukevich pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; 127cf8e19e1SSergey Matyukevich status = "okay"; 128cf8e19e1SSergey Matyukevich}; 12943aad09cSDiego Rondini 13043aad09cSDiego Rondini&usb_otg { 13143aad09cSDiego Rondini /* 13243aad09cSDiego Rondini * According to schematics CN1 MicroUSB port can be used to take 13343aad09cSDiego Rondini * external 5V to power up the board VBUS. On the contrary CN1 MicroUSB 13443aad09cSDiego Rondini * port cannot provide power externally even if the board is powered 13543aad09cSDiego Rondini * via GPIO pins. It thus makes sense to force peripheral mode. 13643aad09cSDiego Rondini */ 13743aad09cSDiego Rondini dr_mode = "peripheral"; 13843aad09cSDiego Rondini status = "okay"; 13943aad09cSDiego Rondini}; 14043aad09cSDiego Rondini 14143aad09cSDiego Rondini&usbphy { 14243aad09cSDiego Rondini status = "okay"; 14343aad09cSDiego Rondini}; 144