Initial support for BananaPi-R1 aka Lamobo-R1.

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

Signed-off-by: Daniel Golle <dan...@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

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 <wigy...@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))
-- 
2.2.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to