mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 0/4] mxs: iomux configuration improvements
@ 2012-03-26 17:29 esben.haabendal
  2012-03-26 17:29 ` [PATCH 1/4] mxs: Fix support for BITKEEPER() macro esben.haabendal
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: esben.haabendal @ 2012-03-26 17:29 UTC (permalink / raw)
  To: barebox

From: Esben Haabendal <esben.haabendal@gmail.com>

These patches completes the iomux configuration definitions in
iomux-imx28.h, fixes a bug for PWM3 pad configuration, and fixes
support for using BITKEEPER(1) in pad configurations.

RFC: It might be better to just get rid of the split between BITKEEPER
and PULLUP in definitions.  It clearly is a source for subtle bugs
(setting PULLUP does not really do anything if the pad/function is
actually defined as a keeper pad.  As for i.MX28 the reference manual
is not very clear on which pads/functions have pullup instead of
keeper, and I am not sure that the current defintions in barebox is in
sync with the manual and/or the real world.  What do you think, should
I make a patch unifying PULLUP and BITKEEPER.

Esben Haabendal (4):
  mxs: Fix support for BITKEEPER() macro
  mxs: Fix i.MX28 PWM3 iomux configuration
  mxs: Cleanup use of blank lines in i.MX28 iomux configurations
  mxs: Add remaining i.MX28 iomux configurations

 arch/arm/mach-mxs/include/mach/iomux-imx28.h |  163 +++++++++++++++++++-------
 arch/arm/mach-mxs/iomux-imx.c                |    6 +
 2 files changed, 126 insertions(+), 43 deletions(-)

-- 
1.7.5.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] mxs: Fix support for BITKEEPER() macro
  2012-03-26 17:29 [PATCH 0/4] mxs: iomux configuration improvements esben.haabendal
@ 2012-03-26 17:29 ` esben.haabendal
  2012-04-02  8:44   ` Sascha Hauer
  2012-03-26 17:29 ` [PATCH 2/4] mxs: Fix i.MX28 PWM3 iomux configuration esben.haabendal
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: esben.haabendal @ 2012-03-26 17:29 UTC (permalink / raw)
  To: barebox; +Cc: Esben Haabendal

From: Esben Haabendal <esben.haabendal@gmail.com>

There was no check for BE, so any BITKEEPER(1) iomux configurations
were not being applied.

Signed-off-by: Esben Haabendal <esben.haabendal@prevas.dk>
---
 arch/arm/mach-mxs/iomux-imx.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-mxs/iomux-imx.c b/arch/arm/mach-mxs/iomux-imx.c
index 3161a5d..6bcde03 100644
--- a/arch/arm/mach-mxs/iomux-imx.c
+++ b/arch/arm/mach-mxs/iomux-imx.c
@@ -128,6 +128,12 @@ void imx_gpio_mode(uint32_t m)
 				(GET_PULLUP(m) == 1 ? BIT_SET : BIT_CLR));
 	}
 
