From: Zoltan Herpai Date: Sat, 4 Jan 2014 09:55:41 +0000 (+0000) Subject: sunxi: various fixes - have Kconfig options ordered - add new olinuxino a13-micro... X-Git-Tag: reboot~8278 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2657412374b3ba7c44cfcc14f5bc6c8f0e673255;p=openwrt%2Fstaging%2Fpepe2k.git sunxi: various fixes - have Kconfig options ordered - add new olinuxino a13-micro board - various fixes for EHCI Signed-off-by: Zoltan HERPAI SVN-Revision: 39188 --- 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 index 0000000000..fc727e849a --- /dev/null +++ b/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 +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 +Signed-off-by: Maxime Ripard +--- + 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 ++ * ++ * Maxime Ripard ++ * ++ * 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 index 0000000000..1265fdf505 --- /dev/null +++ b/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 +Date: Tue, 24 Sep 2013 11:09:19 +0300 +Subject: [PATCH] ARM: sunxi: Order Kconfig options alphabetically + +Signed-off-by: Maxime Ripard +--- + 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 + diff --git a/target/linux/sunxi/patches-3.12/160-sun5i-dt-add-usb-ehci-bindings.patch b/target/linux/sunxi/patches-3.12/160-sun5i-dt-add-usb-ehci-bindings.patch index 70e54d5247..2e806015f0 100644 --- a/target/linux/sunxi/patches-3.12/160-sun5i-dt-add-usb-ehci-bindings.patch +++ b/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 { 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 index 0000000000..8a5aa38cfa --- /dev/null +++ b/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 +Date: Tue, 17 Dec 2013 23:26:45 +0100 +Subject: [PATCH] ARM: dts: sun7i: Fix ehci interrupt types + +Signed-off-by: Hans de Goede +--- + 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 index 0000000000..96bfbe2bd1 --- /dev/null +++ b/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 +Date: Tue, 17 Dec 2013 23:27:03 +0100 +Subject: [PATCH] ARM: sunxi-ehci: Fix resource check + +Signed-off-by: Hans de Goede +--- + 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 +