1ea43d9b8SJagan Teki/* 2ea43d9b8SJagan Teki * Copyright (C) 2017 Jagan Teki <jteki@openedev.com> 3ea43d9b8SJagan Teki * 4ea43d9b8SJagan Teki * This file is dual-licensed: you can use it either under the terms 5ea43d9b8SJagan Teki * of the GPL or the X11 license, at your option. Note that this dual 6ea43d9b8SJagan Teki * licensing only applies to this file, and not this project as a 7ea43d9b8SJagan Teki * whole. 8ea43d9b8SJagan Teki * 9ea43d9b8SJagan Teki * a) This library is free software; you can redistribute it and/or 10ea43d9b8SJagan Teki * modify it under the terms of the GNU General Public License as 11ea43d9b8SJagan Teki * published by the Free Software Foundation; either version 2 of the 12ea43d9b8SJagan Teki * License, or (at your option) any later version. 13ea43d9b8SJagan Teki * 14ea43d9b8SJagan Teki * This library is distributed in the hope that it will be useful, 15ea43d9b8SJagan Teki * but WITHOUT ANY WARRANTY; without even the implied warranty of 16ea43d9b8SJagan Teki * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17ea43d9b8SJagan Teki * GNU General Public License for more details. 18ea43d9b8SJagan Teki * 19ea43d9b8SJagan Teki * Or, alternatively, 20ea43d9b8SJagan Teki * 21ea43d9b8SJagan Teki * b) Permission is hereby granted, free of charge, to any person 22ea43d9b8SJagan Teki * obtaining a copy of this software and associated documentation 23ea43d9b8SJagan Teki * files (the "Software"), to deal in the Software without 24ea43d9b8SJagan Teki * restriction, including without limitation the rights to use, 25ea43d9b8SJagan Teki * copy, modify, merge, publish, distribute, sublicense, and/or 26ea43d9b8SJagan Teki * sell copies of the Software, and to permit persons to whom the 27ea43d9b8SJagan Teki * Software is furnished to do so, subject to the following 28ea43d9b8SJagan Teki * conditions: 29ea43d9b8SJagan Teki * 30ea43d9b8SJagan Teki * The above copyright notice and this permission notice shall be 31ea43d9b8SJagan Teki * included in all copies or substantial portions of the Software. 32ea43d9b8SJagan Teki * 33ea43d9b8SJagan Teki * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34ea43d9b8SJagan Teki * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35ea43d9b8SJagan Teki * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36ea43d9b8SJagan Teki * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37ea43d9b8SJagan Teki * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38ea43d9b8SJagan Teki * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39ea43d9b8SJagan Teki * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40ea43d9b8SJagan Teki * OTHER DEALINGS IN THE SOFTWARE. 41ea43d9b8SJagan Teki */ 42ea43d9b8SJagan Teki 43ea43d9b8SJagan Teki/dts-v1/; 44ea43d9b8SJagan Teki 45ea43d9b8SJagan Teki#include "sun50i-h5.dtsi" 46ea43d9b8SJagan Teki 47ea43d9b8SJagan Teki#include <dt-bindings/gpio/gpio.h> 48ea43d9b8SJagan Teki 49ea43d9b8SJagan Teki/ { 50ea43d9b8SJagan Teki model = "OrangePi Zero Plus2"; 51ea43d9b8SJagan Teki compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5"; 52ea43d9b8SJagan Teki 53ea43d9b8SJagan Teki aliases { 54ea43d9b8SJagan Teki serial0 = &uart0; 55ea43d9b8SJagan Teki }; 56ea43d9b8SJagan Teki 57ea43d9b8SJagan Teki chosen { 58ea43d9b8SJagan Teki stdout-path = "serial0:115200n8"; 59ea43d9b8SJagan Teki }; 60ea43d9b8SJagan Teki 6122821975SJernej Skrabec connector { 6222821975SJernej Skrabec compatible = "hdmi-connector"; 6322821975SJernej Skrabec type = "a"; 6422821975SJernej Skrabec 6522821975SJernej Skrabec port { 6622821975SJernej Skrabec hdmi_con_in: endpoint { 6722821975SJernej Skrabec remote-endpoint = <&hdmi_out_con>; 6822821975SJernej Skrabec }; 6922821975SJernej Skrabec }; 7022821975SJernej Skrabec }; 7122821975SJernej Skrabec 72ea43d9b8SJagan Teki reg_vcc3v3: vcc3v3 { 73ea43d9b8SJagan Teki compatible = "regulator-fixed"; 74ea43d9b8SJagan Teki regulator-name = "vcc3v3"; 75ea43d9b8SJagan Teki regulator-min-microvolt = <3300000>; 76ea43d9b8SJagan Teki regulator-max-microvolt = <3300000>; 77ea43d9b8SJagan Teki }; 78cf8e19e1SSergey Matyukevich 79cf8e19e1SSergey Matyukevich wifi_pwrseq: wifi_pwrseq { 80cf8e19e1SSergey Matyukevich compatible = "mmc-pwrseq-simple"; 81cf8e19e1SSergey Matyukevich pinctrl-names = "default"; 82cf8e19e1SSergey Matyukevich reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ 83cf8e19e1SSergey Matyukevich post-power-on-delay-ms = <200>; 84cf8e19e1SSergey Matyukevich }; 85ea43d9b8SJagan Teki}; 86ea43d9b8SJagan Teki 8722821975SJernej Skrabec&de { 8822821975SJernej Skrabec status = "okay"; 8922821975SJernej Skrabec}; 9022821975SJernej Skrabec 9122821975SJernej Skrabec&hdmi { 9222821975SJernej Skrabec status = "okay"; 9322821975SJernej Skrabec}; 9422821975SJernej Skrabec 9522821975SJernej Skrabec&hdmi_out { 9622821975SJernej Skrabec hdmi_out_con: endpoint { 9722821975SJernej Skrabec remote-endpoint = <&hdmi_con_in>; 9822821975SJernej Skrabec }; 9922821975SJernej Skrabec}; 10022821975SJernej Skrabec 101ea43d9b8SJagan Teki&mmc0 { 102ea43d9b8SJagan Teki vmmc-supply = <®_vcc3v3>; 103ea43d9b8SJagan Teki bus-width = <4>; 104f88e9301SSergey Matyukevich cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 105ea43d9b8SJagan Teki status = "okay"; 106ea43d9b8SJagan Teki}; 107ea43d9b8SJagan Teki 108cf8e19e1SSergey Matyukevich&mmc1 { 109cf8e19e1SSergey Matyukevich vmmc-supply = <®_vcc3v3>; 110cf8e19e1SSergey Matyukevich vqmmc-supply = <®_vcc3v3>; 111cf8e19e1SSergey Matyukevich mmc-pwrseq = <&wifi_pwrseq>; 112cf8e19e1SSergey Matyukevich bus-width = <4>; 113cf8e19e1SSergey Matyukevich non-removable; 114cf8e19e1SSergey Matyukevich status = "okay"; 115cf8e19e1SSergey Matyukevich 116cf8e19e1SSergey Matyukevich brcmf: wifi@1 { 117cf8e19e1SSergey Matyukevich reg = <1>; 118cf8e19e1SSergey Matyukevich compatible = "brcm,bcm4329-fmac"; 119cf8e19e1SSergey Matyukevich interrupt-parent = <&r_pio>; 120cf8e19e1SSergey Matyukevich interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */ 121cf8e19e1SSergey Matyukevich interrupt-names = "host-wake"; 122cf8e19e1SSergey Matyukevich }; 123cf8e19e1SSergey Matyukevich}; 124cf8e19e1SSergey Matyukevich 125ea43d9b8SJagan Teki&mmc2 { 126ea43d9b8SJagan Teki pinctrl-names = "default"; 127ea43d9b8SJagan Teki pinctrl-0 = <&mmc2_8bit_pins>; 128ea43d9b8SJagan Teki vmmc-supply = <®_vcc3v3>; 129ea43d9b8SJagan Teki bus-width = <8>; 130ea43d9b8SJagan Teki non-removable; 131ea43d9b8SJagan Teki cap-mmc-hw-reset; 132ea43d9b8SJagan Teki status = "okay"; 133ea43d9b8SJagan Teki}; 134ea43d9b8SJagan Teki 135ea43d9b8SJagan Teki&uart0 { 136ea43d9b8SJagan Teki pinctrl-names = "default"; 137ea43d9b8SJagan Teki pinctrl-0 = <&uart0_pins_a>; 138ea43d9b8SJagan Teki status = "okay"; 139ea43d9b8SJagan Teki}; 140cf8e19e1SSergey Matyukevich 141cf8e19e1SSergey Matyukevich&uart1 { 142cf8e19e1SSergey Matyukevich pinctrl-names = "default"; 143cf8e19e1SSergey Matyukevich pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; 144cf8e19e1SSergey Matyukevich status = "okay"; 145cf8e19e1SSergey Matyukevich}; 146