+	if (BK_PRESENT(m)) {
+		reg_offset = calc_pullup_reg(gpio_pin);
+		writel(0x1 << (gpio_pin % 32), IMX_IOMUXC_BASE + reg_offset +
+				(GET_BITKEEPER(m) == 1 ? BIT_SET : BIT_CLR));
+	}
+
 	if (GET_FUNC(m) == IS_GPIO) {
 		if (GET_GPIODIR(m) == 1) {
 			/* first set the output value */
-- 
1.7.5.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/4] mxs: Fix i.MX28 PWM3 iomux configuration
  2012-03-26 17:29 [PATCH 0/4] mxs: iomux configuration improvements esben.haabendal
  2012-03-26 17:29 ` [PATCH 1/4] mxs: Fix support for BITKEEPER() macro esben.haabendal
@ 2012-03-26 17:29 ` esben.haabendal
  2012-03-26 17:29 ` [PATCH 3/4] mxs: Cleanup use of blank lines in i.MX28 iomux configurations esben.haabendal
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: esben.haabendal @ 2012-03-26 17:29 UTC (permalink / raw)
  To: barebox; +Cc: Esben Haabendal

From: Esben Haabendal <esben.haabendal@gmail.com>

Signed-off-by: Esben Haabendal <esben.haabendal@prevas.dk>
---
 arch/arm/mach-mxs/include/mach/iomux-imx28.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-mxs/include/mach/iomux-imx28.h b/arch/arm/mach-mxs/include/mach/iomux-imx28.h
index 1557126..fae525e 100644
--- a/arch/arm/mach-mxs/include/mach/iomux-imx28.h
+++ b/arch/arm/mach-mxs/include/mach/iomux-imx28.h
@@ -296,7 +296,7 @@
 #define LCD_RESET_GPIO		(FUNC(3) | PORTF(3, 30))
 #define PWM4			(FUNC(0) | PORTF(3, 29))
 #define PWM4_GPIO		(FUNC(3) | PORTF(3, 29))
-#define PWM3			(FUNC(0) | PORTF(3 28))
+#define PWM3			(FUNC(0) | PORTF(3, 28))
 #define PWM3_GPIO		(FUNC(3) | PORTF(3, 28))
 
 #define PWM2			(FUNC(0) | PORTF(3, 18))
-- 
1.7.5.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 3/4] mxs: Cleanup use of blank lines in i.MX28 iomux configurations
  2012-03-26 17:29 [PATCH 0/4] mxs: iomux configuration improvements esben.haabendal
  2012-03-26 17:29 ` [PATCH 1/4] mxs: Fix support for BITKEEPER() macro esben.haabendal
  2012-03-26 17:29 ` [PATCH 2/4] mxs: Fix i.MX28 PWM3 iomux configuration esben.haabendal
@ 2012-03-26 17:29 ` esben.haabendal
  2012-03-26 17:29 ` [PATCH 4/4] mxs: Add remaining " esben.haabendal
  2012-04-02  8:12 ` [PATCH 0/4] mxs: iomux configuration improvements Sascha Hauer
  4 siblings, 0 replies; 7+ messages in thread
From: esben.haabendal @ 2012-03-26 17:29 UTC (permalink / raw)
  To: barebox; +Cc: Esben Haabendal

From: Esben Haabendal <esben.haabendal@gmail.com>

Signed-off-by: Esben Haabendal <esben.haabendal@prevas.dk>
---
 arch/arm/mach-mxs/include/mach/iomux-imx28.h |   37 --------------------------
 1 files changed, 0 insertions(+), 37 deletions(-)

diff --git a/arch/arm/mach-mxs/include/mach/iomux-imx28.h b/arch/arm/mach-mxs/include/mach/iomux-imx28.h
index fae525e..8eac71d 100644
--- a/arch/arm/mach-mxs/include/mach/iomux-imx28.h
+++ b/arch/arm/mach-mxs/include/mach/iomux-imx28.h
@@ -145,20 +145,14 @@
 #define GPMI_D0_GPIO		(FUNC(3) | PORTF(0, 0) | SE | VE | PE)
 
 /* Bank 1, GPIO pins 32 ... 63 */
-
 #define LCD_ENABLE		(FUNC(0) | PORTF(1, 31) | SE | VE | BK)
 #define LCD_ENABLE_GPIO		(FUNC(3) | PORTF(1, 31) | SE | VE | BK)
-
 #define LCD_DOTCLK		(FUNC(0) | PORTF(1, 30) | SE | VE | BK)
-
 #define LCD_HSYNC		(FUNC(0) | PORTF(1, 29) | SE | VE | BK)
-
 #define LCD_VSYNC		(FUNC(0) | PORTF(1, 28) | SE | VE | BK)
-
 #define LCD_CS			(FUNC(0) | PORTF(1, 27) | SE | VE | BK)
 #define LCD_CS_LCD_ENABLE	(FUNC(1) | PORTF(1, 27) | SE | VE | BK)
 #define LCD_CS_GPIO		(FUNC(3) | PORTF(1, 27) | SE | VE | BK)
-
 #define LCD_RS			(FUNC(0) | PORTF(1, 26) | SE | VE | BK)
 #define LCD_RS_LCD_DOTCLK	(FUNC(1) | PORTF(1, 26) | SE | VE | BK)
 #define LCD_RS_GPIO		(FUNC(3) | PORTF(1, 26) | SE | VE | BK)
@@ -170,23 +164,14 @@
 #define LCD_RD_E_LCD_VSYNC	(FUNC(1) | PORTF(1, 24) | SE | VE | BK)
 #define LCD_RD_E_ETM_TCTL	(FUNC(2) | PORTF(1, 24) | SE | VE | BK)
 #define LCD_RD_E_GPIO		(FUNC(3) | PORTF(1, 24) | SE | VE | BK)
-
 #define LCD_D23			(FUNC(0) | PORTF(1, 23) | SE | VE | BK)
-
 #define LCD_D22			(FUNC(0) | PORTF(1, 22) | SE | VE | BK)
-
 #define LCD_D21			(FUNC(0) | PORTF(1, 21) | SE | VE | BK)
-
 #define LCD_D20			(FUNC(0) | PORTF(1, 20) | SE | VE | BK)
-
 #define LCD_D19			(FUNC(0) | PORTF(1, 19) | SE | VE | BK)
-
 #define LCD_D18			(FUNC(0) | PORTF(1, 18) | SE | VE | BK)
-
 #define LCD_D17			(FUNC(0) | PORTF(1, 17) | SE | VE | BK)
-
 #define LCD_D16			(FUNC(0) | PORTF(1, 16) | SE | VE | BK)
-
 #define LCD_D15			(FUNC(0) | PORTF(1, 15) | SE | VE | BK)
 #define LCD_D15_ETM_DA15	(FUNC(2) | PORTF(1, 15) | SE | VE | BK)
 #define LCD_D15_GPIO		(FUNC(3) | PORTF(1, 15) | SE | VE | BK)
@@ -290,7 +275,6 @@
 #define SSP0_D0_GPIO		(FUNC(3) | PORTF(2, 0) | SE | VE | PE)
 
 /* Bank 3, GPIO pins 96 ... 127 */
-
 #define LCD_RESET		(FUNC(0) | PORTF(3, 30))
 #define LCD_RESET_LCD_VSYNC	(FUNC(1) | PORTF(3, 30))
 #define LCD_RESET_GPIO		(FUNC(3) | PORTF(3, 30))
@@ -298,12 +282,9 @@
 #define PWM4_GPIO		(FUNC(3) | PORTF(3, 29))
 #define PWM3			(FUNC(0) | PORTF(3, 28))
 #define PWM3_GPIO		(FUNC(3) | PORTF(3, 28))
-
 #define PWM2			(FUNC(0) | PORTF(3, 18))
-
 #define PWM1			(FUNC(0) | PORTF(3, 17))
 #define PWM1_DUART_TX		(FUNC(2) | PORTF(3, 17))
-
 #define PWM0			(FUNC(0) | PORTF(3, 16))
 #define PWM0_I2C1_SCL		(FUNC(1) | PORTF(3, 16))
 #define PWM0_DUART_RX		(FUNC(2) | PORTF(3, 16))
@@ -374,16 +355,12 @@
 #define AUART0_RX_GPIO		(FUNC(3) | PORTF(3, 0) | SE | VE | BK)
 
 /* Bank 4, GPIO pins 128 ... 159 */
-
 #define JTAG_RTCK		(FUNC(0) | PORTF(4, 20) | SE | VE | BK)
 #define JTAG_RTCK_GPIO		(FUNC(3) | PORTF(4, 20) | SE | VE | BK)
 #define ENET_CLK		(FUNC(0) | PORTF(4, 16) | SE | VE | BK)
 #define ENET_CLK_GPIO		(FUNC(3) | PORTF(4, 16) | SE | VE | BK)
-
 #define ENET0_CRS		(FUNC(0) | PORTF(4, 15) | SE | VE | BK)
-
 #define ENET0_COL		(FUNC(0) | PORTF(4, 14) | SE | VE | BK)
-
 #define ENET0_RX_CLK		(FUNC(0) | PORTF(4, 13) | SE | VE | BK)
 #define ENET0_RX_CLK_RX_ER	(FUNC(1) | PORTF(4, 13) | SE | VE | BK)
 #define ENET0_RX_ENET0_1588_EVENT2_IN (FUNC(2) | PORTF(4, 13) | SE | VE | BK)
@@ -392,36 +369,22 @@
 #define ENET0_TXD3_ENET1_TXD1	(FUNC(1) | PORTF(4, 12) | SE | VE | BK)
 #define ENET0_TXD3_ENET0_1588_EVENT1_IN (FUNC(2) | PORTF(4, 12) | SE | VE | BK)
 #define ENET0_TXD3_GPIO		(FUNC(3) | PORTF(4, 12) | SE | VE | BK)
-
 #define ENET0_TXD2		(FUNC(0) | PORTF(4, 11) | SE | VE | BK)
-
 #define ENET0_TXD2_GPIO		(FUNC(3) | PORTF(4, 11) | SE | VE | BK)
-
 #define ENET0_RXD3		(FUNC(0) | PORTF(4, 10) | SE | VE | BK)
 #define ENET0_RXD3_ENET1_RXD1	(FUNC(1) | PORTF(4, 10) | SE | VE | BK)
 #define ENET0_RXD3_ENET0_1588_EVENT0_IN (FUNC(2) | PORTF(4, 10) | SE | VE | BK)
 #define ENET0_RXD3_GPIO		(FUNC(3) | PORTF(4, 10) | SE | VE | BK)
-
 #define ENET0_RXD2		(FUNC(0) | PORTF(4, 9) | SE | VE | BK)
-
 #define ENET0_RXD2_GPIO		(FUNC(3) | PORTF(4, 9) | SE | VE | BK)
-
 #define ENET0_TXD1		(FUNC(0) | PORTF(4, 8) | SE | VE | PE)
-
 #define ENET0_TXD1_GPIO		(FUNC(3) | PORTF(4, 8) | SE | VE | PE)
-
 #define ENET0_TXD0		(FUNC(0) | PORTF(4, 7) | SE | VE | PE)
-
 #define ENET0_TXD0_GPIO		(FUNC(3) | PORTF(4, 7) | SE | VE | PE)
-
 #define ENET0_TX_EN		(FUNC(0) | PORTF(4, 6) | SE | VE | PE)
-
 #define ENET0_TX_EN_GPIO	(FUNC(3) | PORTF(4, 6) | SE | VE | PE)
-
 #define ENET0_TX_CLK		(FUNC(0) | PORTF(4, 5) | SE | VE | BK)
-
 #define ENET0_TX_CLK_GPIO	(FUNC(3) | PORTF(4, 5) | SE | VE | BK)
-
 #define ENET0_RXD1		(FUNC(0) | PORTF(4, 4) | SE | VE | PE)
 #define ENET0_RXD1_GPMI_READY4	(FUNC(1) | PORTF(4, 4) | SE | VE | PE)
 #define ENET0_RXD1_GPIO		(FUNC(3) | PORTF(4, 4) | SE | VE | PE)
-- 
1.7.5.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 4/4] mxs: Add remaining i.MX28 iomux configurations
  2012-03-26 17:29 [PATCH 0/4] mxs: iomux configuration improvements esben.haabendal
                   ` (2 preceding siblings ...)
  2012-03-26 17:29 ` [PATCH 3/4] mxs: Cleanup use of blank lines in i.MX28 iomux configurations esben.haabendal
