From bb962610e7e0b1cb051c0429d40c12188935ba91 Mon Sep 17 00:00:00 2001 From: Zoltan Herpai Date: Wed, 30 Apr 2014 19:50:15 +0000 Subject: [PATCH] sunxi: add board support for LinkSprite pcDuino v3 Signed-off-by: Zoltan HERPAI SVN-Revision: 40606 --- .../arch/arm/boot/dts/sun7i-a20-pcduino3.dts | 153 ++++++++++++++++++ target/linux/sunxi/image/Makefile | 3 +- .../patches-3.13/303-dt-add-pcduinov3.patch | 13 ++ target/linux/sunxi/profiles/pcduino3.mk | 18 +++ 4 files changed, 186 insertions(+), 1 deletion(-) create mode 100644 target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-pcduino3.dts create mode 100644 target/linux/sunxi/patches-3.13/303-dt-add-pcduinov3.patch create mode 100644 target/linux/sunxi/profiles/pcduino3.mk diff --git a/target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-pcduino3.dts new file mode 100644 index 0000000000..85a69360ac --- /dev/null +++ b/target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-pcduino3.dts @@ -0,0 +1,153 @@ +/* + * Copyright 2014 Zoltan HERPAI + * Zoltan HERPAI + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/dts-v1/; +/include/ "sun7i-a20.dtsi" +/include/ "sunxi-ahci-reg.dtsi" +/include/ "sun4i-a10-usb-vbus-reg.dtsi" +#include + +/ { + model = "LinkSprite pcDuino V3"; + compatible = "linksprite,a20-pcduino", "allwinner,sun7i-a20"; + + aliases { + spi0 = &spi1; + spi1 = &spi2; + }; + + soc@01c00000 { + spi1: spi@01c06000 { + pinctrl-names = "default"; + pinctrl-0 = <&spi1_pins_a>; + status = "okay"; + }; + + spi2: spi@01c17000 { + pinctrl-names = "default"; + pinctrl-0 = <&spi2_pins_a>; + status = "okay"; + }; + + mmc0: mmc@01c0f000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc0_pins_a>; + pinctrl-1 = <&mmc0_cd_pin_reference_design>; + cd-gpios = <&pio 7 1 0>; /* PH1 */ + status = "okay"; + }; + + usbphy: phy@01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb@01c14000 { + status = "okay"; + }; + + ohci0: usb@01c14400 { + status = "okay"; + }; + + ahci: sata@01c18000 { + target-supply = <®_ahci_5v>; + status = "okay"; + }; + + ehci1: usb@01c1c000 { + status = "okay"; + }; + + ohci1: usb@01c1c400 { + status = "okay"; + }; + + pinctrl@01c20800 { + led_pins_pcduino3: led_pins@0 { + allwinner,pins = "PH2"; + allwinner,function = "gpio_out"; + allwinner,drive = <1>; + allwinner,pull = <0>; + }; + }; + + lradc: lradc@01c22800 { + allwinner,chan0-step = <200>; + linux,chan0-keycodes = ; + status = "okay"; + }; + + uart0: serial@01c28000 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; + }; + + uart6: serial@01c29800 { + pinctrl-names = "default"; + pinctrl-0 = <&uart6_pins_a>; + status = "okay"; + }; + + uart7: serial@01c29c00 { + pinctrl-names = "default"; + pinctrl-0 = <&uart7_pins_a>; + status = "okay"; + }; + + i2c0: i2c@01c2ac00 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins_a>; + status = "okay"; + }; + + i2c1: i2c@01c2b000 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins_a>; + status = "okay"; + }; + + i2c2: i2c@01c2b400 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins_a>; + status = "okay"; + }; + + gmac: ethernet@01c50000 { + pinctrl-names = "default"; + pinctrl-0 = <&gmac_pins_mii_a>; + phy = <&phy1>; + phy-mode = "mii"; + status = "okay"; + + phy1: ethernet-phy@1 { + reg = <1>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins_pcduino3>; + + green { + label = "a20-pcduino:green:usr"; + gpios = <&pio 7 2 0>; + default-state = "on"; + }; + }; +}; diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile index 313abef261..6457515be2 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -15,7 +15,8 @@ BOARDS:= \ sun6i-a31-colombus \ sun7i-a20-cubieboard2 \ sun7i-a20-cubietruck \ - sun7i-a20-olinuxino-micro + sun7i-a20-olinuxino-micro \ + sun7i-a20-pcduino3 define Image/BuildKernel mkimage -A arm -O linux -T kernel -C none \ diff --git a/target/linux/sunxi/patches-3.13/303-dt-add-pcduinov3.patch b/target/linux/sunxi/patches-3.13/303-dt-add-pcduinov3.patch new file mode 100644 index 0000000000..46301adf6f --- /dev/null +++ b/target/linux/sunxi/patches-3.13/303-dt-add-pcduinov3.patch @@ -0,0 +1,13 @@ +diff -ruN old/arch/arm/boot/dts/Makefile new/arch/arm/boot/dts/Makefile +--- old/arch/arm/boot/dts/Makefile 2014-04-26 15:15:01.000000000 +0200 ++++ new/arch/arm/boot/dts/Makefile 2014-04-26 15:46:58.336223315 +0200 +@@ -292,7 +292,8 @@ + sun6i-a31-colombus.dtb \ + sun7i-a20-cubieboard2.dtb \ + sun7i-a20-cubietruck.dtb \ +- sun7i-a20-olinuxino-micro.dtb ++ sun7i-a20-olinuxino-micro.dtb \ ++ sun7i-a20-pcduino3.dtb + dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ + tegra20-iris-512.dtb \ + tegra20-medcom-wide.dtb \ diff --git a/target/linux/sunxi/profiles/pcduino3.mk b/target/linux/sunxi/profiles/pcduino3.mk new file mode 100644 index 0000000000..4b6f424de3 --- /dev/null +++ b/target/linux/sunxi/profiles/pcduino3.mk @@ -0,0 +1,18 @@ +# +# Copyright (C) 2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/pcDuino3 + NAME:=pcDuino3 + PACKAGES:=\ + uboot-sunxi-pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi +endef + +define Profile/pcDuino3/Description + Package set optimized for the pcDuino3 +endef + +$(eval $(call Profile,pcDuino3)) -- 2.30.2