diff mbox

[OpenWrt-Devel,7/7] sunxi: add support for Lamobo R1

Message ID 20150110181058.GA27599@makrotopia.org
State Deferred
Headers show

Commit Message

Daniel Golle Jan. 10, 2015, 6:11 p.m. UTC
Initial support for BananaPi-R1 aka Lamobo-R1.

Based on patchset form Wang Yi <wangyi8848@gmail.com> published on
https://github.com/Lamobo/Lamobo-R1-OpenWrt

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 target/linux/sunxi/config-3.18                     |   7 +
 target/linux/sunxi/image/Makefile                  |   7 +-
 .../patches-3.18/302-dt-sun7i-add-lamobo-r1.patch  | 221 +++++++++++++++++++++
 target/linux/sunxi/profiles/lamobo-r1.mk           |  19 ++
 4 files changed, 253 insertions(+), 1 deletion(-)
 mode change 100644 => 100755 target/linux/sunxi/image/Makefile
 create mode 100644 target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch
 create mode 100644 target/linux/sunxi/profiles/lamobo-r1.mk

Comments

Zoltan HERPAI Jan. 10, 2015, 6:48 p.m. UTC | #1
Hi,

On Sat, 10 Jan 2015, Daniel Golle wrote:

> Initial support for BananaPi-R1 aka Lamobo-R1.
>
> Based on patchset form Wang Yi <wangyi8848@gmail.com> published on
> https://github.com/Lamobo/Lamobo-R1-OpenWrt

Thanks for submitting this. Did you have a chance to verify the switch 
working? I have read various results around it.

Regards,
-w-
diff mbox

Patch

diff --git a/target/linux/sunxi/config-3.18 b/target/linux/sunxi/config-3.18
index 44b5d89..3dfe903 100644
--- a/target/linux/sunxi/config-3.18
+++ b/target/linux/sunxi/config-3.18
@@ -58,6 +58,11 @@  CONFIG_AUDIT=y
 CONFIG_AUDIT_GENERIC=y
 CONFIG_AUTO_ZRELADDR=y
 CONFIG_AVERAGE=y
+CONFIG_B53=y
+# CONFIG_B53_MMAP_DRIVER is not set
+CONFIG_B53_PHY_DRIVER=y
+CONFIG_B53_PHY_FIXUP=y
+# CONFIG_B53_SRAB_DRIVER is not set
 CONFIG_BINFMT_MISC=y
 CONFIG_BLK_CGROUP=y
 CONFIG_BLK_DEV_SD=y
@@ -305,6 +310,7 @@  CONFIG_MFD_SUN6I_PRCM=y
 CONFIG_MIGHT_HAVE_CACHE_L2X0=y
 CONFIG_MIGHT_HAVE_PCI=y
 CONFIG_MIGRATION=y
+CONFIG_MII=y
 CONFIG_MMC=y
 CONFIG_MMC_BLOCK=y
 # CONFIG_MMC_BLOCK_BOUNCE is not set
@@ -448,6 +454,7 @@  CONFIG_STRICT_DEVMEM=y
 CONFIG_SUN4I_TIMER=y
 CONFIG_SUN5I_HSTIMER=y
 CONFIG_SUNXI_WATCHDOG=y
+CONFIG_SWCONFIG=y
 CONFIG_SWIOTLB=y
 CONFIG_SWP_EMULATE=y
 CONFIG_SYSFS_SYSCALL=y
diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile
old mode 100644
new mode 100755
index 3fb41c1..81ec8d8
--- a/target/linux/sunxi/image/Makefile
+++ b/target/linux/sunxi/image/Makefile
@@ -24,7 +24,8 @@  BOARDS:= \
 	sun7i-a20-cubietruck \
 	sun7i-a20-olinuxino-lime \
 	sun7i-a20-olinuxino-micro \
-	sun7i-a20-pcduino3
+	sun7i-a20-pcduino3 \
+	sun7i-a20-lamobo-r1
 
 define Image/BuildKernel
 	mkimage -A arm -O linux -T kernel -C none \
@@ -88,6 +89,10 @@  define Image/Build/Profile/Bananapro
 	$(call Image/Build/SDCard,$(1),sun7i-a20-bananapro)
 endef
 
+define Image/Build/Profile/Lamobo-R1
+	$(call Image/Build/SDCard,$(1),sun7i-a20-lamobo-r1)
+endef
+
 define Image/Build/Profile/Cubieboard
 	$(call Image/Build/SDCard,$(1),sun4i-a10-cubieboard)
 endef
