-Original Message-
From: linux-omap-ow...@vger.kernel.org
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Raphaël Assénat
Sent: Wednesday, July 06, 2011 8:59 PM
To: linux-omap@vger.kernel.org
Subject: [PATCH] AM3505/3517 ZCN package support
This patch adds support for the AM35xx ZCN package specific muxmodes.
Signed-off-by: Raphael Assenat r...@8d.com
[sp] Few quick comments below:
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 4ae6257..5c880de 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -103,6 +103,9 @@ config OMAP_PACKAGE_CBL
config OMAP_PACKAGE_CBS
bool
+config OMAP_PACKAGE_ZCN
+ bool
+
comment OMAP Board Type
depends on ARCH_OMAP2PLUS
diff --git a/arch/arm/mach-omap2/mux.h b/arch/arm/mach-omap2/mux.h
index 2132308..f227503 100644
--- a/arch/arm/mach-omap2/mux.h
+++ b/arch/arm/mach-omap2/mux.h
@@ -62,6 +62,7 @@
/* Flags for omapX_mux_init */
#define OMAP_PACKAGE_MASK0x
+#define OMAP_PACKAGE_ZCN 9 /*
491-pin 0.65 */
#define OMAP_PACKAGE_CBS 8 /*
547-pin 0.40 0.40 */
#define OMAP_PACKAGE_CBL 7 /*
547-pin 0.40 0.40 */
#define OMAP_PACKAGE_CBP 6 /*
515-pin 0.40 0.50 */
diff --git a/arch/arm/mach-omap2/mux34xx.c
b/arch/arm/mach-omap2/mux34xx.c
index 17f80e4..d42ac2e 100644
--- a/arch/arm/mach-omap2/mux34xx.c
+++ b/arch/arm/mach-omap2/mux34xx.c
@@ -37,6 +37,9 @@
.balls = { bb, bt },
\
}
+#define _OMAP3_NULL_MUXENTRY(M0) _OMAP3_MUXENTRY(M0, 0,
NULL, NULL, \
+ NULL, NULL, NULL, NULL, NULL, NULL)
+
/*
* Superset of all mux modes for omap3
*/
@@ -651,51 +654,50 @@ static struct omap_mux __initdata
omap3_muxmodes[] = {
gpio_166, NULL, NULL, safe_mode),
/* Only on 3630, see omap36xx_cbp_subset for the signals */
- _OMAP3_MUXENTRY(GPMC_A11, 0,
- NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL),
[snip]...[snip]
+ _OMAP3_NULL_MUXENTRY(GPMC_A11),
+ _OMAP3_NULL_MUXENTRY(SAD2D_MBUSFLAG),
+ _OMAP3_NULL_MUXENTRY(SAD2D_MREAD),
[sp] These changes don't go with the current patch description.
You may want to keep them in a separate patch; and use here.
+
+ /* Only on AM35xx, see am35xx_zcn_subset for the signals */
+ _OMAP3_NULL_MUXENTRY(CCDC_PCLK),
+ _OMAP3_NULL_MUXENTRY(CCDC_FIELD),
+ _OMAP3_NULL_MUXENTRY(CCDC_HD),
+ _OMAP3_NULL_MUXENTRY(CCDC_VD),
+ _OMAP3_NULL_MUXENTRY(CCDC_WEN),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA0),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA1),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA2),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA3),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA4),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA5),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA6),
+ _OMAP3_NULL_MUXENTRY(CCDC_DATA7),
+ _OMAP3_NULL_MUXENTRY(RMII_MDIO_DATA),
+ _OMAP3_NULL_MUXENTRY(RMII_MDIO_CLK),
+ _OMAP3_NULL_MUXENTRY(RMII_RXD0),
+ _OMAP3_NULL_MUXENTRY(RMII_RXD1),
+ _OMAP3_NULL_MUXENTRY(RMII_CRS_DV),
+ _OMAP3_NULL_MUXENTRY(RMII_RXER),
+ _OMAP3_NULL_MUXENTRY(RMII_TXD0),
+ _OMAP3_NULL_MUXENTRY(RMII_TXD1),
+ _OMAP3_NULL_MUXENTRY(RMII_TXEN),
+ _OMAP3_NULL_MUXENTRY(RMII_50MHZ_CLK),
+ _OMAP3_NULL_MUXENTRY(USB0_DRVVBUS),
+ _OMAP3_NULL_MUXENTRY(HECC1_TXD),
+ _OMAP3_NULL_MUXENTRY(HECC1_RXD),
+
[sp] Extra line.
{ .reg_offset = OMAP_MUX_TERMINATOR },
};
@@ -2026,6 +2028,490 @@ static struct omap_ball __initdata
omap36xx_cbp_ball[] = {
#define omap36xx_cbp_ball NULL
#endif
+/*
+ * Signals different on AM35XX ZCN package comapared to 34XX
CBC package
+ */
+#if defined(CONFIG_OMAP_MUX) defined(CONFIG_OMAP_PACKAGE_ZCN)
+static struct omap_mux __initdata am35xx_zcn_subset[] = {
[snip]...[snip]
+ { .reg_offset = OMAP_MUX_TERMINATOR },
+};
+#else
+#define am35xx_zcn_subsetNULL
+#endif
+
+/*
+ * Balls for AM35XX ZCN package
+ * 491-pin s-PBGA Package, 0.65mm Ball Pitch
+ */
+#if defined(CONFIG_OMAP_MUX) defined(CONFIG_DEBUG_FS)
\
+ defined (CONFIG_OMAP_PACKAGE_ZCN)
+static struct omap_ball __initdata am35xx_zcn_ball[] = {
[snip]...[snip]
+
+ { .reg_offset = OMAP_MUX_TERMINATOR },
+};
+#else
+#define am35xx_zcn_ball NULL
+#endif
+
+
[sp] Extra line.
int __init omap3_mux_init(struct omap_board_mux
*board_subset, int flags)
{
struct omap_mux *package_subset;
@@ -2048,6 +2534,10 @@ int __init omap3_mux_init(struct
omap_board_mux *board_subset, int flags)
package_subset = omap36xx_cbp_subset;
package_balls = omap36xx_cbp_ball;
break;
+ case OMAP_PACKAGE_ZCN:
+ package_subset = am35xx_zcn_subset;
+ package_balls