1*ec770dbaSHans de Goede/* 2*ec770dbaSHans de Goede * Copyright (C) 2016 Hans de Goede <hdegoede@redhat.com> 3*ec770dbaSHans de Goede * 4*ec770dbaSHans de Goede * This file is dual-licensed: you can use it either under the terms 5*ec770dbaSHans de Goede * of the GPL or the X11 license, at your option. Note that this dual 6*ec770dbaSHans de Goede * licensing only applies to this file, and not this project as a 7*ec770dbaSHans de Goede * whole. 8*ec770dbaSHans de Goede * 9*ec770dbaSHans de Goede * a) This file is free software; you can redistribute it and/or 10*ec770dbaSHans de Goede * modify it under the terms of the GNU General Public License as 11*ec770dbaSHans de Goede * published by the Free Software Foundation; either version 2 of the 12*ec770dbaSHans de Goede * License, or (at your option) any later version. 13*ec770dbaSHans de Goede * 14*ec770dbaSHans de Goede * This file is distributed in the hope that it will be useful, 15*ec770dbaSHans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*ec770dbaSHans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*ec770dbaSHans de Goede * GNU General Public License for more details. 18*ec770dbaSHans de Goede * 19*ec770dbaSHans de Goede * Or, alternatively, 20*ec770dbaSHans de Goede * 21*ec770dbaSHans de Goede * b) Permission is hereby granted, free of charge, to any person 22*ec770dbaSHans de Goede * obtaining a copy of this software and associated documentation 23*ec770dbaSHans de Goede * files (the "Software"), to deal in the Software without 24*ec770dbaSHans de Goede * restriction, including without limitation the rights to use, 25*ec770dbaSHans de Goede * copy, modify, merge, publish, distribute, sublicense, and/or 26*ec770dbaSHans de Goede * sell copies of the Software, and to permit persons to whom the 27*ec770dbaSHans de Goede * Software is furnished to do so, subject to the following 28*ec770dbaSHans de Goede * conditions: 29*ec770dbaSHans de Goede * 30*ec770dbaSHans de Goede * The above copyright notice and this permission notice shall be 31*ec770dbaSHans de Goede * included in all copies or substantial portions of the Software. 32*ec770dbaSHans de Goede * 33*ec770dbaSHans de Goede * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34*ec770dbaSHans de Goede * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35*ec770dbaSHans de Goede * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36*ec770dbaSHans de Goede * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37*ec770dbaSHans de Goede * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38*ec770dbaSHans de Goede * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39*ec770dbaSHans de Goede * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40*ec770dbaSHans de Goede * OTHER DEALINGS IN THE SOFTWARE. 41*ec770dbaSHans de Goede */ 42*ec770dbaSHans de Goede 43*ec770dbaSHans de Goede/dts-v1/; 44*ec770dbaSHans de Goede#include "sun8i-h3.dtsi" 45*ec770dbaSHans de Goede#include "sunxi-common-regulators.dtsi" 46*ec770dbaSHans de Goede 47*ec770dbaSHans de Goede#include <dt-bindings/gpio/gpio.h> 48*ec770dbaSHans de Goede#include <dt-bindings/input/input.h> 49*ec770dbaSHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h> 50*ec770dbaSHans de Goede 51*ec770dbaSHans de Goede/ { 52*ec770dbaSHans de Goede model = "Xunlong Orange Pi One"; 53*ec770dbaSHans de Goede compatible = "xunlong,orangepi-one", "allwinner,sun8i-h3"; 54*ec770dbaSHans de Goede 55*ec770dbaSHans de Goede aliases { 56*ec770dbaSHans de Goede serial0 = &uart0; 57*ec770dbaSHans de Goede }; 58*ec770dbaSHans de Goede 59*ec770dbaSHans de Goede chosen { 60*ec770dbaSHans de Goede stdout-path = "serial0:115200n8"; 61*ec770dbaSHans de Goede }; 62*ec770dbaSHans de Goede 63*ec770dbaSHans de Goede leds { 64*ec770dbaSHans de Goede compatible = "gpio-leds"; 65*ec770dbaSHans de Goede pinctrl-names = "default"; 66*ec770dbaSHans de Goede pinctrl-0 = <&leds_opc>, <&leds_r_opc>; 67*ec770dbaSHans de Goede 68*ec770dbaSHans de Goede pwr_led { 69*ec770dbaSHans de Goede label = "orangepi:green:pwr"; 70*ec770dbaSHans de Goede gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 71*ec770dbaSHans de Goede default-state = "on"; 72*ec770dbaSHans de Goede }; 73*ec770dbaSHans de Goede 74*ec770dbaSHans de Goede status_led { 75*ec770dbaSHans de Goede label = "orangepi:red:status"; 76*ec770dbaSHans de Goede gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>; 77*ec770dbaSHans de Goede }; 78*ec770dbaSHans de Goede }; 79*ec770dbaSHans de Goede 80*ec770dbaSHans de Goede r_gpio_keys { 81*ec770dbaSHans de Goede compatible = "gpio-keys"; 82*ec770dbaSHans de Goede pinctrl-names = "default"; 83*ec770dbaSHans de Goede pinctrl-0 = <&sw_r_opc>; 84*ec770dbaSHans de Goede 85*ec770dbaSHans de Goede sw4 { 86*ec770dbaSHans de Goede label = "sw4"; 87*ec770dbaSHans de Goede linux,code = <BTN_0>; 88*ec770dbaSHans de Goede gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 89*ec770dbaSHans de Goede }; 90*ec770dbaSHans de Goede }; 91*ec770dbaSHans de Goede}; 92*ec770dbaSHans de Goede 93*ec770dbaSHans de Goede&ehci1 { 94*ec770dbaSHans de Goede status = "okay"; 95*ec770dbaSHans de Goede}; 96*ec770dbaSHans de Goede 97*ec770dbaSHans de Goede&mmc0 { 98*ec770dbaSHans de Goede pinctrl-names = "default"; 99*ec770dbaSHans de Goede pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; 100*ec770dbaSHans de Goede vmmc-supply = <®_vcc3v3>; 101*ec770dbaSHans de Goede bus-width = <4>; 102*ec770dbaSHans de Goede cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 103*ec770dbaSHans de Goede cd-inverted; 104*ec770dbaSHans de Goede status = "okay"; 105*ec770dbaSHans de Goede}; 106*ec770dbaSHans de Goede 107*ec770dbaSHans de Goede&ohci1 { 108*ec770dbaSHans de Goede status = "okay"; 109*ec770dbaSHans de Goede}; 110*ec770dbaSHans de Goede 111*ec770dbaSHans de Goede&pio { 112*ec770dbaSHans de Goede leds_opc: led_pins@0 { 113*ec770dbaSHans de Goede allwinner,pins = "PA15"; 114*ec770dbaSHans de Goede allwinner,function = "gpio_out"; 115*ec770dbaSHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 116*ec770dbaSHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 117*ec770dbaSHans de Goede }; 118*ec770dbaSHans de Goede}; 119*ec770dbaSHans de Goede 120*ec770dbaSHans de Goede&r_pio { 121*ec770dbaSHans de Goede leds_r_opc: led_pins@0 { 122*ec770dbaSHans de Goede allwinner,pins = "PL10"; 123*ec770dbaSHans de Goede allwinner,function = "gpio_out"; 124*ec770dbaSHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 125*ec770dbaSHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 126*ec770dbaSHans de Goede }; 127*ec770dbaSHans de Goede 128*ec770dbaSHans de Goede sw_r_opc: key_pins@0 { 129*ec770dbaSHans de Goede allwinner,pins = "PL3"; 130*ec770dbaSHans de Goede allwinner,function = "gpio_in"; 131*ec770dbaSHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 132*ec770dbaSHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 133*ec770dbaSHans de Goede }; 134*ec770dbaSHans de Goede}; 135*ec770dbaSHans de Goede 136*ec770dbaSHans de Goede&uart0 { 137*ec770dbaSHans de Goede pinctrl-names = "default"; 138*ec770dbaSHans de Goede pinctrl-0 = <&uart0_pins_a>; 139*ec770dbaSHans de Goede status = "okay"; 140*ec770dbaSHans de Goede}; 141*ec770dbaSHans de Goede 142*ec770dbaSHans de Goede&usbphy { 143*ec770dbaSHans de Goede /* USB VBUS is always on */ 144*ec770dbaSHans de Goede status = "okay"; 145*ec770dbaSHans de Goede}; 146