@ 2012-03-26 17:29 ` esben.haabendal
  2012-04-02  8:12 ` [PATCH 0/4] mxs: iomux configuration improvements Sascha Hauer
  4 siblings, 0 replies; 7+ messages in thread
From: esben.haabendal @ 2012-03-26 17:29 UTC (permalink / raw)
  To: barebox; +Cc: Esben Haabendal

From: Esben Haabendal <esben.haabendal@gmail.com>

Signed-off-by: Esben Haabendal <esben.haabendal@prevas.dk>
---
 arch/arm/mach-mxs/include/mach/iomux-imx28.h |  124 ++++++++++++++++++++++++-
 1 files changed, 119 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-mxs/include/mach/iomux-imx28.h b/arch/arm/mach-mxs/include/mach/iomux-imx28.h
index 8eac71d..ea1c3d8 100644
--- a/arch/arm/mach-mxs/include/mach/iomux-imx28.h
+++ b/arch/arm/mach-mxs/include/mach/iomux-imx28.h
@@ -148,8 +148,16 @@
 #define LCD_ENABLE		(FUNC(0) | PORTF(1, 31) | SE | VE | BK)
 #define LCD_ENABLE_GPIO		(FUNC(3) | PORTF(1, 31) | SE | VE | BK)
 #define LCD_DOTCLK		(FUNC(0) | PORTF(1, 30) | SE | VE | BK)
