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 33ea43d9b8SJagan Teki reg_vcc3v3: vcc3v3 { 34ea43d9b8SJagan Teki compatible = "regulator-fixed"; 35ea43d9b8SJagan Teki regulator-name = "vcc3v3"; 36ea43d9b8SJagan Teki regulator-min-microvolt = <3300000>; 37ea43d9b8SJagan Teki regulator-max-microvolt = <3300000>; 38ea43d9b8SJagan Teki }; 39cf8e19e1SSergey Matyukevich 40cf8e19e1SSergey Matyukevich wifi_pwrseq: wifi_pwrseq { 41cf8e19e1SSergey Matyukevich compatible = "mmc-pwrseq-simple"; 42cf8e19e1SSergey Matyukevich reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ 43cf8e19e1SSergey Matyukevich post-power-on-delay-ms = <200>; 44cf8e19e1SSergey Matyukevich }; 45ea43d9b8SJagan Teki}; 46ea43d9b8SJagan Teki 4722821975SJernej Skrabec&de { 4822821975SJernej Skrabec status = "okay"; 4922821975SJernej Skrabec}; 5022821975SJernej Skrabec 5143aad09cSDiego Rondini&ehci0 { 5243aad09cSDiego Rondini status = "okay"; 5343aad09cSDiego Rondini}; 5443aad09cSDiego Rondini 5522821975SJernej Skrabec&hdmi { 5622821975SJernej Skrabec status = "okay"; 5722821975SJernej Skrabec}; 5822821975SJernej Skrabec 5922821975SJernej Skrabec&hdmi_out { 6022821975SJernej Skrabec hdmi_out_con: endpoint { 6122821975SJernej Skrabec remote-endpoint = <&hdmi_con_in>; 6222821975SJernej Skrabec }; 6322821975SJernej Skrabec}; 6422821975SJernej Skrabec 65ea43d9b8SJagan Teki&mmc0 { 66ea43d9b8SJagan Teki vmmc-supply = <®_vcc3v3>; 67ea43d9b8SJagan Teki bus-width = <4>; 68f88e9301SSergey Matyukevich cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 69ea43d9b8SJagan Teki status = "okay"; 70ea43d9b8SJagan Teki}; 71ea43d9b8SJagan Teki 72cf8e19e1SSergey Matyukevich&mmc1 { 73cf8e19e1SSergey Matyukevich vmmc-supply = <®_vcc3v3>; 74cf8e19e1SSergey Matyukevich vqmmc-supply = <®_vcc3v3>; 75cf8e19e1SSergey Matyukevich mmc-pwrseq = <&wifi_pwrseq>; 76cf8e19e1SSergey Matyukevich bus-width = <4>; 77cf8e19e1SSergey Matyukevich non-removable; 78cf8e19e1SSergey Matyukevich status = "okay"; 79cf8e19e1SSergey Matyukevich 80cf8e19e1SSergey Matyukevich brcmf: wifi@1 { 81cf8e19e1SSergey Matyukevich reg = <1>; 82cf8e19e1SSergey Matyukevich compatible = "brcm,bcm4329-fmac"; 83cf8e19e1SSergey Matyukevich interrupt-parent = <&r_pio>; 84cf8e19e1SSergey Matyukevich interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */ 85cf8e19e1SSergey Matyukevich interrupt-names = "host-wake"; 86cf8e19e1SSergey Matyukevich }; 87cf8e19e1SSergey Matyukevich}; 88cf8e19e1SSergey Matyukevich 89ea43d9b8SJagan Teki&mmc2 { 90ea43d9b8SJagan Teki pinctrl-names = "default"; 91ea43d9b8SJagan Teki pinctrl-0 = <&mmc2_8bit_pins>; 92ea43d9b8SJagan Teki vmmc-supply = <®_vcc3v3>; 93ea43d9b8SJagan Teki bus-width = <8>; 94ea43d9b8SJagan Teki non-removable; 95ea43d9b8SJagan Teki cap-mmc-hw-reset; 96ea43d9b8SJagan Teki status = "okay"; 97ea43d9b8SJagan Teki}; 98ea43d9b8SJagan Teki 9943aad09cSDiego Rondini&ohci0 { 10043aad09cSDiego Rondini status = "okay"; 10143aad09cSDiego Rondini}; 10243aad09cSDiego Rondini 103ea43d9b8SJagan Teki&uart0 { 104ea43d9b8SJagan Teki pinctrl-names = "default"; 105a4dc7919SMaxime Ripard pinctrl-0 = <&uart0_pa_pins>; 106ea43d9b8SJagan Teki status = "okay"; 107ea43d9b8SJagan Teki}; 108cf8e19e1SSergey Matyukevich 109cf8e19e1SSergey Matyukevich&uart1 { 110cf8e19e1SSergey Matyukevich pinctrl-names = "default"; 111cf8e19e1SSergey Matyukevich pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; 112cf8e19e1SSergey Matyukevich status = "okay"; 113cf8e19e1SSergey Matyukevich}; 11443aad09cSDiego Rondini 11543aad09cSDiego Rondini&usb_otg { 11643aad09cSDiego Rondini /* 11743aad09cSDiego Rondini * According to schematics CN1 MicroUSB port can be used to take 11843aad09cSDiego Rondini * external 5V to power up the board VBUS. On the contrary CN1 MicroUSB 11943aad09cSDiego Rondini * port cannot provide power externally even if the board is powered 12043aad09cSDiego Rondini * via GPIO pins. It thus makes sense to force peripheral mode. 12143aad09cSDiego Rondini */ 12243aad09cSDiego Rondini dr_mode = "peripheral"; 12343aad09cSDiego Rondini status = "okay"; 12443aad09cSDiego Rondini}; 12543aad09cSDiego Rondini 12643aad09cSDiego Rondini&usbphy { 12743aad09cSDiego Rondini status = "okay"; 12843aad09cSDiego Rondini}; 129