diff --git a/target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch b/target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch
new file mode 100644
index 0000000..e8288ca
--- /dev/null
+++ b/target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch
@@ -0,0 +1,221 @@ 
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -441,6 +441,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
+ 	sun7i-a20-cubietruck.dtb \
+ 	sun7i-a20-hummingbird.dtb \
+ 	sun7i-a20-i12-tvbox.dtb \
++	sun7i-a20-lamobo-r1.dtb \
+ 	sun7i-a20-olinuxino-lime.dtb \
+ 	sun7i-a20-olinuxino-micro.dtb \
+ 	sun7i-a20-pcduino3.dtb
+--- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts        2015-01-09 12:02:32.479031636 +0100
++++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts        2015-01-09 12:02:32.479031636 +0100
+@@ -0,0 +1,208 @@
++/*
++ * Copyright 2014 Zoltan HERPAI
++ * Zoltan HERPAI <wigyori@uid0.hu>
++ *
++ * 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-common-regulators.dtsi"
++#include <dt-bindings/input/input.h>
++
++/ {
++	model = "Lamobo R1";
++	compatible = "lamobo,lamobo-r1", "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_lamobo>;
++			cd-gpios = <&pio 7 10 0>; /* PH10 */
++			status = "okay";
++		};
++
++		usbphy: phy@01c13400 {
++			usb1_vbus-supply = <&reg_usb1_vbus>;
++			usb2_vbus-supply = <&reg_usb2_vbus>;
++			status = "okay";
++		};
++
++		ehci0: usb@01c14000 {
++			status = "okay";
++		};
++
++		ohci0: usb@01c14400 {
++			status = "okay";
++		};
++
++		ahci: sata@01c18000 {
++			target-supply = <&reg_ahci_5v>;
++			status = "okay";
++		};
++
++		ehci1: usb@01c1c000 {
++			status = "okay";
++		};
++
++		ohci1: usb@01c1c400 {
++			status = "okay";
++		};
++
++		pinctrl@01c20800 {
++			led_pins_lamobo: led_pins@0 {
++				allwinner,pins = "PH2";
++				allwinner,function = "gpio_out";
++				allwinner,drive = <1>;
++				allwinner,pull = <0>;
++			};
++
++			mmc0_cd_pin_lamobo: mmc0_cd_pin@0 {
++				allwinner,pins = "PH10";
++				allwinner,function = "gpio_in";
++				allwinner,drive = <0>;
++				allwinner,pull = <1>;
++			};
++
++			gmac_power_pin_lamobo: gmac_power_pin@0 {
++				allwinner,pins = "PH23";
++				allwinner,function = "gpio_out";
++				allwinner,drive = <0>;
++				allwinner,pull = <0>;
++			};
++		};
++
++		lradc: lradc@01c22800 {
++			allwinner,chan0-step = <200>;
++			linux,chan0-keycodes = <KEY_VOLUMEUP KEY_VOLUMEDOWN
++						KEY_MENU KEY_SEARCH KEY_HOME
++						KEY_ESC KEY_ENTER>;
++			status = "okay";
++		};
++
++		ir0: ir@01c21800 {
++			pinctrl-names = "default";
++			pinctrl-0 = <&ir0_pins_a>;
++			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";
++
++			axp209: axp20x@34 {
++				compatible = "x-powers,axp209";
++				reg = <0x34>;
++				interrupt-parent = <&nmi_intc>;
++				interrupts = <0 8>;
++
++				interrupt-controller;
++				#interrupt-cells = <1>;
++			};
++		};
++
++		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_rgmii_a>;
++			phy = <&phy1>;
++			phy-mode = "rgmii";
++			phy-supply = <&reg_gmac_3v3>;
++			status = "okay";
++
++			phy1: ethernet-phy@1 {
++				reg = <1>;
++			};
++		};
++	};
++
++	leds {
++		compatible = "gpio-leds";
++		pinctrl-names = "default";
++		pinctrl-0 = <&led_pins_lamobo>;
++
++		green {
++			label = "lamobo:green:usr";
++			gpios = <&pio 7 2 0>;
++			default-state = "on";
++		};
++	};
++
++	reg_ahci_5v: ahci-5v {
++			status = "okay";
++	};
++
++	reg_usb1_vbus: usb1-vbus {
++			status = "okay";
++	};
++
++	reg_usb2_vbus: usb2-vbus {
++			status = "okay";
++	};
++
++	reg_gmac_3v3: gmac-3v3 {
++			compatible = "regulator-fixed";
++			pinctrl-names = "default";
++			pinctrl-0 = <&gmac_power_pin_lamobo>;
++			regulator-name = "gmac-3v3";
++			regulator-min-microvolt = <3300000>;
++			regulator-max-microvolt = <3300000>;
++			startup-delay-us = <100000>;
++			enable-active-high;
++			gpio = <&pio 7 23 0>;
++			status = "okay";
++	};
++};
diff --git a/target/linux/sunxi/profiles/lamobo-r1.mk b/target/linux/sunxi/profiles/lamobo-r1.mk
new file mode 100644
index 0000000..4e8bf43
--- /dev/null
+++ b/target/linux/sunxi/profiles/lamobo-r1.mk
@@ -0,0 +1,19 @@ 
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Lamobo-R1
+	NAME:=Lamobo R1
+	PACKAGES:=\
+		uboot-sunxi-Lamobo-R1 kmod-ata-sunxi kmod-b53 kmod-swconfig \
+		kmod-rtl8192cu swconfig wpad-mini
+endef
+
+define Profile/Lamobo-R1/Description
+	Package set optimized for the Lamobo R1
+endef
+
+$(eval $(call Profile,Lamobo-R1))