+#define LCD_DOTCLK_SAIF1_MCLK	(FUNC(1) | PORTF(1, 30) | SE | VE | BK)
+#define LCD_DOTCLK_ETM_TCLK	(FUNC(2) | PORTF(1, 30) | SE | VE | BK)
+#define LCD_DOTCLK_GPIO		(FUNC(3) | PORTF(1, 30) | SE | VE | BK)
 #define LCD_HSYNC		(FUNC(0) | PORTF(1, 29) | SE | VE | BK)
+#define LCD_HSYNC_SAIF1_SDATA1	(FUNC(1) | PORTF(1, 29) | SE | VE | BK)
+#define LCD_HSYNC_ETM_TCTL	(FUNC(2) | PORTF(1, 29) | SE | VE | BK)
+#define LCD_HSYNC_GPIO		(FUNC(3) | PORTF(1, 29) | SE | VE | BK)
 #define LCD_VSYNC		(FUNC(0) | PORTF(1, 28) | SE | VE | BK)
+#define LCD_VSYNC_SAIF1_SDATA0	(FUNC(1) | PORTF(1, 28) | SE | VE | BK)
+#define LCD_VSYNC_GPIO		(FUNC(3) | PORTF(1, 28) | SE | VE | BK)
 #define LCD_CS			(FUNC(0) | PORTF(1, 27) | SE | VE | BK)
 #define LCD_CS_LCD_ENABLE	(FUNC(1) | PORTF(1, 27) | SE | VE | BK)
 #define LCD_CS_GPIO		(FUNC(3) | PORTF(1, 27) | SE | VE | BK)
@@ -165,13 +173,33 @@
 #define LCD_RD_E_ETM_TCTL	(FUNC(2) | PORTF(1, 24) | SE | VE | BK)
 #define LCD_RD_E_GPIO		(FUNC(3) | PORTF(1, 24) | SE | VE | BK)
 #define LCD_D23			(FUNC(0) | PORTF(1, 23) | SE | VE | BK)
+#define LCD_D23_ENET1_1588_EVENT3_IN (FUNC(1) | PORTF(1, 23) | SE | VE | BK)
+#define LCD_D23_ETM_DA0		(FUNC(2) | PORTF(1, 23) | SE | VE | BK)
+#define LCD_D23_GPIO		(FUNC(3) | PORTF(1, 23) | SE | VE | BK)
 #define LCD_D22			(FUNC(0) | PORTF(1, 22) | SE | VE | BK)
+#define LCD_D22_ENET1_1588_EVENT3_OUT (FUNC(1) | PORTF(1, 22) | SE | VE | BK)
+#define LCD_D22_ETM_DA1		(FUNC(2) | PORTF(1, 22) | SE | VE | BK)
+#define LCD_D22_GPIO		(FUNC(3) | PORTF(1, 22) | SE | VE | BK)
 #define LCD_D21			(FUNC(0) | PORTF(1, 21) | SE | VE | BK)
+#define LCD_D21_ENET1_1588_EVENT2_IN (FUNC(1) | PORTF(1, 21) | SE | VE | BK)
+#define LCD_D21_ETM_DA2		(FUNC(2) | PORTF(1, 21) | SE | VE | BK)
+#define LCD_D21_GPIO		(FUNC(3) | PORTF(1, 21) | SE | VE | BK)
 #define LCD_D20			(FUNC(0) | PORTF(1, 20) | SE | VE | BK)
+#define LCD_D20_ENET1_1588_EVENT2_OUT (FUNC(1) | PORTF(1, 20) | SE | VE | BK)
+#define LCD_D20_ETM_DA3		(FUNC(2) | PORTF(1, 20) | SE | VE | BK)
+#define LCD_D20_GPIO		(FUNC(3) | PORTF(1, 20) | SE | VE | BK)
 #define LCD_D19			(FUNC(0) | PORTF(1, 19) | SE | VE | BK)
+#define LCD_D19_ETM_DA4		(FUNC(2) | PORTF(1, 19) | SE | VE | BK)
+#define LCD_D19_GPIO		(FUNC(3) | PORTF(1, 19) | SE | VE | BK)
 #define LCD_D18			(FUNC(0) | PORTF(1, 18) | SE | VE | BK)
+#define LCD_D18_ETM_DA5		(FUNC(2) | PORTF(1, 18) | SE | VE | BK)
+#define LCD_D18_GPIO		(FUNC(3) | PORTF(1, 18) | SE | VE | BK)
 #define LCD_D17			(FUNC(0) | PORTF(1, 17) | SE | VE | BK)
+#define LCD_D17_ETM_DA6		(FUNC(2) | PORTF(1, 17) | SE | VE | BK)
+#define LCD_D17_GPIO		(FUNC(3) | PORTF(1, 17) | SE | VE | BK)
 #define LCD_D16			(FUNC(0) | PORTF(1, 16) | SE | VE | BK)
