Browse Source

sunxi: various fixes - have Kconfig options ordered - add new olinuxino a13-micro board - various fixes for EHCI

Signed-off-by: Zoltan HERPAI <[email protected]>

SVN-Revision: 39188
Zoltan Herpai 12 years ago
parent
commit
2657412374

+ 117 - 0
target/linux/sunxi/patches-3.12/121-dt-sun5i-add-olinuxino-micro.patch

@@ -0,0 +1,117 @@
+From 52e86b37b1d3f7c02938def3a036e0bb0f723964 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <[email protected]>
+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 <[email protected]>
+Signed-off-by: Maxime Ripard <[email protected]>
+---
+ 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 <[email protected]>
++ *
++ * Maxime Ripard <[email protected]>
++ *
++ * 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
+

+ 35 - 0
target/linux/sunxi/patches-3.12/135-sunxi-order-Kconfig-options.patch

@@ -0,0 +1,35 @@
+From b788beda4db21ac28ae302f0323cffb75e578cac Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <[email protected]>
+Date: Tue, 24 Sep 2013 11:09:19 +0300
+Subject: [PATCH] ARM: sunxi: Order Kconfig options alphabetically
+
+Signed-off-by: Maxime Ripard <[email protected]>
+---
+ 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
+

+ 2 - 2
target/linux/sunxi/patches-3.12/160-sun5i-dt-add-usb-ehci-bindings.patch

@@ -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 {

+ 35 - 0
target/linux/sunxi/patches-3.12/163-dt-sun7i-fix-ehci-irqtypes.patch

@@ -0,0 +1,35 @@
+From 9468f2e1fb54a67c70f627b3cc75a692b3c2ebce Mon Sep 17 00:00:00 2001
+From: Hans de Goede <[email protected]>
+Date: Tue, 17 Dec 2013 23:26:45 +0100
+Subject: [PATCH] ARM: dts: sun7i: Fix ehci interrupt types
+
+Signed-off-by: Hans de Goede <[email protected]>
+---
+ 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
+

+ 27 - 0
target/linux/sunxi/patches-3.12/164-sunxi-ehci-fix-resource-check.patch

@@ -0,0 +1,27 @@
+From e8966070a22744582a2b7b63d8dab82f05499eb2 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <[email protected]>
+Date: Tue, 17 Dec 2013 23:27:03 +0100
+Subject: [PATCH] ARM: sunxi-ehci: Fix resource check
+
+Signed-off-by: Hans de Goede <[email protected]>
+---
+ 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
+