From 1bd75f114f10fb04a691a9b71a939d690946463f Mon Sep 17 00:00:00 2001 From: Zoltan Herpai Date: Sun, 1 Jun 2014 18:44:10 +0000 Subject: [PATCH] sunxi: add support for Lemaker bananaPi Signed-off-by: Zoltan HERPAI SVN-Revision: 40898 --- .../arch/arm/boot/dts/sun7i-a20-bananapi.dts | 160 ++++++++++++++++++ target/linux/sunxi/image/Makefile | 1 + .../patches-3.13/304-dt-add-bananapi.patch | 11 ++ target/linux/sunxi/profiles/bananapi.mk | 18 ++ 4 files changed, 190 insertions(+) create mode 100644 target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-bananapi.dts create mode 100644 target/linux/sunxi/patches-3.13/304-dt-add-bananapi.patch create mode 100644 target/linux/sunxi/profiles/bananapi.mk diff --git a/target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-bananapi.dts new file mode 100644 index 0000000000..969bfa49cf --- /dev/null +++ b/target/linux/sunxi/files/arch/arm/boot/dts/sun7i-a20-bananapi.dts @@ -0,0 +1,160 @@ +/* + * 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 = "Lemaker bananaPi"; + compatible = "lemaker,bananapi", "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_bananapi>; + cd-gpios = <&pio 7 10 0>; /* PH10 */ + 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_bananapi: led_pins@0 { + allwinner,pins = "PH2"; + allwinner,function = "gpio_out"; + allwinner,drive = <1>; + allwinner,pull = <0>; + }; + + mmc0_cd_pin_bananapi: mmc0_cd_pin@0 { + allwinner,pins = "PH10"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + }; + + 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_bananapi>; + + green { + label = "bananapi: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 6457515be2..0fe47bc59b 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -13,6 +13,7 @@ BOARDS:= \ sun4i-a10-pcduino \ sun5i-a13-olinuxino \ sun6i-a31-colombus \ + sun7i-a20-bananapi \ sun7i-a20-cubieboard2 \ sun7i-a20-cubietruck \ sun7i-a20-olinuxino-micro \ diff --git a/target/linux/sunxi/patches-3.13/304-dt-add-bananapi.patch b/target/linux/sunxi/patches-3.13/304-dt-add-bananapi.patch new file mode 100644 index 0000000000..71a8b3b237 --- /dev/null +++ b/target/linux/sunxi/patches-3.13/304-dt-add-bananapi.patch @@ -0,0 +1,11 @@ +diff -ruN old/arch/arm/boot/dts/Makefile new/arch/arm/boot/dts/Makefile +--- old/arch/arm/boot/dts/Makefile 2014-04-28 22:20:54.000000000 +0200 ++++ new/arch/arm/boot/dts/Makefile 2014-06-01 17:28:54.187703560 +0200 +@@ -259,6 +259,7 @@ + sun5i-a13-olinuxino.dtb \ + sun5i-a13-olinuxino-micro.dtb \ + sun6i-a31-colombus.dtb \ ++ sun7i-a20-bananapi.dtb \ + sun7i-a20-cubieboard2.dtb \ + sun7i-a20-cubietruck.dtb \ + sun7i-a20-olinuxino-micro.dtb \ diff --git a/target/linux/sunxi/profiles/bananapi.mk b/target/linux/sunxi/profiles/bananapi.mk new file mode 100644 index 0000000000..875f7670ca --- /dev/null +++ b/target/linux/sunxi/profiles/bananapi.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/bananaPi + NAME:=bananaPi + PACKAGES:=\ + uboot-sunxi-bananapi kmod-rtc-sunxi +endef + +define Profile/bananaPi/Description + Package set optimized for the bananaPi +endef + +$(eval $(call Profile,bananaPi))