+#define LCD_D16_ETM_DA7		(FUNC(2) | PORTF(1, 16) | SE | VE | BK)
+#define LCD_D16_GPIO		(FUNC(3) | PORTF(1, 16) | SE | VE | BK)
 #define LCD_D15			(FUNC(0) | PORTF(1, 15) | SE | VE | BK)
 #define LCD_D15_ETM_DA15	(FUNC(2) | PORTF(1, 15) | SE | VE | BK)
 #define LCD_D15_GPIO		(FUNC(3) | PORTF(1, 15) | SE | VE | BK)
@@ -225,12 +253,47 @@
 #define LCD_D0_ETM_DA0		(FUNC(2) | PORTF(1, 0) | SE | VE | BK)
 #define LCD_D0_GPIO		(FUNC(3) | PORTF(1, 0) | SE | VE | BK)
 
-/* TODO */
-
 /* Bank 2, GPIO pins 64 ... 95 */
-
-/* TODO */
-
+#define SSP3_D3			(FUNC(0) | PORTF(2, 27) | SE | VE | PE)
+#define SSP3_D3_AUART4_CTS	(FUNC(1) | PORTF(2, 27) | SE | VE | PE)
+#define SSP3_D3_ENET1_1588_EVENT1_IN (FUNC(2) | PORTF(2, 27) | SE | VE | PE)
+#define SSP3_D3_GPIO		(FUNC(3) | PORTF(2, 27) | SE | VE | PE)
+#define SSP3_D0			(FUNC(0) | PORTF(2, 26) | SE | VE | PE)
+#define SSP3_D0_AUART4_RTS	(FUNC(1) | PORTF(2, 26) | SE | VE | PE)
+#define SSP3_D0_ENET1_1588_EVENT1_OUT (FUNC(2) | PORTF(2, 26) | SE | VE | PE)
+#define SSP3_D0_GPIO		(FUNC(3) | PORTF(2, 26) | SE | VE | PE)
+#define SSP3_CMD		(FUNC(0) | PORTF(2, 25) | SE | VE | PE)
+#define SSP3_CMD_AUART4_RX	(FUNC(1) | PORTF(2, 25) | SE | VE | PE)
+#define SSP3_CMD_ENET1_1588_EVENT0_IN (FUNC(2) | PORTF(2, 25) | SE | VE | PE)
+#define SSP3_CMD_GPIO		(FUNC(3) | PORTF(2, 25) | SE | VE | PE)
+#define SSP3_SCK		(FUNC(0) | PORTF(2, 24) | SE | VE | PE)
+#define SSP3_SCK_AUART4_TX	(FUNC(1) | PORTF(2, 24) | SE | VE | PE)
+#define SSP3_SCK_ENET1_1588_EVENT0_OUT (FUNC(2) | PORTF(2, 24) | SE | VE | PE)
+#define SSP3_SCK_GPIO		(FUNC(3) | PORTF(2, 24) | SE | VE | PE)
+#define SSP2_D5			(FUNC(0) | PORTF(2, 21) | SE | VE | PE)
+#define SSP2_D5_SSP2_D2		(FUNC(1) | PORTF(2, 21) | SE | VE | PE)
+#define SSP2_D5_USB0_OC		(FUNC(2) | PORTF(2, 21) | SE | VE | PE)
+#define SSP2_D5_GPIO		(FUNC(3) | PORTF(2, 21) | SE | VE | PE)
+#define SSP2_D4			(FUNC(0) | PORTF(2, 20) | SE | VE | PE)
+#define SSP2_D4_SSP2_D1		(FUNC(1) | PORTF(2, 20) | SE | VE | PE)
+#define SSP2_D4_USB1_OC		(FUNC(2) | PORTF(2, 20) | SE | VE | PE)
+#define SSP2_D4_GPIO		(FUNC(3) | PORTF(2, 20) | SE | VE | PE)
+#define SSP2_D3			(FUNC(0) | PORTF(2, 19) | SE | VE | PE)
+#define SSP2_D3_AUART3_TX	(FUNC(1) | PORTF(2, 19) | SE | VE | PE)
+#define SSP2_D3_SAIF1_SDATA2	(FUNC(2) | PORTF(2, 19) | SE | VE | PE)
+#define SSP2_D3_GPIO		(FUNC(3) | PORTF(2, 19) | SE | VE | PE)
+#define SSP2_D0			(FUNC(0) | PORTF(2, 18) | SE | VE | PE)
+#define SSP2_D0_AUART3_RX	(FUNC(1) | PORTF(2, 18) | SE | VE | PE)
+#define SSP2_D0_SAIF1_SDATA1	(FUNC(2) | PORTF(2, 18) | SE | VE | PE)
+#define SSP2_D0_GPIO		(FUNC(3) | PORTF(2, 18) | SE | VE | PE)
+#define SSP2_CMD		(FUNC(0) | PORTF(2, 17) | SE | VE | PE)
+#define SSP2_CMD_AUART2_TX	(FUNC(1) | PORTF(2, 17) | SE | VE | PE)
+#define SSP2_CMD_SAIF0_SDATA2	(FUNC(2) | PORTF(2, 17) | SE | VE | PE)
+#define SSP2_CMD_GPIO		(FUNC(3) | PORTF(2, 17) | SE | VE | PE)
+#define SSP2_SCK		(FUNC(0) | PORTF(2, 16) | SE | VE | PE)
+#define SSP2_SCK_AUART2_RX	(FUNC(1) | PORTF(2, 16) | SE | VE | PE)
+#define SSP2_SCK_SAIF0_SDATA1	(FUNC(2) | PORTF(2, 16) | SE | VE | PE)
+#define SSP2_SCK_GPIO		(FUNC(3) | PORTF(2, 16) | SE | VE | PE)
 #define SSP1_D3			(FUNC(0) | PORTF(2, 15) | SE | VE | PE)
 #define SSP1_D3_SSP2_D7		(FUNC(1) | PORTF(2, 15) | SE | VE | PE)
 #define SSP1_D3_ENET_1588_EVENT3_IN (FUNC(2) | PORTF(4, 15) | SE | VE | PE)
