1643ad899SSimon Glass/* 2643ad899SSimon Glass * Copyright 2014 Zoltan HERPAI 3643ad899SSimon Glass * Zoltan HERPAI <wigyori@uid0.hu> 4643ad899SSimon Glass * 553ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms 653ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual 753ab4af3SHans de Goede * licensing only applies to this file, and not this project as a 853ab4af3SHans de Goede * whole. 9643ad899SSimon Glass * 1053ab4af3SHans de Goede * a) This file is free software; you can redistribute it and/or 1153ab4af3SHans de Goede * modify it under the terms of the GNU General Public License as 1253ab4af3SHans de Goede * published by the Free Software Foundation; either version 2 of the 1353ab4af3SHans de Goede * License, or (at your option) any later version. 1453ab4af3SHans de Goede * 1553ab4af3SHans de Goede * This file is distributed in the hope that it will be useful, 1653ab4af3SHans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of 1753ab4af3SHans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1853ab4af3SHans de Goede * GNU General Public License for more details. 1953ab4af3SHans de Goede * 2053ab4af3SHans de Goede * Or, alternatively, 2153ab4af3SHans de Goede * 2253ab4af3SHans de Goede * b) Permission is hereby granted, free of charge, to any person 2353ab4af3SHans de Goede * obtaining a copy of this software and associated documentation 2453ab4af3SHans de Goede * files (the "Software"), to deal in the Software without 2553ab4af3SHans de Goede * restriction, including without limitation the rights to use, 2653ab4af3SHans de Goede * copy, modify, merge, publish, distribute, sublicense, and/or 2753ab4af3SHans de Goede * sell copies of the Software, and to permit persons to whom the 2853ab4af3SHans de Goede * Software is furnished to do so, subject to the following 2953ab4af3SHans de Goede * conditions: 3053ab4af3SHans de Goede * 3153ab4af3SHans de Goede * The above copyright notice and this permission notice shall be 3253ab4af3SHans de Goede * included in all copies or substantial portions of the Software. 3353ab4af3SHans de Goede * 3453ab4af3SHans de Goede * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3553ab4af3SHans de Goede * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3653ab4af3SHans de Goede * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3753ab4af3SHans de Goede * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3853ab4af3SHans de Goede * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 3953ab4af3SHans de Goede * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 4053ab4af3SHans de Goede * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4153ab4af3SHans de Goede * OTHER DEALINGS IN THE SOFTWARE. 42643ad899SSimon Glass */ 43643ad899SSimon Glass 44643ad899SSimon Glass/dts-v1/; 4553ab4af3SHans de Goede#include "sun7i-a20.dtsi" 4653ab4af3SHans de Goede#include "sunxi-common-regulators.dtsi" 4753ab4af3SHans de Goede 48643ad899SSimon Glass#include <dt-bindings/gpio/gpio.h> 49643ad899SSimon Glass#include <dt-bindings/input/input.h> 5053ab4af3SHans de Goede#include <dt-bindings/interrupt-controller/irq.h> 5153ab4af3SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h> 52643ad899SSimon Glass 53643ad899SSimon Glass/ { 54643ad899SSimon Glass model = "LinkSprite pcDuino3"; 55643ad899SSimon Glass compatible = "linksprite,pcduino3", "allwinner,sun7i-a20"; 56643ad899SSimon Glass 5753ab4af3SHans de Goede aliases { 5853ab4af3SHans de Goede serial0 = &uart0; 5953ab4af3SHans de Goede }; 6053ab4af3SHans de Goede 611a81cf83SSimon Glass chosen { 6253ab4af3SHans de Goede stdout-path = "serial0:115200n8"; 63643ad899SSimon Glass }; 64643ad899SSimon Glass 65643ad899SSimon Glass leds { 66643ad899SSimon Glass compatible = "gpio-leds"; 67643ad899SSimon Glass pinctrl-names = "default"; 68643ad899SSimon Glass pinctrl-0 = <&led_pins_pcduino3>; 69643ad899SSimon Glass 70643ad899SSimon Glass tx { 71643ad899SSimon Glass label = "pcduino3:green:tx"; 72643ad899SSimon Glass gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; 73643ad899SSimon Glass }; 74643ad899SSimon Glass 75643ad899SSimon Glass rx { 76643ad899SSimon Glass label = "pcduino3:green:rx"; 77643ad899SSimon Glass gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; 78643ad899SSimon Glass }; 79643ad899SSimon Glass }; 80643ad899SSimon Glass 81643ad899SSimon Glass gpio_keys { 82643ad899SSimon Glass compatible = "gpio-keys"; 83643ad899SSimon Glass pinctrl-names = "default"; 84643ad899SSimon Glass pinctrl-0 = <&key_pins_pcduino3>; 85643ad899SSimon Glass #address-cells = <1>; 86643ad899SSimon Glass #size-cells = <0>; 87643ad899SSimon Glass button@0 { 88643ad899SSimon Glass label = "Key Back"; 89643ad899SSimon Glass linux,code = <KEY_BACK>; 90643ad899SSimon Glass gpios = <&pio 7 17 GPIO_ACTIVE_LOW>; 91643ad899SSimon Glass }; 92643ad899SSimon Glass button@1 { 93643ad899SSimon Glass label = "Key Home"; 94643ad899SSimon Glass linux,code = <KEY_HOME>; 95643ad899SSimon Glass gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; 96643ad899SSimon Glass }; 97643ad899SSimon Glass button@2 { 98643ad899SSimon Glass label = "Key Menu"; 99643ad899SSimon Glass linux,code = <KEY_MENU>; 100643ad899SSimon Glass gpios = <&pio 7 19 GPIO_ACTIVE_LOW>; 101643ad899SSimon Glass }; 102643ad899SSimon Glass }; 10353ab4af3SHans de Goede}; 104643ad899SSimon Glass 10553ab4af3SHans de Goede&ahci { 10653ab4af3SHans de Goede target-supply = <®_ahci_5v>; 107643ad899SSimon Glass status = "okay"; 108643ad899SSimon Glass}; 109643ad899SSimon Glass 11053ab4af3SHans de Goede&ahci_pwr_pin_a { 11153ab4af3SHans de Goede allwinner,pins = "PH2"; 11253ab4af3SHans de Goede}; 11353ab4af3SHans de Goede 11480e5f83cSHans de Goede&codec { 11580e5f83cSHans de Goede status = "okay"; 11680e5f83cSHans de Goede}; 11780e5f83cSHans de Goede 11880e5f83cSHans de Goede&cpu0 { 11980e5f83cSHans de Goede cpu-supply = <®_dcdc2>; 12080e5f83cSHans de Goede}; 12180e5f83cSHans de Goede 12253ab4af3SHans de Goede&ehci0 { 123643ad899SSimon Glass status = "okay"; 124643ad899SSimon Glass}; 125643ad899SSimon Glass 12653ab4af3SHans de Goede&ehci1 { 127643ad899SSimon Glass status = "okay"; 128643ad899SSimon Glass}; 12953ab4af3SHans de Goede 13053ab4af3SHans de Goede&gmac { 13153ab4af3SHans de Goede pinctrl-names = "default"; 13253ab4af3SHans de Goede pinctrl-0 = <&gmac_pins_mii_a>; 13353ab4af3SHans de Goede phy = <&phy1>; 13453ab4af3SHans de Goede phy-mode = "mii"; 13553ab4af3SHans de Goede status = "okay"; 13653ab4af3SHans de Goede 13753ab4af3SHans de Goede phy1: ethernet-phy@1 { 13853ab4af3SHans de Goede reg = <1>; 13953ab4af3SHans de Goede }; 14053ab4af3SHans de Goede}; 14153ab4af3SHans de Goede 14253ab4af3SHans de Goede&i2c0 { 14353ab4af3SHans de Goede pinctrl-names = "default"; 14453ab4af3SHans de Goede pinctrl-0 = <&i2c0_pins_a>; 14553ab4af3SHans de Goede status = "okay"; 14653ab4af3SHans de Goede 14753ab4af3SHans de Goede axp209: pmic@34 { 14853ab4af3SHans de Goede reg = <0x34>; 14953ab4af3SHans de Goede interrupt-parent = <&nmi_intc>; 15053ab4af3SHans de Goede interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 15180e5f83cSHans de Goede }; 15280e5f83cSHans de Goede}; 15353ab4af3SHans de Goede 15480e5f83cSHans de Goede#include "axp209.dtsi" 15553ab4af3SHans de Goede 15653ab4af3SHans de Goede&ir0 { 15753ab4af3SHans de Goede pinctrl-names = "default"; 1588b1ba941SHans de Goede pinctrl-0 = <&ir0_rx_pins_a>; 15953ab4af3SHans de Goede status = "okay"; 16053ab4af3SHans de Goede}; 16153ab4af3SHans de Goede 16253ab4af3SHans de Goede&mmc0 { 16353ab4af3SHans de Goede pinctrl-names = "default"; 16453ab4af3SHans de Goede pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 16553ab4af3SHans de Goede vmmc-supply = <®_vcc3v3>; 16653ab4af3SHans de Goede bus-width = <4>; 167*8620f384SSimon Glass cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ 16853ab4af3SHans de Goede cd-inverted; 16953ab4af3SHans de Goede status = "okay"; 17053ab4af3SHans de Goede}; 17153ab4af3SHans de Goede 17253ab4af3SHans de Goede&ohci0 { 17353ab4af3SHans de Goede status = "okay"; 17453ab4af3SHans de Goede}; 17553ab4af3SHans de Goede 17653ab4af3SHans de Goede&ohci1 { 17753ab4af3SHans de Goede status = "okay"; 17853ab4af3SHans de Goede}; 17953ab4af3SHans de Goede 18080e5f83cSHans de Goede&otg_sram { 18180e5f83cSHans de Goede status = "okay"; 18280e5f83cSHans de Goede}; 18380e5f83cSHans de Goede 18453ab4af3SHans de Goede&pio { 18553ab4af3SHans de Goede led_pins_pcduino3: led_pins@0 { 18653ab4af3SHans de Goede allwinner,pins = "PH15", "PH16"; 18753ab4af3SHans de Goede allwinner,function = "gpio_out"; 18853ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 18953ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 19053ab4af3SHans de Goede }; 19153ab4af3SHans de Goede 19253ab4af3SHans de Goede key_pins_pcduino3: key_pins@0 { 19353ab4af3SHans de Goede allwinner,pins = "PH17", "PH18", "PH19"; 19453ab4af3SHans de Goede allwinner,function = "gpio_in"; 19553ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 19653ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 19753ab4af3SHans de Goede }; 19880e5f83cSHans de Goede 19980e5f83cSHans de Goede usb0_id_detect_pin: usb0_id_detect_pin@0 { 20080e5f83cSHans de Goede allwinner,pins = "PH4"; 20180e5f83cSHans de Goede allwinner,function = "gpio_in"; 20280e5f83cSHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 20380e5f83cSHans de Goede allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; 20480e5f83cSHans de Goede }; 20553ab4af3SHans de Goede}; 20653ab4af3SHans de Goede 20753ab4af3SHans de Goede®_ahci_5v { 20853ab4af3SHans de Goede gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; 20953ab4af3SHans de Goede status = "okay"; 21053ab4af3SHans de Goede}; 21153ab4af3SHans de Goede 21280e5f83cSHans de Goede®_dcdc2 { 21380e5f83cSHans de Goede regulator-always-on; 21480e5f83cSHans de Goede regulator-min-microvolt = <1000000>; 21580e5f83cSHans de Goede regulator-max-microvolt = <1400000>; 21680e5f83cSHans de Goede regulator-name = "vdd-cpu"; 21780e5f83cSHans de Goede}; 21880e5f83cSHans de Goede 21980e5f83cSHans de Goede®_dcdc3 { 22080e5f83cSHans de Goede regulator-always-on; 22180e5f83cSHans de Goede regulator-min-microvolt = <1000000>; 22280e5f83cSHans de Goede regulator-max-microvolt = <1400000>; 22380e5f83cSHans de Goede regulator-name = "vdd-int-pll"; 22480e5f83cSHans de Goede}; 22580e5f83cSHans de Goede 22680e5f83cSHans de Goede®_ldo1 { 22780e5f83cSHans de Goede regulator-name = "vdd-rtc"; 22880e5f83cSHans de Goede}; 22980e5f83cSHans de Goede 23080e5f83cSHans de Goede®_ldo2 { 23180e5f83cSHans de Goede regulator-always-on; 23280e5f83cSHans de Goede regulator-min-microvolt = <3000000>; 23380e5f83cSHans de Goede regulator-max-microvolt = <3000000>; 23480e5f83cSHans de Goede regulator-name = "avcc"; 23580e5f83cSHans de Goede}; 23680e5f83cSHans de Goede 23753ab4af3SHans de Goede®_usb1_vbus { 23853ab4af3SHans de Goede status = "okay"; 23953ab4af3SHans de Goede}; 24053ab4af3SHans de Goede 24153ab4af3SHans de Goede®_usb2_vbus { 24253ab4af3SHans de Goede status = "okay"; 24353ab4af3SHans de Goede}; 24453ab4af3SHans de Goede 24553ab4af3SHans de Goede&uart0 { 24653ab4af3SHans de Goede pinctrl-names = "default"; 24753ab4af3SHans de Goede pinctrl-0 = <&uart0_pins_a>; 24853ab4af3SHans de Goede status = "okay"; 24953ab4af3SHans de Goede}; 25053ab4af3SHans de Goede 25180e5f83cSHans de Goede&usb_otg { 25280e5f83cSHans de Goede dr_mode = "otg"; 25380e5f83cSHans de Goede status = "okay"; 25480e5f83cSHans de Goede}; 25580e5f83cSHans de Goede 25653ab4af3SHans de Goede&usbphy { 25780e5f83cSHans de Goede pinctrl-names = "default"; 25880e5f83cSHans de Goede pinctrl-0 = <&usb0_id_detect_pin>; 25980e5f83cSHans de Goede usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ 26053ab4af3SHans de Goede usb1_vbus-supply = <®_usb1_vbus>; 26153ab4af3SHans de Goede usb2_vbus-supply = <®_usb2_vbus>; 26253ab4af3SHans de Goede status = "okay"; 263643ad899SSimon Glass}; 264