sunxi: various fixes
authorZoltan Herpai <wigyori@uid0.hu>
Sat, 4 Jan 2014 09:55:41 +0000 (09:55 +0000)
committerZoltan Herpai <wigyori@uid0.hu>
Sat, 4 Jan 2014 09:55:41 +0000 (09:55 +0000)
 - have Kconfig options ordered
 - add new olinuxino a13-micro board
 - various fixes for EHCI

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
SVN-Revision: 39188

target/linux/sunxi/patches-3.12/121-dt-sun5i-add-olinuxino-micro.patch [new file with mode: 0644]
target/linux/sunxi/patches-3.12/135-sunxi-order-Kconfig-options.patch [new file with mode: 0644]
target/linux/sunxi/patches-3.12/160-sun5i-dt-add-usb-ehci-bindings.patch
target/linux/sunxi/patches-3.12/163-dt-sun7i-fix-ehci-irqtypes.patch [new file with mode: 0644]
target/linux/sunxi/patches-3.12/164-sunxi-ehci-fix-resource-check.patch [new file with mode: 0644]

diff --git a/target/linux/sunxi/patches-3.12/121-dt-sun5i-add-olinuxino-micro.patch b/target/linux/sunxi/patches-3.12/121-dt-sun5i-add-olinuxino-micro.patch
new file mode 100644 (file)
index 0000000..fc727e8
--- /dev/null
@@ -0,0 +1,117 @@
+From 52e86b37b1d3f7c02938def3a036e0bb0f723964 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Sun, 15 Dec 2013 20:23:36 +0100
+Subject: [PATCH] ARM: dts: sun5i: Add new sun5i-a13-olinuxino-micro board
+
+The A13-OLinuXino-MICRO is a small dev-board with the Allwinner A13 SoC:
+https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino-MICRO/
+
+Features:
+A13 Cortex A8 processor at 1GHz, 3D Mali400 GPU
+256 MB RAM (128Mbit x 16)
+5VDC input power supply with own ICs, noise immune design
+1 USB host
+1 USB OTG which can power the board
+SD-card connector for booting the Linux image
+VGA video output
+LCD signals available on connector so you still can use LCD if you disable VGA/HDMI
+Audio output
+Microphone input pads (no connector)
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ arch/arm/boot/dts/Makefile                      |  1 +
+ arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 68 +++++++++++++++++++++++++
+ 2 files changed, 69 insertions(+)
+ create mode 100644 arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index d57c1a6..b663ed7 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -255,6 +255,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
+       sun4i-a10-hackberry.dtb \
+       sun5i-a10s-olinuxino-micro.dtb \
+       sun5i-a13-olinuxino.dtb \
++      sun5i-a13-olinuxino-micro.dtb \
+       sun6i-a31-colombus.dtb \
+       sun7i-a20-cubieboard2.dtb \
+       sun7i-a20-cubietruck.dtb \
+diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+new file mode 100644
+index 0000000..fe2ce0a
+--- /dev/null
++++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+@@ -0,0 +1,68 @@
++/*
++ * Copyright 2012 Maxime Ripard
++ * Copyright 2013 Hans de Goede <hdegoede@redhat.com>
++ *
++ * Maxime Ripard <maxime.ripard@free-electrons.com>
++ *
++ * 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/ "sun5i-a13.dtsi"
++
++/ {
++      model = "Olimex A13-Olinuxino Micro";
++      compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
++
++      soc@01c00000 {
++              pinctrl@01c20800 {
++                      led_pins_olinuxinom: led_pins@0 {
++                              allwinner,pins = "PG9";
++                              allwinner,function = "gpio_out";
++                              allwinner,drive = <1>;
++                              allwinner,pull = <0>;
++                      };
++              };
++
++              uart1: serial@01c28400 {
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&uart1_pins_b>;
++                      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";
++              };
++      };
++
++      leds {
++              compatible = "gpio-leds";
++              pinctrl-names = "default";
++              pinctrl-0 = <&led_pins_olinuxinom>;
++
++              power {
++                      label = "a13-olinuxino-micro:green:power";
++                      gpios = <&pio 6 9 0>;
++                      default-state = "on";
++              };
++      };
++};
+-- 
+1.8.5.1
+
diff --git a/target/linux/sunxi/patches-3.12/135-sunxi-order-Kconfig-options.patch b/target/linux/sunxi/patches-3.12/135-sunxi-order-Kconfig-options.patch
new file mode 100644 (file)
index 0000000..1265fdf
--- /dev/null
@@ -0,0 +1,35 @@
+From b788beda4db21ac28ae302f0323cffb75e578cac Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+Date: Tue, 24 Sep 2013 11:09:19 +0300
+Subject: [PATCH] ARM: sunxi: Order Kconfig options alphabetically
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ arch/arm/mach-sunxi/Kconfig | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
+index 3ab2f65..c9e72c8 100644
+--- a/arch/arm/mach-sunxi/Kconfig
++++ b/arch/arm/mach-sunxi/Kconfig
+@@ -1,14 +1,14 @@
+ config ARCH_SUNXI
+       bool "Allwinner A1X SOCs" if ARCH_MULTI_V7
+       select ARCH_REQUIRE_GPIOLIB
++      select ARM_GIC
+       select CLKSRC_MMIO
+       select CLKSRC_OF
+       select COMMON_CLK
+       select GENERIC_CLOCKEVENTS
+       select GENERIC_IRQ_CHIP
++      select HAVE_SMP
+       select PINCTRL
++      select PINCTRL_SUNXI
+       select SPARSE_IRQ
+       select SUN4I_TIMER
+-      select PINCTRL_SUNXI
+-      select ARM_GIC
+-      select HAVE_SMP
+-- 
+1.8.5.1
+
index 70e54d5247084da1c20a6e1af4b163aaf1b7d488..2e806015f08649c714cc3af0f0f97015a7687aa9 100644 (file)
@@ -23,8 +23,8 @@ index aad270c..a271a2d 100644
                #address-cells = <1>;
                #size-cells = <0>;
 @@ -310,5 +314,22 @@
-                       interrupts = <82>, <83>;
-                       clocks = <&ahb_gates 28>;
+                       clock-frequency = <100000>;
+                       status = "disabled";
                };
 +
 +              usb_rst: reset@0x01c200cc {
diff --git a/target/linux/sunxi/patches-3.12/163-dt-sun7i-fix-ehci-irqtypes.patch b/target/linux/sunxi/patches-3.12/163-dt-sun7i-fix-ehci-irqtypes.patch
new file mode 100644 (file)
index 0000000..8a5aa38
--- /dev/null
@@ -0,0 +1,35 @@
+From 9468f2e1fb54a67c70f627b3cc75a692b3c2ebce Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Tue, 17 Dec 2013 23:26:45 +0100
+Subject: [PATCH] ARM: dts: sun7i: Fix ehci interrupt types
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ arch/arm/boot/dts/sun7i-a20.dtsi | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
+index 9f99959..dcee675 100644
+--- a/arch/arm/boot/dts/sun7i-a20.dtsi
++++ b/arch/arm/boot/dts/sun7i-a20.dtsi
+@@ -648,7 +648,7 @@
+               ehci0: ehci0@0x01c14000 {
+                       compatible = "allwinner,sunxi-ehci";
+                       reg = <0x01c14000 0x400 0x01c14800 0x4 0x01c13404 0x4>;
+-                      interrupts = <0 39 1>;
++                      interrupts = <0 39 4>;
+                       resets = <&usb_rst 1>;
+                       reset-names = "ehci_reset";
+                       clocks = <&usb 8>, <&ahb_gates 1>;
+@@ -659,7 +659,7 @@
+               ehci1: ehci1@0x01c1c000 {
+                       compatible = "allwinner,sunxi-ehci";
+                       reg = <0x01c1c000 0x400 0x01c1c800 0x4 0x01c13404 0x4>;
+-                      interrupts = <0 40 1>;
++                      interrupts = <0 40 4>;
+                       resets = <&usb_rst 2>;
+                       reset-names = "ehci_reset";
+                       clocks = <&usb 8>, <&ahb_gates 3>;
+-- 
+1.8.5.1
+
diff --git a/target/linux/sunxi/patches-3.12/164-sunxi-ehci-fix-resource-check.patch b/target/linux/sunxi/patches-3.12/164-sunxi-ehci-fix-resource-check.patch
new file mode 100644 (file)
index 0000000..96bfbe2
--- /dev/null
@@ -0,0 +1,27 @@
+From e8966070a22744582a2b7b63d8dab82f05499eb2 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Tue, 17 Dec 2013 23:27:03 +0100
+Subject: [PATCH] ARM: sunxi-ehci: Fix resource check
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/usb/host/ehci-sunxi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c
+index e7e15cc..e050d78 100644
+--- a/drivers/usb/host/ehci-sunxi.c
++++ b/drivers/usb/host/ehci-sunxi.c
+@@ -332,7 +332,8 @@ static int sunxi_ehci_probe(struct platform_device *pdev)
+       if (pdev->resource[0].flags != IORESOURCE_MEM
+                       || pdev->resource[1].flags != IORESOURCE_MEM
+                       || pdev->resource[2].flags != IORESOURCE_MEM
+-                      || pdev->resource[3].flags != IORESOURCE_IRQ) {
++                      || (pdev->resource[3].flags & IORESOURCE_TYPE_BITS)
++                              != IORESOURCE_IRQ) {
+               dev_err(&pdev->dev, "invalid resource type\n");
+               return -ENODEV;
+       }
+-- 
+1.8.5.1
+