@@ -282,9 +345,45 @@
 #define PWM4_GPIO		(FUNC(3) | PORTF(3, 29))
 #define PWM3			(FUNC(0) | PORTF(3, 28))
 #define PWM3_GPIO		(FUNC(3) | PORTF(3, 28))
+#define SPDIF_TX		(FUNC(0) | PORTF(3, 27) | SE | VE | BK)
+#define SPDIF_TX_ENET1_RX_ER	(FUNC(2) | PORTF(3, 27) | SE | VE | BK)
+#define SPDIF_TX_GPIO		(FUNC(3) | PORTF(3, 27) | SE | VE | BK)
+#define SAIF1_SDATA0		(FUNC(0) | PORTF(3, 26) | SE | VE | BK)
+#define SAIF1_SDATA0_PWM7	(FUNC(1) | PORTF(3, 26) | SE | VE | BK)
+#define SAIF1_SDATA0_SAIF0_SDATA1 (FUNC(2) | PORTF(3, 26) | SE | VE | BK)
+#define SAIF1_SDATA0_GPIO	(FUNC(3) | PORTF(3, 26) | SE | VE | BK)
+#define I2C0_SDA		(FUNC(0) | PORTF(3, 25) | SE | VE | BK)
+#define I2C0_SDA_TIMROT_ROTARYB	(FUNC(1) | PORTF(3, 25) | SE | VE | BK)
+#define I2C0_SDA_DUART_TX	(FUNC(2) | PORTF(3, 25) | SE | VE | BK)
+#define I2C0_SDA_GPIO		(FUNC(3) | PORTF(3, 25) | SE | VE | BK)
+#define I2C0_SCL		(FUNC(0) | PORTF(3, 24) | SE | VE | BK)
+#define I2C0_SCL_TIMROT_ROTARYA	(FUNC(1) | PORTF(3, 24) | SE | VE | BK)
+#define I2C0_SCL_DUART_RX	(FUNC(2) | PORTF(3, 24) | SE | VE | BK)
+#define I2C0_SCL_GPIO		(FUNC(3) | PORTF(3, 24) | SE | VE | BK)
+#define SAIF0_SDATA0		(FUNC(0) | PORTF(3, 23) | SE | VE | BK)
+#define SAIF0_SDATA0_PWM6	(FUNC(1) | PORTF(3, 23) | SE | VE | BK)
+#define SAIF0_SDATA0_AUART4_TX	(FUNC(2) | PORTF(3, 23) | SE | VE | BK)
+#define SAIF0_SDATA0_GPIO	(FUNC(3) | PORTF(3, 23) | SE | VE | BK)
+#define SAIF0_BITCLK		(FUNC(0) | PORTF(3, 22) | SE | VE | BK)
+#define SAIF0_BITCLK_PWM5	(FUNC(1) | PORTF(3, 22) | SE | VE | BK)
+#define SAIF0_BITCLK_AUART4_RX	(FUNC(2) | PORTF(3, 22) | SE | VE | BK)
+#define SAIF0_BITCLK_GPIO	(FUNC(3) | PORTF(3, 22) | SE | VE | BK)
+#define SAIF0_LRCLK		(FUNC(0) | PORTF(3, 21) | SE | VE | BK)
+#define SAIF0_LRCLK_PWM4	(FUNC(1) | PORTF(3, 21) | SE | VE | BK)
+#define SAIF0_LRCLK_AUART4_RTS	(FUNC(2) | PORTF(3, 21) | SE | VE | BK)
+#define SAIF0_LRCLK_GPIO	(FUNC(3) | PORTF(3, 21) | SE | VE | BK)
+#define SAIF0_MCLK		(FUNC(0) | PORTF(3, 20) | SE | VE | BK)
+#define SAIF0_MCLK_PWM3		(FUNC(1) | PORTF(3, 20) | SE | VE | BK)
+#define SAIF0_MCLK_AUART4_CTS	(FUNC(2) | PORTF(3, 20) | SE | VE | BK)
+#define SAIF0_MCLK_GPIO		(FUNC(3) | PORTF(3, 20) | SE | VE | BK)
 #define PWM2			(FUNC(0) | PORTF(3, 18))
+#define PWM2_USB0_ID		(FUNC(1) | PORTF(3, 18))
+#define PWM2_USB1_OC		(FUNC(2) | PORTF(3, 18))
+#define PWM2_GPIO		(FUNC(3) | PORTF(3, 18))
 #define PWM1			(FUNC(0) | PORTF(3, 17))
+#define PWM1_I2C1_SDA		(FUNC(1) | PORTF(3, 17))
 #define PWM1_DUART_TX		(FUNC(2) | PORTF(3, 17))
+#define PWM1_GPIO		(FUNC(3) | PORTF(3, 17))
 #define PWM0			(FUNC(0) | PORTF(3, 16))
 #define PWM0_I2C1_SCL		(FUNC(1) | PORTF(3, 16))
 #define PWM0_DUART_RX		(FUNC(2) | PORTF(3, 16))
