172cd0132SHans de Goede/* 272cd0132SHans de Goede * Copyright (C) 2016 Hans de Goede <hdegoede@redhat.com> 372cd0132SHans de Goede * 472cd0132SHans de Goede * This file is dual-licensed: you can use it either under the terms 572cd0132SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual 672cd0132SHans de Goede * licensing only applies to this file, and not this project as a 772cd0132SHans de Goede * whole. 872cd0132SHans de Goede * 972cd0132SHans de Goede * a) This file is free software; you can redistribute it and/or 1072cd0132SHans de Goede * modify it under the terms of the GNU General Public License as 1172cd0132SHans de Goede * published by the Free Software Foundation; either version 2 of the 1272cd0132SHans de Goede * License, or (at your option) any later version. 1372cd0132SHans de Goede * 1472cd0132SHans de Goede * This file is distributed in the hope that it will be useful, 1572cd0132SHans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of 1672cd0132SHans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1772cd0132SHans de Goede * GNU General Public License for more details. 1872cd0132SHans de Goede * 1972cd0132SHans de Goede * Or, alternatively, 2072cd0132SHans de Goede * 2172cd0132SHans de Goede * b) Permission is hereby granted, free of charge, to any person 2272cd0132SHans de Goede * obtaining a copy of this software and associated documentation 2372cd0132SHans de Goede * files (the "Software"), to deal in the Software without 2472cd0132SHans de Goede * restriction, including without limitation the rights to use, 2572cd0132SHans de Goede * copy, modify, merge, publish, distribute, sublicense, and/or 2672cd0132SHans de Goede * sell copies of the Software, and to permit persons to whom the 2772cd0132SHans de Goede * Software is furnished to do so, subject to the following 2872cd0132SHans de Goede * conditions: 2972cd0132SHans de Goede * 3072cd0132SHans de Goede * The above copyright notice and this permission notice shall be 3172cd0132SHans de Goede * included in all copies or substantial portions of the Software. 3272cd0132SHans de Goede * 3372cd0132SHans de Goede * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3472cd0132SHans de Goede * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3572cd0132SHans de Goede * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3672cd0132SHans de Goede * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3772cd0132SHans de Goede * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 3872cd0132SHans de Goede * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 3972cd0132SHans de Goede * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4072cd0132SHans de Goede * OTHER DEALINGS IN THE SOFTWARE. 4172cd0132SHans de Goede */ 4272cd0132SHans de Goede 4372cd0132SHans de Goede/dts-v1/; 4472cd0132SHans de Goede#include "sun8i-h3.dtsi" 4572cd0132SHans de Goede#include "sunxi-common-regulators.dtsi" 4672cd0132SHans de Goede 4772cd0132SHans de Goede#include <dt-bindings/gpio/gpio.h> 4872cd0132SHans de Goede#include <dt-bindings/input/input.h> 4972cd0132SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h> 5072cd0132SHans de Goede 5172cd0132SHans de Goede/ { 5272cd0132SHans de Goede model = "Xunlong Orange Pi 2"; 5372cd0132SHans de Goede compatible = "xunlong,orangepi-2", "allwinner,sun8i-h3"; 5472cd0132SHans de Goede 5572cd0132SHans de Goede aliases { 5672cd0132SHans de Goede serial0 = &uart0; 57860fbdd4SHans de Goede /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ 58860fbdd4SHans de Goede ethernet1 = &rtl8189; 5972cd0132SHans de Goede }; 6072cd0132SHans de Goede 6172cd0132SHans de Goede chosen { 6272cd0132SHans de Goede stdout-path = "serial0:115200n8"; 6372cd0132SHans de Goede }; 6472cd0132SHans de Goede 6572cd0132SHans de Goede leds { 6672cd0132SHans de Goede compatible = "gpio-leds"; 6772cd0132SHans de Goede pinctrl-names = "default"; 6872cd0132SHans de Goede pinctrl-0 = <&leds_opc>, <&leds_r_opc>; 6972cd0132SHans de Goede 7072cd0132SHans de Goede status_led { 7172cd0132SHans de Goede label = "orangepi:red:status"; 7272cd0132SHans de Goede gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>; 7372cd0132SHans de Goede }; 7472cd0132SHans de Goede 7572cd0132SHans de Goede pwr_led { 7672cd0132SHans de Goede label = "orangepi:green:pwr"; 7772cd0132SHans de Goede gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 7872cd0132SHans de Goede default-state = "on"; 7972cd0132SHans de Goede }; 8072cd0132SHans de Goede }; 8172cd0132SHans de Goede 8272cd0132SHans de Goede r_gpio_keys { 8372cd0132SHans de Goede compatible = "gpio-keys"; 8472cd0132SHans de Goede pinctrl-names = "default"; 8572cd0132SHans de Goede pinctrl-0 = <&sw_r_opc>; 8672cd0132SHans de Goede 8772cd0132SHans de Goede sw2 { 8872cd0132SHans de Goede label = "sw2"; 8972cd0132SHans de Goede linux,code = <BTN_1>; 9072cd0132SHans de Goede gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; 9172cd0132SHans de Goede }; 9272cd0132SHans de Goede 9372cd0132SHans de Goede sw4 { 9472cd0132SHans de Goede label = "sw4"; 9572cd0132SHans de Goede linux,code = <BTN_0>; 9672cd0132SHans de Goede gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 9772cd0132SHans de Goede }; 9872cd0132SHans de Goede }; 9972cd0132SHans de Goede 10072cd0132SHans de Goede wifi_pwrseq: wifi_pwrseq { 10172cd0132SHans de Goede compatible = "mmc-pwrseq-simple"; 10272cd0132SHans de Goede pinctrl-names = "default"; 10372cd0132SHans de Goede pinctrl-0 = <&wifi_pwrseq_pin_orangepi>; 10472cd0132SHans de Goede reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */ 10572cd0132SHans de Goede }; 10672cd0132SHans de Goede}; 10772cd0132SHans de Goede 10872cd0132SHans de Goede&ehci1 { 10972cd0132SHans de Goede status = "okay"; 11072cd0132SHans de Goede}; 11172cd0132SHans de Goede 112*019731a8SHans de Goede&emac { 113*019731a8SHans de Goede phy = <&phy1>; 114*019731a8SHans de Goede phy-mode = "mii"; 115*019731a8SHans de Goede allwinner,use-internal-phy; 116*019731a8SHans de Goede allwinner,leds-active-low; 117*019731a8SHans de Goede status = "okay"; 118*019731a8SHans de Goede phy1: ethernet-phy@1 { 119*019731a8SHans de Goede reg = <1>; 120*019731a8SHans de Goede }; 121*019731a8SHans de Goede}; 122*019731a8SHans de Goede 12372cd0132SHans de Goede&ir { 12472cd0132SHans de Goede pinctrl-names = "default"; 12572cd0132SHans de Goede pinctrl-0 = <&ir_pins_a>; 12672cd0132SHans de Goede status = "okay"; 12772cd0132SHans de Goede}; 12872cd0132SHans de Goede 12972cd0132SHans de Goede&mmc0 { 13072cd0132SHans de Goede pinctrl-names = "default"; 13172cd0132SHans de Goede pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; 13272cd0132SHans de Goede vmmc-supply = <®_vcc3v3>; 13372cd0132SHans de Goede bus-width = <4>; 13472cd0132SHans de Goede cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 13572cd0132SHans de Goede cd-inverted; 13672cd0132SHans de Goede status = "okay"; 13772cd0132SHans de Goede}; 13872cd0132SHans de Goede 13972cd0132SHans de Goede&mmc1 { 14072cd0132SHans de Goede pinctrl-names = "default"; 14172cd0132SHans de Goede pinctrl-0 = <&mmc1_pins_a>; 14272cd0132SHans de Goede vmmc-supply = <®_vcc3v3>; 14372cd0132SHans de Goede mmc-pwrseq = <&wifi_pwrseq>; 14472cd0132SHans de Goede bus-width = <4>; 14572cd0132SHans de Goede non-removable; 14672cd0132SHans de Goede status = "okay"; 147860fbdd4SHans de Goede 148860fbdd4SHans de Goede /* 149860fbdd4SHans de Goede * Explicitly define the sdio device, so that we can add an ethernet 150860fbdd4SHans de Goede * alias for it (which e.g. makes u-boot set a mac-address). 151860fbdd4SHans de Goede */ 152860fbdd4SHans de Goede rtl8189: sdio_wifi@1 { 153860fbdd4SHans de Goede reg = <1>; 154860fbdd4SHans de Goede }; 15572cd0132SHans de Goede}; 15672cd0132SHans de Goede 15772cd0132SHans de Goede&pio { 15872cd0132SHans de Goede leds_opc: led_pins@0 { 15972cd0132SHans de Goede allwinner,pins = "PA15"; 16072cd0132SHans de Goede allwinner,function = "gpio_out"; 16172cd0132SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 16272cd0132SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 16372cd0132SHans de Goede }; 16472cd0132SHans de Goede}; 16572cd0132SHans de Goede 16672cd0132SHans de Goede&r_pio { 16772cd0132SHans de Goede leds_r_opc: led_pins@0 { 16872cd0132SHans de Goede allwinner,pins = "PL10"; 16972cd0132SHans de Goede allwinner,function = "gpio_out"; 17072cd0132SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 17172cd0132SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 17272cd0132SHans de Goede }; 17372cd0132SHans de Goede 17472cd0132SHans de Goede sw_r_opc: key_pins@0 { 17572cd0132SHans de Goede allwinner,pins = "PL3", "PL4"; 17672cd0132SHans de Goede allwinner,function = "gpio_in"; 17772cd0132SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 17872cd0132SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 17972cd0132SHans de Goede }; 18072cd0132SHans de Goede 18172cd0132SHans de Goede wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 { 18272cd0132SHans de Goede allwinner,pins = "PL7"; 18372cd0132SHans de Goede allwinner,function = "gpio_out"; 18472cd0132SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 18572cd0132SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 18672cd0132SHans de Goede }; 18772cd0132SHans de Goede}; 18872cd0132SHans de Goede 18972cd0132SHans de Goede®_usb1_vbus { 19072cd0132SHans de Goede gpio = <&pio 6 13 GPIO_ACTIVE_HIGH>; 19172cd0132SHans de Goede status = "okay"; 19272cd0132SHans de Goede}; 19372cd0132SHans de Goede 19472cd0132SHans de Goede&uart0 { 19572cd0132SHans de Goede pinctrl-names = "default"; 19672cd0132SHans de Goede pinctrl-0 = <&uart0_pins_a>; 19772cd0132SHans de Goede status = "okay"; 19872cd0132SHans de Goede}; 19972cd0132SHans de Goede 20072cd0132SHans de Goede&usb1_vbus_pin_a { 20172cd0132SHans de Goede allwinner,pins = "PG13"; 20272cd0132SHans de Goede}; 20372cd0132SHans de Goede 20472cd0132SHans de Goede&usbphy { 20572cd0132SHans de Goede usb1_vbus-supply = <®_usb1_vbus>; 20672cd0132SHans de Goede status = "okay"; 20772cd0132SHans de Goede}; 208