[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.2-108-g3dd9308
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2013-01-04 15:37:34
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 3dd9308efd6e7bb0861c41bac6b21f23353e3ee1 (commit)
via 4d75c5bbfbea2dd42d16cb2e03a64b79f9bfc986 (commit)
via 645dcff048a596231bb1dc87c14ec73cf84597aa (commit)
from 07e6d05e1dafc7a28701596dd74b166aa279210e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3dd9308efd6e7bb0861c41bac6b21f23353e3ee1
Author: Julien Boibessot <jul...@ar...>
Date: Fri Jan 4 16:35:46 2013 +0100
[LINUX] 3.8 : APF51 : Fixes NAND ECC/OOB/BBT to be compatible with older kernels
commit 4d75c5bbfbea2dd42d16cb2e03a64b79f9bfc986
Author: Julien Boibessot <jul...@ar...>
Date: Fri Jan 4 16:34:12 2013 +0100
[LINUX] Fixes target/linux/modules/pwm/pwm.c build with recent kernels
commit 645dcff048a596231bb1dc87c14ec73cf84597aa
Author: Julien Boibessot <jul...@ar...>
Date: Fri Jan 4 16:33:02 2013 +0100
[LINUX] 3.8 : Add (non working) APF51 DT support
-----------------------------------------------------------------------
Summary of changes:
.../armadeus/apf51/apf51-linux-3.8-rc1.config | 1 +
...f51-linux-3.0.config => apf51-linux-3.8.config} | 24 ++--
.../3.8/0400-Add-apf51-basic-dt-support.patch | 147 ++++++++++++++++++++
.../0404-armadeus-fix_nand_ecc_oob.patch} | 50 ++++----
target/linux/modules/pwm/pwm.c | 10 ++-
5 files changed, 193 insertions(+), 39 deletions(-)
create mode 120000 buildroot/target/device/armadeus/apf51/apf51-linux-3.8-rc1.config
copy buildroot/target/device/armadeus/apf51/{apf51-linux-3.0.config => apf51-linux-3.8.config} (98%)
create mode 100644 patches/linux/3.8/0400-Add-apf51-basic-dt-support.patch
copy patches/linux/{3.0/404-armadeus-fix_nand_ecc_oob.patch => 3.8/0404-armadeus-fix_nand_ecc_oob.patch} (57%)
diff --git a/buildroot/target/device/armadeus/apf51/apf51-linux-3.8-rc1.config b/buildroot/target/device/armadeus/apf51/apf51-linux-3.8-rc1.config
new file mode 120000
index 0000000..08e79a8
--- /dev/null
+++ b/buildroot/target/device/armadeus/apf51/apf51-linux-3.8-rc1.config
@@ -0,0 +1 @@
+apf51-linux-3.8.config
\ No newline at end of file
diff --git a/buildroot/target/device/armadeus/apf51/apf51-linux-3.0.config b/buildroot/target/device/armadeus/apf51/apf51-linux-3.8.config
similarity index 98%
copy from buildroot/target/device/armadeus/apf51/apf51-linux-3.0.config
copy to buildroot/target/device/armadeus/apf51/apf51-linux-3.8.config
index 21eb398..8ec9ac2 100644
--- a/buildroot/target/device/armadeus/apf51/apf51-linux-3.0.config
+++ b/buildroot/target/device/armadeus/apf51/apf51-linux-3.8.config
@@ -2,6 +2,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
@@ -13,13 +15,13 @@ CONFIG_OPROFILE=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_BSD_DISKLABEL=y
# CONFIG_IOSCHED_CFQ is not set
CONFIG_ARCH_MXC=y
-CONFIG_ARCH_MX51=y
-CONFIG_MACH_APF51=y
+CONFIG_MXC_IRQ_PRIOR=y
+CONFIG_MACH_IMX51_DT=y
CONFIG_ARM_THUMBEE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_AEABI=y
CONFIG_ZBOOT_ROM_TEXT=0x0
@@ -104,8 +106,6 @@ CONFIG_LIBERTAS_SDIO=m
CONFIG_RT2X00=m
CONFIG_RT73USB=m
CONFIG_ZD1211RW=m
-CONFIG_PPP=m
-CONFIG_PPP_ASYNC=m
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_GPIO=m
@@ -211,11 +211,6 @@ CONFIG_USB_CDC_COMPOSITE=m
CONFIG_USB_G_MULTI=m
CONFIG_USB_G_MULTI_CDC=y
CONFIG_USB_G_HID=m
-CONFIG_ARMADEUS_DRIVERS=y
-CONFIG_ARMADEUS_FPGA_DRIVERS=y
-CONFIG_ARMADEUS_FPGA_LOADER_DRIVER=m
-# CONFIG_ARMADEUS_FPGA_VIRTUAL_COMPONENTS is not set
-CONFIG_ARMADEUS_PWM_DRIVER=m
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
@@ -230,6 +225,11 @@ CONFIG_RTC_MXC=y
CONFIG_RTC_DRV_WM831X=y
CONFIG_STAGING=y
CONFIG_IIO=m
+CONFIG_ARMADEUS_DRIVERS=y
+CONFIG_ARMADEUS_FPGA_DRIVERS=y
+CONFIG_ARMADEUS_FPGA_LOADER_DRIVER=m
+# CONFIG_ARMADEUS_FPGA_VIRTUAL_COMPONENTS is not set
+CONFIG_ARMADEUS_PWM_DRIVER=m
CONFIG_MCP49x2=m
# CONFIG_MXC_HWEVENT is not set
# CONFIG_MXC_VPU is not set
@@ -260,8 +260,6 @@ CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_ROOT_NFS=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_BSD_DISKLABEL=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ISO8859_1=y
diff --git a/patches/linux/3.8/0400-Add-apf51-basic-dt-support.patch b/patches/linux/3.8/0400-Add-apf51-basic-dt-support.patch
new file mode 100644
index 0000000..97c8844
--- /dev/null
+++ b/patches/linux/3.8/0400-Add-apf51-basic-dt-support.patch
@@ -0,0 +1,147 @@
+From 8155aee3ff56633876965a69c154ecb2b396a3b4 Mon Sep 17 00:00:00 2001
+From: Laurent Cans <lau...@gm...>
+Date: Sun, 16 Dec 2012 21:20:26 +0100
+Subject: [PATCH] Add apf51 basic support
+
+Signed-off-by: Laurent Cans <lau...@gm...>
+Signed-off-by: Gwenhael Goavec-Merou <gwe...@ar...>
+---
+ arch/arm/boot/dts/Makefile | 3 +-
+ arch/arm/boot/dts/imx51-apf51.dts | 62 +++++++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/imx51.dtsi | 30 ++++++++++++++++++
+ 3 files changed, 94 insertions(+), 1 deletion(-)
+ create mode 100644 arch/arm/boot/dts/imx51-apf51.dts
+
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index e44da40..1acf809 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -79,7 +79,8 @@ dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
+ armada-370-mirabox.dtb \
+ armada-xp-db.dtb \
+ armada-xp-openblocks-ax3-4.dtb
+-dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \
++dtb-$(CONFIG_ARCH_MXC) += imx51-apf51.dtb \
++ imx51-babbage.dtb \
+ imx53-ard.dtb \
+ imx53-evk.dtb \
+ imx53-qsb.dtb \
+diff --git a/arch/arm/boot/dts/imx51-apf51.dts b/arch/arm/boot/dts/imx51-apf51.dts
+new file mode 100644
+index 0000000..d3e0d06
+--- /dev/null
++++ b/arch/arm/boot/dts/imx51-apf51.dts
+@@ -0,0 +1,62 @@
++/*
++ * Copyright 2012 Laurent Cans <lau...@gm...>
++ * Copyright 2012 Armadeus Systems - <su...@ar...>
++ *
++ * Based on mx51-babbage.dts
++ * Copyright 2011 Freescale Semiconductor, Inc.
++ * Copyright 2011 Linaro Ltd.
++ *
++ * 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/ "imx51.dtsi"
++
++/ {
++ model = "Armadeus Systems APF51 module";
++ compatible = "fsl,imx51-apf51", "fsl,imx51";
++
++ memory {
++ reg = <0x90000000 0x20000000>;
++ };
++
++ clocks {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ ckih1 {
++ clock-frequency = <0>;
++ };
++
++ osc {
++ clock-frequency = <33554432>;
++ };
++ };
++};
++
++&uart3 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_uart3_2>;
++ status = "okay";
++};
++
++&nfc {
++ nand-bus-width = <8>;
++ nand-ecc-mode = "hw";
++ nand-on-flash-bbt;
++ status = "okay";
++};
++
++&fec {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_fec_2>;
++ phy-mode = "mii";
++ phy-reset-gpios = <&gpio3 0 0>;
++ phy-reset-duration = <1>;
++ status = "okay";
++};
+diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
+index 1f5d45e..8427279 100644
+--- a/arch/arm/boot/dts/imx51.dtsi
++++ b/arch/arm/boot/dts/imx51.dtsi
+@@ -273,6 +273,29 @@
+ 260 0x80000000 /* MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK */
+ >;
+ };
++
++ pinctrl_fec_2: fecgrp-2 {
++ fsl,pins = <
++ 589 0x80000000 /* MX51_PAD_DI_GP3__FEC_TX_ER */
++ 592 0x80000000 /* MX51_PAD_DI2_PIN4__FEC_CRS */
++ 594 0x80000000 /* MX51_PAD_DI2_PIN2__FEC_MDC */
++ 596 0x80000000 /* MX51_PAD_DI2_PIN3__FEC_MDIO */
++ 598 0x80000000 /* MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 */
++ 602 0x80000000 /* MX51_PAD_DI_GP4__FEC_RDATA2 */
++ 604 0x80000000 /* MX51_PAD_DISP2_DAT0__FEC_RDATA3 */
++ 609 0x80000000 /* MX51_PAD_DISP2_DAT1__FEC_RX_ER */
++ 618 0x80000000 /* MX51_PAD_DISP2_DAT6__FEC_TDATA1 */
++ 623 0x80000000 /* MX51_PAD_DISP2_DAT7__FEC_TDATA2 */
++ 628 0x80000000 /* MX51_PAD_DISP2_DAT8__FEC_TDATA3 */
++ 634 0x80000000 /* MX51_PAD_DISP2_DAT9__FEC_TX_EN */
++ 639 0x80000000 /* MX51_PAD_DISP2_DAT10__FEC_COL */
++ 644 0x80000000 /* MX51_PAD_DISP2_DAT11__FEC_RX_CLK */
++ 649 0x80000000 /* MX51_PAD_DISP2_DAT12__FEC_RX_DV */
++ 653 0x80000000 /* MX51_PAD_DISP2_DAT13__FEC_TX_CLK */
++ 657 0x80000000 /* MX51_PAD_DISP2_DAT14__FEC_RDATA0 */
++ 662 0x80000000 /* MX51_PAD_DISP2_DAT15__FEC_TDATA0 */
++ >;
++ };
+ };
+
+ ecspi1 {
+@@ -409,6 +432,13 @@
+ 49 0x1c5 /* MX51_PAD_EIM_D24__UART3_CTS */
+ >;
+ };
++
++ pinctrl_uart3_2: uart3grp-2 {
++ fsl,pins = <
++ 434 0x1c5 /* MX51_PAD_UART3_RXD__UART3_RXD */
++ 430 0x1c5 /* MX51_PAD_UART3_TXD__UART3_TXD */
++ >;
++ };
+ };
+ };
+
+--
+1.7.10.4
+
diff --git a/patches/linux/3.0/404-armadeus-fix_nand_ecc_oob.patch b/patches/linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch
similarity index 57%
copy from patches/linux/3.0/404-armadeus-fix_nand_ecc_oob.patch
copy to patches/linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch
index 8cace4c..8e7912a 100644
--- a/patches/linux/3.0/404-armadeus-fix_nand_ecc_oob.patch
+++ b/patches/linux/3.8/0404-armadeus-fix_nand_ecc_oob.patch
@@ -2,11 +2,11 @@ Add OOB and bad block table management to the V3 mxc_nand driver
Signed-off-by: Nicolas Colombain <nic...@ar...>
-Index: linux-3.0.10/drivers/mtd/nand/mxc_nand.c
+Index: linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c
===================================================================
---- linux-3.0.10.orig/drivers/mtd/nand/mxc_nand.c 2011-11-21 23:37:44.000000000 +0100
-+++ linux-3.0.10/drivers/mtd/nand/mxc_nand.c 2011-11-30 17:18:02.000000000 +0100
-@@ -243,6 +243,18 @@
+--- linux-3.8-rc1.orig/drivers/mtd/nand/mxc_nand.c 2012-12-22 02:19:00.000000000 +0100
++++ linux-3.8-rc1/drivers/mtd/nand/mxc_nand.c 2013-01-04 15:03:40.000000000 +0100
+@@ -266,6 +266,18 @@
}
};
@@ -15,17 +15,17 @@ Index: linux-3.0.10/drivers/mtd/nand/mxc_nand.c
+ .eccbytes = 4 * 8,
+ .eccpos = {
+ 8, 9, 10, 11, 12, 13, 14, 15,
-+ 72, 73, 74, 75, 76, 77, 78, 79,
++ 72, 73, 74, 75, 76, 77, 78, 79,
+ 136, 137, 138, 139, 140, 141, 142, 143,
+ 200, 201, 202, 203, 204, 205, 206, 207
+ },
+ .oobfree = { {2, 4}, {16, 56}, {80, 56}, {144, 56}, {208, 48} },
+};
+
- static const char *part_probes[] = { "RedBoot", "cmdlinepart", NULL };
+ static const char const *part_probes[] = {
+ "cmdlinepart", "RedBoot", "ofpart", NULL };
- static irqreturn_t mxc_nfc_irq(int irq, void *dev_id)
-@@ -1037,6 +1049,28 @@
+@@ -1147,6 +1159,28 @@
.pattern = mirror_pattern,
};
@@ -51,31 +51,31 @@ Index: linux-3.0.10/drivers/mtd/nand/mxc_nand.c
+ .pattern = mirror_pattern
+};
+
- static int __init mxcnd_probe(struct platform_device *pdev)
- {
- struct nand_chip *this;
-@@ -1152,7 +1186,7 @@
- host->get_dev_status = get_dev_status_v3;
- host->irq_control = irq_control_v3;
- oob_smallpage = &nandv2_hw_eccoob_smallpage;
-- oob_largepage = &nandv2_hw_eccoob_largepage;
-+ oob_largepage = &nandv3_hw_eccoob_largepage;
- } else
- BUG();
-
-@@ -1176,8 +1210,13 @@
+ /* v1 + irqpending_quirk: i.MX21 */
+ static const struct mxc_nand_devtype_data imx21_nand_devtype_data = {
+ .preset = preset_v1,
+@@ -1236,7 +1270,7 @@
+ .irq_control = irq_control_v3,
+ .get_ecc_status = get_ecc_status_v3,
+ .ecclayout_512 = &nandv2_hw_eccoob_smallpage,
+- .ecclayout_2k = &nandv2_hw_eccoob_largepage,
++ .ecclayout_2k = &nandv3_hw_eccoob_largepage,
+ .ecclayout_4k = &nandv2_hw_eccoob_smallpage, /* XXX: needs fix */
+ .select_chip = mxc_nand_select_chip_v1_v3,
+ .correct_data = mxc_nand_correct_data_v2_v3,
+@@ -1482,8 +1516,13 @@
this->options |= NAND_BUSWIDTH_16;
- if (pdata->flash_bbt) {
+ if (host->pdata.flash_bbt) {
- this->bbt_td = &bbt_main_descr;
- this->bbt_md = &bbt_mirror_descr;
-+ if (nfc_is_v3_2()) {
++ if (is_imx51_nfc(host)) {
+ this->bbt_td = &v3bbt_main_descr;
-+ this->bbt_md = &v3bbt_mirror_descr;
++ this->bbt_md = &v3bbt_mirror_descr;
+ } else {
+ this->bbt_td = &bbt_main_descr;
+ this->bbt_md = &bbt_mirror_descr;
+ }
/* update flash based bbt */
- this->options |= NAND_USE_FLASH_BBT;
+ this->bbt_options |= NAND_BBT_USE_FLASH;
}
diff --git a/target/linux/modules/pwm/pwm.c b/target/linux/modules/pwm/pwm.c
index 1fe0c9e..877aca7 100644
--- a/target/linux/modules/pwm/pwm.c
+++ b/target/linux/modules/pwm/pwm.c
@@ -33,12 +33,14 @@
#include <linux/fcntl.h>
#include <linux/interrupt.h>
#include <asm/io.h>
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,7,9)
#include <mach/hardware.h>
+#include <linux/sysdev.h>
+#endif
#include <linux/errno.h>
#include <linux/wait.h>
#include <linux/pm.h>
#include <linux/clk.h>
-#include <linux/sysdev.h>
#include <linux/device.h> /* struct class */
#include <linux/circ_buf.h>
#include <linux/platform_device.h>
@@ -439,8 +441,12 @@ static int pwm_fasync(int fd, struct file *filp, int mode)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
int pwm_ioctl(struct inode * inode, struct file *filp, unsigned int cmd, unsigned long arg)
#else
+#if LINUX_VERSION_CODE > KERNEL_VERSION(3,7,0)
+long pwm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+#else
int pwm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
#endif
+#endif
{
char *str=NULL;
int ret = 0;
@@ -1011,7 +1017,9 @@ error_platform_init:
free_irq(pwm->irq, pwm);
error_chrdev:
unregister_chrdev(gMajor, DRIVER_NAME);
+#ifndef CONFIG_ARCH_MX5
error_iounmap:
+#endif
iounmap(pwm->membase);
error_memreg:
release_mem_region(res->start, resource_size(res));
hooks/post-receive
--
armadeus
|