@@ -360,7 +459,13 @@
 #define ENET_CLK		(FUNC(0) | PORTF(4, 16) | SE | VE | BK)
 #define ENET_CLK_GPIO		(FUNC(3) | PORTF(4, 16) | SE | VE | BK)
 #define ENET0_CRS		(FUNC(0) | PORTF(4, 15) | SE | VE | BK)
+#define ENET0_CRS_ENET1_RX_EN	(FUNC(1) | PORTF(4, 15) | SE | VE | BK)
+#define ENET0_CRS_ENET0_1588_EVENT3_IN (FUNC(2) | PORTF(4, 15) | SE | VE | BK)
+#define ENET0_CRS_GPIO		(FUNC(3) | PORTF(4, 15) | SE | VE | BK)
 #define ENET0_COL		(FUNC(0) | PORTF(4, 14) | SE | VE | BK)
+#define ENET0_COL_ENET1_TX_EN	(FUNC(1) | PORTF(4, 14) | SE | VE | BK)
+#define ENET0_COL_1588_EVENT3_OUT (FUNC(2) | PORTF(4, 14) | SE | VE | BK)
+#define ENET0_COL_GPIO		(FUNC(3) | PORTF(4, 14) | SE | VE | BK)
 #define ENET0_RX_CLK		(FUNC(0) | PORTF(4, 13) | SE | VE | BK)
 #define ENET0_RX_CLK_RX_ER	(FUNC(1) | PORTF(4, 13) | SE | VE | BK)
 #define ENET0_RX_ENET0_1588_EVENT2_IN (FUNC(2) | PORTF(4, 13) | SE | VE | BK)
@@ -370,20 +475,29 @@
 #define ENET0_TXD3_ENET0_1588_EVENT1_IN (FUNC(2) | PORTF(4, 12) | SE | VE | BK)
 #define ENET0_TXD3_GPIO		(FUNC(3) | PORTF(4, 12) | SE | VE | BK)
 #define ENET0_TXD2		(FUNC(0) | PORTF(4, 11) | SE | VE | BK)
+#define ENET0_TXD2_ENET1_TXD0	(FUNC(1) | PORTF(4, 11) | SE | VE | BK)
+#define ENET0_TXD2_ENET0_1588_EVENT1_OUT (FUNC(2) | PORTF(4, 11) | SE | VE | BK)
 #define ENET0_TXD2_GPIO		(FUNC(3) | PORTF(4, 11) | SE | VE | BK)
 #define ENET0_RXD3		(FUNC(0) | PORTF(4, 10) | SE | VE | BK)
 #define ENET0_RXD3_ENET1_RXD1	(FUNC(1) | PORTF(4, 10) | SE | VE | BK)
 #define ENET0_RXD3_ENET0_1588_EVENT0_IN (FUNC(2) | PORTF(4, 10) | SE | VE | BK)
 #define ENET0_RXD3_GPIO		(FUNC(3) | PORTF(4, 10) | SE | VE | BK)
 #define ENET0_RXD2		(FUNC(0) | PORTF(4, 9) | SE | VE | BK)
+#define ENET0_RXD2_ENET1_RXD0	(FUNC(1) | PORTF(4, 9) | SE | VE | BK)
+#define ENET0_RXD2_ENET0_1588_EVENT0_OUT (FUNC(2) | PORTF(4, 9) | SE | VE | BK)
 #define ENET0_RXD2_GPIO		(FUNC(3) | PORTF(4, 9) | SE | VE | BK)
 #define ENET0_TXD1		(FUNC(0) | PORTF(4, 8) | SE | VE | PE)
+#define ENET0_TXD1_GPMI_READY7	(FUNC(1) | PORTF(4, 8) | SE | VE | PE)
 #define ENET0_TXD1_GPIO		(FUNC(3) | PORTF(4, 8) | SE | VE | PE)
 #define ENET0_TXD0		(FUNC(0) | PORTF(4, 7) | SE | VE | PE)
+#define ENET0_TXD0_GPMI_READY6	(FUNC(1) | PORTF(4, 7) | SE | VE | PE)
 #define ENET0_TXD0_GPIO		(FUNC(3) | PORTF(4, 7) | SE | VE | PE)
 #define ENET0_TX_EN		(FUNC(0) | PORTF(4, 6) | SE | VE | PE)
+#define ENET0_TX_EN_GPMI_READY5	(FUNC(1) | PORTF(4, 6) | SE | VE | PE)
 #define ENET0_TX_EN_GPIO	(FUNC(3) | PORTF(4, 6) | SE | VE | PE)
 #define ENET0_TX_CLK		(FUNC(0) | PORTF(4, 5) | SE | VE | BK)
+#define ENET0_TX_CLK_HSADC_TRIGGER (FUNC(1) | PORTF(4, 5) | SE | VE | BK)
+#define ENET0_TX_CLK_ENET0_1588_EVENT2_OUT (FUNC(2) | PORTF(4, 5) | SE | VE | BK)
 #define ENET0_TX_CLK_GPIO	(FUNC(3) | PORTF(4, 5) | SE | VE | BK)
 #define ENET0_RXD1		(FUNC(0) | PORTF(4, 4) | SE | VE | PE)
 #define ENET0_RXD1_GPMI_READY4	(FUNC(1) | PORTF(4, 4) | SE | VE | PE)
