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"