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 <otavio@ossystems.com.br>
This commit is contained in:
Otavio Salvador 2012-08-06 09:37:09 -03:00
parent 1ff364c0a7
commit a2392c91f9
2 changed files with 95 additions and 60 deletions

View File

@ -1,14 +1,62 @@
imx233-olinuxino: add machine configuration support
From: Otavio Salvador <otavio@ossystems.com.br>
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 <raivis@rrkb.lv>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
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

View File

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