-- 
1.7.5.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] mxs: iomux configuration improvements
  2012-03-26 17:29 [PATCH 0/4] mxs: iomux configuration improvements esben.haabendal
                   ` (3 preceding siblings ...)
  2012-03-26 17:29 ` [PATCH 4/4] mxs: Add remaining " esben.haabendal
@ 2012-04-02  8:12 ` Sascha Hauer
  4 siblings, 0 replies; 7+ messages in thread
From: Sascha Hauer @ 2012-04-02  8:12 UTC (permalink / raw)
  To: esben.haabendal; +Cc: barebox

On Mon, Mar 26, 2012 at 07:29:03PM +0200, esben.haabendal@gmail.com wrote:
> From: Esben Haabendal <esben.haabendal@gmail.com>
> 
> These patches completes the iomux configuration definitions in
> iomux-imx28.h, fixes a bug for PWM3 pad configuration, and fixes
> support for using BITKEEPER(1) in pad configurations.
> 
> RFC: It might be better to just get rid of the split between BITKEEPER
> and PULLUP in definitions.  It clearly is a source for subtle bugs
> (setting PULLUP does not really do anything if the pad/function is
> actually defined as a keeper pad.  As for i.MX28 the reference manual
> is not very clear on which pads/functions have pullup instead of
> keeper, and I am not sure that the current defintions in barebox is in
> sync with the manual and/or the real world.  What do you think, should
> I make a patch unifying PULLUP and BITKEEPER.
> 
> Esben Haabendal (4):
>   mxs: Fix support for BITKEEPER() macro
>   mxs: Fix i.MX28 PWM3 iomux configuration
>   mxs: Cleanup use of blank lines in i.MX28 iomux configurations
>   mxs: Add remaining i.MX28 iomux configurations

Applied, thanks.

Sascha

> 
>  arch/arm/mach-mxs/include/mach/iomux-imx28.h |  163 +++++++++++++++++++-------
>  arch/arm/mach-mxs/iomux-imx.c                |    6 +
>  2 files changed, 126 insertions(+), 43 deletions(-)
> 
> -- 
> 1.7.5.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/4] mxs: Fix support for BITKEEPER() macro
  2012-03-26 17:29 ` [PATCH 1/4] mxs: Fix support for BITKEEPER() macro esben.haabendal
@ 2012-04-02  8:44   ` Sascha Hauer
  0 siblings, 0 replies; 7+ messages in thread
From: Sascha Hauer @ 2012-04-02  8:44 UTC (permalink / raw)
  To: esben.haabendal; +Cc: barebox, Esben Haabendal

Hi Esben,

On Mon, Mar 26, 2012 at 07:29:04PM +0200, esben.haabendal@gmail.com wrote:
> From: Esben Haabendal <esben.haabendal@gmail.com>
> 
> There was no check for BE, so any BITKEEPER(1) iomux configurations
> were not being applied.
> 
> Signed-off-by: Esben Haabendal <esben.haabendal@prevas.dk>
> ---
>  arch/arm/mach-mxs/iomux-imx.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-mxs/iomux-imx.c b/arch/arm/mach-mxs/iomux-imx.c
> index 3161a5d..6bcde03 100644
> --- a/arch/arm/mach-mxs/iomux-imx.c
> +++ b/arch/arm/mach-mxs/iomux-imx.c
> @@ -128,6 +128,12 @@ void imx_gpio_mode(uint32_t m)
>  				(GET_PULLUP(m) == 1 ? BIT_SET : BIT_CLR));
>  	}
>  
> +	if (BK_PRESENT(m)) {
> +		reg_offset = calc_pullup_reg(gpio_pin);
> +		writel(0x1 << (gpio_pin % 32), IMX_IOMUXC_BASE + reg_offset +
> +				(GET_BITKEEPER(m) == 1 ? BIT_SET : BIT_CLR));
> +	}

I just noticed this breaks i.MX23 support:

arch/arm/mach-mxs/iomux-imx.c: In function 'imx_gpio_mode':
arch/arm/mach-mxs/iomux-imx.c:131:2: warning: implicit declaration of function 'BK_PRESENT' [-Wimplicit-function-declaration]
arch/arm/mach-mxs/iomux-imx.c:133:3: warning: implicit declaration of function 'GET_BITKEEPER' [-Wimplicit-function-declaration]
arch/arm/mach-mxs/built-in.o: In function `imx_gpio_mode':
/home/sha/dude/barebox/barebox/arch/arm/mach-mxs/iomux-imx.c:131: undefined reference to `BK_PRESENT'
/home/sha/dude/barebox/barebox/arch/arm/mach-mxs/iomux-imx.c:133: undefined reference to `GET_BITKEEPER'
make: *** [barebox] Error 1


Care to send a fix for this? You can reproduce this using the
chumby_defconfig.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-04-02  8:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-26 17:29 [PATCH 0/4] mxs: iomux configuration improvements esben.haabendal
2012-03-26 17:29 ` [PATCH 1/4] mxs: Fix support for BITKEEPER() macro esben.haabendal
2012-04-02  8:44   ` Sascha Hauer
2012-03-26 17:29 ` [PATCH 2/4] mxs: Fix i.MX28 PWM3 iomux configuration esben.haabendal
2012-03-26 17:29 ` [PATCH 3/4] mxs: Cleanup use of blank lines in i.MX28 iomux configurations esben.haabendal
2012-03-26 17:29 ` [PATCH 4/4] mxs: Add remaining " esben.haabendal
2012-04-02  8:12 ` [PATCH 0/4] mxs: iomux configuration improvements Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox