From a2392c91f93c18a065fb64c2b3545d9520c35040 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Mon, 6 Aug 2012 09:37:09 -0300 Subject: [PATCH] linux-imx (2.6.35.3): update imx233-olinux.patch to Freescale's 10.12.01 branch The Freescale's branch for mxs SoC family is based on 10.12.01 BSP and the patch needed some changes to apply properly. The patch has been updated based on this branch. Signed-off-by: Otavio Salvador --- .../linux-imx-2.6.35.3/imx233-olinuxino.patch | 153 +++++++++++------- .../linux/linux-imx_2.6.35.3.bbappend | 2 +- 2 files changed, 95 insertions(+), 60 deletions(-) diff --git a/recipes-kernel/linux/linux-imx-2.6.35.3/imx233-olinuxino.patch b/recipes-kernel/linux/linux-imx-2.6.35.3/imx233-olinuxino.patch index 2c13e5d..089a1c6 100644 --- a/recipes-kernel/linux/linux-imx-2.6.35.3/imx233-olinuxino.patch +++ b/recipes-kernel/linux/linux-imx-2.6.35.3/imx233-olinuxino.patch @@ -1,14 +1,62 @@ -imx233-olinuxino: add machine configuration support +From: Otavio Salvador +Subject: [PATCH] Include iMX233-OlinuXino support -This includes the board support on the kernel. +This patch is based on imx_2.6.35_10.12.01 branch of Freescale GIT +repository and based on Raivis' original patch. -Upstream-Status: Pending +Upstream-Status: Applied Signed-off-by: Raivis Rengelis +Signed-off-by: Otavio Salvador +--- + arch/arm/mach-mx23/Kconfig | 7 + + arch/arm/mach-mx23/Makefile | 1 + + arch/arm/mach-mx23/device.c | 1 + + arch/arm/mach-mx23/imx233_olinuxino.c | 96 +++++ + arch/arm/mach-mx23/imx233_olinuxino.h | 29 ++ + arch/arm/mach-mx23/imx233_olinuxino_pins.c | 638 ++++++++++++++++++++++++++++ + arch/arm/tools/mach-types | 1 + + drivers/mmc/host/Kconfig | 8 + + drivers/mmc/host/mxs-mmc.c | 4 + + 9 files changed, 785 insertions(+) + create mode 100644 arch/arm/mach-mx23/imx233_olinuxino.c + create mode 100644 arch/arm/mach-mx23/imx233_olinuxino.h + create mode 100644 arch/arm/mach-mx23/imx233_olinuxino_pins.c -diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/device.c linux-2.6.31/arch/arm/mach-mx23/device.c ---- linux-2.6.31.orig/arch/arm/mach-mx23/device.c 2012-04-09 19:25:44.278144145 +0300 -+++ linux-2.6.31/arch/arm/mach-mx23/device.c 2012-04-09 20:00:49.704584387 +0300 +diff --git a/arch/arm/mach-mx23/Kconfig b/arch/arm/mach-mx23/Kconfig +index 28009b0..0ebaf29 100644 +--- a/arch/arm/mach-mx23/Kconfig ++++ b/arch/arm/mach-mx23/Kconfig +@@ -6,6 +6,13 @@ config MACH_MX23EVK + depends on ARCH_MX23 + select USB_ARCH_HAS_EHCI + ++config MACH_IMX233_OLINUXINO ++ bool "iMX233-OLinuXino low cost board" ++ depends on ARCH_MX23 ++ select USB_ARCH_HAS_EHCI ++ select MMC_MXS ++ select MMC_MXS_NODETECT ++ + endchoice + + +diff --git a/arch/arm/mach-mx23/Makefile b/arch/arm/mach-mx23/Makefile +index a5e2781..2a39dac 100644 +--- a/arch/arm/mach-mx23/Makefile ++++ b/arch/arm/mach-mx23/Makefile +@@ -5,6 +5,7 @@ obj-y += pinctrl.o clock.o device.o serial.o power.o pm.o sleep.o bus_freq.o + + # Board select + obj-$(CONFIG_MACH_MX23EVK) += mx23evk.o mx23evk_pins.o ++obj-$(CONFIG_MACH_IMX233_OLINUXINO) += imx233_olinuxino.o imx233_olinuxino_pins.o + obj-$(CONFIG_GENERIC_GPIO) += gpio.o + obj-$(CONFIG_MXS_RAM_FREQ_SCALING) +=emi.o + obj-$(CONFIG_MXS_UNIQUE_ID_OTP) += otp.o +diff --git a/arch/arm/mach-mx23/device.c b/arch/arm/mach-mx23/device.c +index 8352540..0f5f659 100644 +--- a/arch/arm/mach-mx23/device.c ++++ b/arch/arm/mach-mx23/device.c @@ -45,6 +45,7 @@ #include "device.h" #include "mx23_pins.h" @@ -17,9 +65,11 @@ diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/device.c linux-2.6.31/arch/arm/m #include "mach/mx23.h" #if defined(CONFIG_SERIAL_MXS_DUART) || \ -diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino.c linux-2.6.31/arch/arm/mach-mx23/imx233_olinuxino.c ---- linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino.c 1970-01-01 03:00:00.000000000 +0300 -+++ linux-2.6.31/arch/arm/mach-mx23/imx233_olinuxino.c 2012-04-09 20:10:26.315443645 +0300 +diff --git a/arch/arm/mach-mx23/imx233_olinuxino.c b/arch/arm/mach-mx23/imx233_olinuxino.c +new file mode 100644 +index 0000000..e08ccdc +--- /dev/null ++++ b/arch/arm/mach-mx23/imx233_olinuxino.c @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2012 RRKB IK, Raivis Rengelis, raivis@rrkb.lv @@ -117,9 +167,11 @@ diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino.c linux-2.6.31/ + .init_machine = imx233_olinuxino_init_machine, + .timer = &mx23_timer.timer, +MACHINE_END -diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino.h linux-2.6.31/arch/arm/mach-mx23/imx233_olinuxino.h ---- linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino.h 1970-01-01 03:00:00.000000000 +0300 -+++ linux-2.6.31/arch/arm/mach-mx23/imx233_olinuxino.h 2012-04-10 12:14:33.630292991 +0300 +diff --git a/arch/arm/mach-mx23/imx233_olinuxino.h b/arch/arm/mach-mx23/imx233_olinuxino.h +new file mode 100644 +index 0000000..e16f28e +--- /dev/null ++++ b/arch/arm/mach-mx23/imx233_olinuxino.h @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2012 RRKB IK, Raivis Rengelis, raivis@rrkb.lv @@ -150,9 +202,11 @@ diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino.h linux-2.6.31/ +extern void mxs_mmc_cmd_pullup_mmc0(int enable); + +#endif /* __ASM_ARM_MACH_IMX233_OLINUXINO_H */ -diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino_pins.c linux-2.6.31/arch/arm/mach-mx23/imx233_olinuxino_pins.c ---- linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino_pins.c 1970-01-01 03:00:00.000000000 +0300 -+++ linux-2.6.31/arch/arm/mach-mx23/imx233_olinuxino_pins.c 2012-04-20 20:07:11.618237832 +0300 +diff --git a/arch/arm/mach-mx23/imx233_olinuxino_pins.c b/arch/arm/mach-mx23/imx233_olinuxino_pins.c +new file mode 100644 +index 0000000..fe4d372 +--- /dev/null ++++ b/arch/arm/mach-mx23/imx233_olinuxino_pins.c @@ -0,0 +1,638 @@ +/* + * Copyright (C) 2012 RRKB IK, Raivis Rengelis, raivis@rrkb.lv @@ -792,46 +846,23 @@ diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/imx233_olinuxino_pins.c linux-2. +{ + mxs_request_pins(imx233_olinuxino_fixed_pins, ARRAY_SIZE(imx233_olinuxino_fixed_pins)); +} -diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/Kconfig linux-2.6.31/arch/arm/mach-mx23/Kconfig ---- linux-2.6.31.orig/arch/arm/mach-mx23/Kconfig 2012-04-09 19:25:44.446144985 +0300 -+++ linux-2.6.31/arch/arm/mach-mx23/Kconfig 2012-04-20 20:22:31.022796911 +0300 -@@ -6,6 +6,13 @@ config MACH_MX23EVK - depends on ARCH_MX23 - select USB_ARCH_HAS_EHCI - -+config MACH_IMX233_OLINUXINO -+ bool "iMX233-OLinuXino low cost board" -+ depends on ARCH_MX23 -+ select USB_ARCH_HAS_EHCI -+ select MMC_MXS -+ select MMC_MXS_NODETECT -+ - endchoice - - -diff -rupN linux-2.6.31.orig/arch/arm/mach-mx23/Makefile linux-2.6.31/arch/arm/mach-mx23/Makefile ---- linux-2.6.31.orig/arch/arm/mach-mx23/Makefile 2012-04-09 19:25:44.350144508 +0300 -+++ linux-2.6.31/arch/arm/mach-mx23/Makefile 2012-04-09 19:58:27.211877809 +0300 -@@ -5,6 +5,7 @@ obj-y += pinctrl.o clock.o device.o seri - - # Board select - obj-$(CONFIG_MACH_MX23EVK) += mx23evk.o mx23evk_pins.o -+obj-$(CONFIG_MACH_IMX233_OLINUXINO) += imx233_olinuxino.o imx233_olinuxino_pins.o - obj-$(CONFIG_GENERIC_GPIO) += gpio.o - obj-$(CONFIG_MXS_RAM_FREQ_SCALING) +=emi.o - obj-$(CONFIG_MXS_UNIQUE_ID_OTP) += otp.o -diff -rupN linux-2.6.31.orig/arch/arm/tools/mach-types linux-2.6.31/arch/arm/tools/mach-types ---- linux-2.6.31.orig/arch/arm/tools/mach-types 2012-04-09 19:25:41.182128849 +0300 -+++ linux-2.6.31/arch/arm/tools/mach-types 2012-04-09 19:37:16.381576093 +0300 -@@ -3257,3 +3257,4 @@ armadillo460 MACH_ARMADILLO460 ARMADILL - lq2 MACH_LQ2 LQ2 3271 - sweda_tms2 MACH_SWEDA_TMS2 SWEDA_TMS2 3272 - mx53_loco MACH_MX53_LOCO MX53_LOCO 3273 +diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types +index b969419..59367c2 100644 +--- a/arch/arm/tools/mach-types ++++ b/arch/arm/tools/mach-types +@@ -2614,6 +2614,7 @@ qsd8x50a_st1_1 MACH_QSD8X50A_ST1_1 QSD8X50A_ST1_1 2626 + qsd8x50a_st1_5 MACH_QSD8X50A_ST1_5 QSD8X50A_ST1_5 2627 + bee MACH_BEE BEE 2628 + mx23evk MACH_MX23EVK MX23EVK 2629 +imx233_olinuxino MACH_IMX233_OLINUXINO IMX233_OLINUXINO 4105 -diff -rupN linux-2.6.31.orig/drivers/mmc/host/Kconfig linux-2.6.31/drivers/mmc/host/Kconfig ---- linux-2.6.31.orig/drivers/mmc/host/Kconfig 2012-04-09 19:24:49.213871096 +0300 -+++ linux-2.6.31/drivers/mmc/host/Kconfig 2012-04-20 20:27:16.360211824 +0300 -@@ -303,6 +303,14 @@ config MMC_MXS + ap4evb MACH_AP4EVB AP4EVB 2630 + stockholm MACH_STOCKHOLM STOCKHOLM 2631 + lpc_h3131 MACH_LPC_H3131 LPC_H3131 2632 +diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig +index 951f1fd..4d7846f 100644 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -366,6 +366,14 @@ config MMC_MXS If unsure, say N. @@ -846,10 +877,11 @@ diff -rupN linux-2.6.31.orig/drivers/mmc/host/Kconfig linux-2.6.31/drivers/mmc/h config MMC_S3C tristate "Samsung S3C SD/MMC Card Interface support" depends on ARCH_S3C2410 -diff -rupN linux-2.6.31.orig/drivers/mmc/host/mxs-mmc.c linux-2.6.31/drivers/mmc/host/mxs-mmc.c ---- linux-2.6.31.orig/drivers/mmc/host/mxs-mmc.c 2012-04-09 19:24:49.177870911 +0300 -+++ linux-2.6.31/drivers/mmc/host/mxs-mmc.c 2012-04-20 20:07:20.570282222 +0300 -@@ -155,8 +155,12 @@ static int mxs_mmc_get_ro(struct mmc_hos +diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c +index c8945ee..65e7fe0 100644 +--- a/drivers/mmc/host/mxs-mmc.c ++++ b/drivers/mmc/host/mxs-mmc.c +@@ -160,8 +160,12 @@ static int mxs_mmc_get_ro(struct mmc_host *mmc) /* Detect if card is plugged */ static inline int mxs_mmc_is_plugged(struct mxs_mmc_host *host) { @@ -861,4 +893,7 @@ diff -rupN linux-2.6.31.orig/drivers/mmc/host/mxs-mmc.c linux-2.6.31/drivers/mmc +#endif } - /* Card detection polling function */ + static void mxs_mmc_reset(struct mxs_mmc_host *host); +-- +1.7.10.4 + diff --git a/recipes-kernel/linux/linux-imx_2.6.35.3.bbappend b/recipes-kernel/linux/linux-imx_2.6.35.3.bbappend index 6cf884e..cfaba64 100644 --- a/recipes-kernel/linux/linux-imx_2.6.35.3.bbappend +++ b/recipes-kernel/linux/linux-imx_2.6.35.3.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" -PRINC := "${@int(PRINC) + 9}" +PRINC := "${@int(PRINC) + 10}" # Board specific patches SRC_URI_append_imx233-olinuxino = " file://imx233-olinuxino.patch"