All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-05-05  8:53 ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-05-05  8:53 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel, Igor Grinberg

cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 arch/arm/mach-omap2/Kconfig        |    2 +-
 arch/arm/mach-omap2/board-cm-t35.c |   62 +++++++++++++++++++++++++++---------
 2 files changed, 48 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b997a35..920b6bc 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -266,7 +266,7 @@ config MACH_OMAP_ZOOM3
 	select REGULATOR_FIXED_VOLTAGE
 
 config MACH_CM_T35
-	bool "CompuLab CM-T35 module"
+	bool "CompuLab CM-T35/CM-T3730 modules"
 	depends on ARCH_OMAP3
 	default y
 	select OMAP_PACKAGE_CUS
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 6063be8..c0f6ce0 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -524,7 +524,7 @@ static void __init cm_t35_init_early(void)
 }
 
 #ifdef CONFIG_OMAP_MUX
-static struct omap_board_mux board_mux[] __initdata = {
+static struct omap_board_mux cm_t35_common_board_mux[] __initdata = {
 	/* nCS and IRQ for CM-T35 ethernet */
 	OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
 	OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
@@ -580,17 +580,12 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
 
-	/* DSS */
+	/* common DSS */
 	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
+
 	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
@@ -603,12 +598,6 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 
 	/* display controls */
 	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -621,6 +610,39 @@ static struct omap_board_mux board_mux[] __initdata = {
 
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
+
+static void cm_t35_mux_init(void)
+{
+	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
+
+	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
+
+	if (cpu_is_omap34xx()) {
+		omap_mux_init_signal("gpio_70", mux_mode);
+		omap_mux_init_signal("gpio_71", mux_mode);
+		omap_mux_init_signal("gpio_72", mux_mode);
+		omap_mux_init_signal("gpio_73", mux_mode);
+		omap_mux_init_signal("gpio_74", mux_mode);
+		omap_mux_init_signal("gpio_75", mux_mode);
+	} else if (cpu_is_omap3630()) {
+		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
+		omap_mux_init_signal("sys_boot0", mux_mode);
+		omap_mux_init_signal("sys_boot1", mux_mode);
+		omap_mux_init_signal("sys_boot3", mux_mode);
+		omap_mux_init_signal("sys_boot4", mux_mode);
+		omap_mux_init_signal("sys_boot5", mux_mode);
+		omap_mux_init_signal("sys_boot6", mux_mode);
+	}
+
+	omap_mux_init_signal("dss_data18", mux_mode);
+	omap_mux_init_signal("dss_data19", mux_mode);
+	omap_mux_init_signal("dss_data20", mux_mode);
+	omap_mux_init_signal("dss_data21", mux_mode);
+	omap_mux_init_signal("dss_data22", mux_mode);
+	omap_mux_init_signal("dss_data23", mux_mode);
+}
+#else
+static inline void cm_t35_mux_init(void) {}
 #endif
 
 static struct omap_board_config_kernel cm_t35_config[] __initdata = {
@@ -630,7 +652,7 @@ static void __init cm_t35_init(void)
 {
 	omap_board_config = cm_t35_config;
 	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
-	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
+	cm_t35_mux_init();
 	omap_serial_init();
 	cm_t35_init_i2c();
 	cm_t35_init_nand();
@@ -652,3 +674,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
 	.init_machine	= cm_t35_init,
 	.timer		= &omap_timer,
 MACHINE_END
+
+MACHINE_START(CM_T3730, "Compulab CM-T3730")
+	.boot_params	= 0x80000100,
+	.reserve	= omap_reserve,
+	.map_io		= omap3_map_io,
+	.init_early	= cm_t35_init_early,
+	.init_irq	= omap_init_irq,
+	.init_machine	= cm_t35_init,
+	.timer		= &omap_timer,
+MACHINE_END
-- 
1.7.3.4


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

* [PATCH] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-05-05  8:53 ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-05-05  8:53 UTC (permalink / raw)
  To: linux-arm-kernel

cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 arch/arm/mach-omap2/Kconfig        |    2 +-
 arch/arm/mach-omap2/board-cm-t35.c |   62 +++++++++++++++++++++++++++---------
 2 files changed, 48 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b997a35..920b6bc 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -266,7 +266,7 @@ config MACH_OMAP_ZOOM3
 	select REGULATOR_FIXED_VOLTAGE
 
 config MACH_CM_T35
-	bool "CompuLab CM-T35 module"
+	bool "CompuLab CM-T35/CM-T3730 modules"
 	depends on ARCH_OMAP3
 	default y
 	select OMAP_PACKAGE_CUS
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 6063be8..c0f6ce0 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -524,7 +524,7 @@ static void __init cm_t35_init_early(void)
 }
 
 #ifdef CONFIG_OMAP_MUX
-static struct omap_board_mux board_mux[] __initdata = {
+static struct omap_board_mux cm_t35_common_board_mux[] __initdata = {
 	/* nCS and IRQ for CM-T35 ethernet */
 	OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
 	OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
@@ -580,17 +580,12 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
 
-	/* DSS */
+	/* common DSS */
 	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
+
 	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
@@ -603,12 +598,6 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 
 	/* display controls */
 	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -621,6 +610,39 @@ static struct omap_board_mux board_mux[] __initdata = {
 
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
+
+static void cm_t35_mux_init(void)
+{
+	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
+
+	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
+
+	if (cpu_is_omap34xx()) {
+		omap_mux_init_signal("gpio_70", mux_mode);
+		omap_mux_init_signal("gpio_71", mux_mode);
+		omap_mux_init_signal("gpio_72", mux_mode);
+		omap_mux_init_signal("gpio_73", mux_mode);
+		omap_mux_init_signal("gpio_74", mux_mode);
+		omap_mux_init_signal("gpio_75", mux_mode);
+	} else if (cpu_is_omap3630()) {
+		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
+		omap_mux_init_signal("sys_boot0", mux_mode);
+		omap_mux_init_signal("sys_boot1", mux_mode);
+		omap_mux_init_signal("sys_boot3", mux_mode);
+		omap_mux_init_signal("sys_boot4", mux_mode);
+		omap_mux_init_signal("sys_boot5", mux_mode);
+		omap_mux_init_signal("sys_boot6", mux_mode);
+	}
+
+	omap_mux_init_signal("dss_data18", mux_mode);
+	omap_mux_init_signal("dss_data19", mux_mode);
+	omap_mux_init_signal("dss_data20", mux_mode);
+	omap_mux_init_signal("dss_data21", mux_mode);
+	omap_mux_init_signal("dss_data22", mux_mode);
+	omap_mux_init_signal("dss_data23", mux_mode);
+}
+#else
+static inline void cm_t35_mux_init(void) {}
 #endif
 
 static struct omap_board_config_kernel cm_t35_config[] __initdata = {
@@ -630,7 +652,7 @@ static void __init cm_t35_init(void)
 {
 	omap_board_config = cm_t35_config;
 	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
-	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
+	cm_t35_mux_init();
 	omap_serial_init();
 	cm_t35_init_i2c();
 	cm_t35_init_nand();
@@ -652,3 +674,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
 	.init_machine	= cm_t35_init,
 	.timer		= &omap_timer,
 MACHINE_END
+
+MACHINE_START(CM_T3730, "Compulab CM-T3730")
+	.boot_params	= 0x80000100,
+	.reserve	= omap_reserve,
+	.map_io		= omap3_map_io,
+	.init_early	= cm_t35_init_early,
+	.init_irq	= omap_init_irq,
+	.init_machine	= cm_t35_init,
+	.timer		= &omap_timer,
+MACHINE_END
-- 
1.7.3.4

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

* Re: [PATCH] arm: omap3: cm-t35: add support for cm-t3730
  2011-05-05  8:53 ` Igor Grinberg
@ 2011-05-05  9:51   ` Mike Rapoport
  -1 siblings, 0 replies; 30+ messages in thread
From: Mike Rapoport @ 2011-05-05  9:51 UTC (permalink / raw)
  To: Igor Grinberg; +Cc: Tony Lindgren, linux-omap, linux-arm-kernel

On 05/05/11 11:53, Igor Grinberg wrote:
> cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
> assembled and therefore some changes are required.
> 
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> ---
>  arch/arm/mach-omap2/Kconfig        |    2 +-
>  arch/arm/mach-omap2/board-cm-t35.c |   62 +++++++++++++++++++++++++++---------
>  2 files changed, 48 insertions(+), 16 deletions(-)

Acked-by: Mike Rapoport <mike@compulab.co.il>

> 
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index b997a35..920b6bc 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -266,7 +266,7 @@ config MACH_OMAP_ZOOM3
>  	select REGULATOR_FIXED_VOLTAGE
>  
>  config MACH_CM_T35
> -	bool "CompuLab CM-T35 module"
> +	bool "CompuLab CM-T35/CM-T3730 modules"
>  	depends on ARCH_OMAP3
>  	default y
>  	select OMAP_PACKAGE_CUS
> diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
> index 6063be8..c0f6ce0 100644
> --- a/arch/arm/mach-omap2/board-cm-t35.c
> +++ b/arch/arm/mach-omap2/board-cm-t35.c
> @@ -524,7 +524,7 @@ static void __init cm_t35_init_early(void)
>  }
>  
>  #ifdef CONFIG_OMAP_MUX
> -static struct omap_board_mux board_mux[] __initdata = {
> +static struct omap_board_mux cm_t35_common_board_mux[] __initdata = {
>  	/* nCS and IRQ for CM-T35 ethernet */
>  	OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
>  	OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
> @@ -580,17 +580,12 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
>  
> -	/* DSS */
> +	/* common DSS */
>  	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> +
>  	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> @@ -603,12 +598,6 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  
>  	/* display controls */
>  	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
> @@ -621,6 +610,39 @@ static struct omap_board_mux board_mux[] __initdata = {
>  
>  	{ .reg_offset = OMAP_MUX_TERMINATOR },
>  };
> +
> +static void cm_t35_mux_init(void)
> +{
> +	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
> +
> +	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
> +
> +	if (cpu_is_omap34xx()) {
> +		omap_mux_init_signal("gpio_70", mux_mode);
> +		omap_mux_init_signal("gpio_71", mux_mode);
> +		omap_mux_init_signal("gpio_72", mux_mode);
> +		omap_mux_init_signal("gpio_73", mux_mode);
> +		omap_mux_init_signal("gpio_74", mux_mode);
> +		omap_mux_init_signal("gpio_75", mux_mode);
> +	} else if (cpu_is_omap3630()) {
> +		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
> +		omap_mux_init_signal("sys_boot0", mux_mode);
> +		omap_mux_init_signal("sys_boot1", mux_mode);
> +		omap_mux_init_signal("sys_boot3", mux_mode);
> +		omap_mux_init_signal("sys_boot4", mux_mode);
> +		omap_mux_init_signal("sys_boot5", mux_mode);
> +		omap_mux_init_signal("sys_boot6", mux_mode);
> +	}
> +
> +	omap_mux_init_signal("dss_data18", mux_mode);
> +	omap_mux_init_signal("dss_data19", mux_mode);
> +	omap_mux_init_signal("dss_data20", mux_mode);
> +	omap_mux_init_signal("dss_data21", mux_mode);
> +	omap_mux_init_signal("dss_data22", mux_mode);
> +	omap_mux_init_signal("dss_data23", mux_mode);
> +}
> +#else
> +static inline void cm_t35_mux_init(void) {}
>  #endif
>  
>  static struct omap_board_config_kernel cm_t35_config[] __initdata = {
> @@ -630,7 +652,7 @@ static void __init cm_t35_init(void)
>  {
>  	omap_board_config = cm_t35_config;
>  	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
> -	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
> +	cm_t35_mux_init();
>  	omap_serial_init();
>  	cm_t35_init_i2c();
>  	cm_t35_init_nand();
> @@ -652,3 +674,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
>  	.init_machine	= cm_t35_init,
>  	.timer		= &omap_timer,
>  MACHINE_END
> +
> +MACHINE_START(CM_T3730, "Compulab CM-T3730")
> +	.boot_params	= 0x80000100,
> +	.reserve	= omap_reserve,
> +	.map_io		= omap3_map_io,
> +	.init_early	= cm_t35_init_early,
> +	.init_irq	= omap_init_irq,
> +	.init_machine	= cm_t35_init,
> +	.timer		= &omap_timer,
> +MACHINE_END


-- 
Sincerely yours,
Mike.

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

* [PATCH] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-05-05  9:51   ` Mike Rapoport
  0 siblings, 0 replies; 30+ messages in thread
From: Mike Rapoport @ 2011-05-05  9:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 05/05/11 11:53, Igor Grinberg wrote:
> cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
> assembled and therefore some changes are required.
> 
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> ---
>  arch/arm/mach-omap2/Kconfig        |    2 +-
>  arch/arm/mach-omap2/board-cm-t35.c |   62 +++++++++++++++++++++++++++---------
>  2 files changed, 48 insertions(+), 16 deletions(-)

Acked-by: Mike Rapoport <mike@compulab.co.il>

> 
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index b997a35..920b6bc 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -266,7 +266,7 @@ config MACH_OMAP_ZOOM3
>  	select REGULATOR_FIXED_VOLTAGE
>  
>  config MACH_CM_T35
> -	bool "CompuLab CM-T35 module"
> +	bool "CompuLab CM-T35/CM-T3730 modules"
>  	depends on ARCH_OMAP3
>  	default y
>  	select OMAP_PACKAGE_CUS
> diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
> index 6063be8..c0f6ce0 100644
> --- a/arch/arm/mach-omap2/board-cm-t35.c
> +++ b/arch/arm/mach-omap2/board-cm-t35.c
> @@ -524,7 +524,7 @@ static void __init cm_t35_init_early(void)
>  }
>  
>  #ifdef CONFIG_OMAP_MUX
> -static struct omap_board_mux board_mux[] __initdata = {
> +static struct omap_board_mux cm_t35_common_board_mux[] __initdata = {
>  	/* nCS and IRQ for CM-T35 ethernet */
>  	OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
>  	OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
> @@ -580,17 +580,12 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
>  
> -	/* DSS */
> +	/* common DSS */
>  	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> +
>  	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> @@ -603,12 +598,6 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  
>  	/* display controls */
>  	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
> @@ -621,6 +610,39 @@ static struct omap_board_mux board_mux[] __initdata = {
>  
>  	{ .reg_offset = OMAP_MUX_TERMINATOR },
>  };
> +
> +static void cm_t35_mux_init(void)
> +{
> +	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
> +
> +	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
> +
> +	if (cpu_is_omap34xx()) {
> +		omap_mux_init_signal("gpio_70", mux_mode);
> +		omap_mux_init_signal("gpio_71", mux_mode);
> +		omap_mux_init_signal("gpio_72", mux_mode);
> +		omap_mux_init_signal("gpio_73", mux_mode);
> +		omap_mux_init_signal("gpio_74", mux_mode);
> +		omap_mux_init_signal("gpio_75", mux_mode);
> +	} else if (cpu_is_omap3630()) {
> +		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
> +		omap_mux_init_signal("sys_boot0", mux_mode);
> +		omap_mux_init_signal("sys_boot1", mux_mode);
> +		omap_mux_init_signal("sys_boot3", mux_mode);
> +		omap_mux_init_signal("sys_boot4", mux_mode);
> +		omap_mux_init_signal("sys_boot5", mux_mode);
> +		omap_mux_init_signal("sys_boot6", mux_mode);
> +	}
> +
> +	omap_mux_init_signal("dss_data18", mux_mode);
> +	omap_mux_init_signal("dss_data19", mux_mode);
> +	omap_mux_init_signal("dss_data20", mux_mode);
> +	omap_mux_init_signal("dss_data21", mux_mode);
> +	omap_mux_init_signal("dss_data22", mux_mode);
> +	omap_mux_init_signal("dss_data23", mux_mode);
> +}
> +#else
> +static inline void cm_t35_mux_init(void) {}
>  #endif
>  
>  static struct omap_board_config_kernel cm_t35_config[] __initdata = {
> @@ -630,7 +652,7 @@ static void __init cm_t35_init(void)
>  {
>  	omap_board_config = cm_t35_config;
>  	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
> -	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
> +	cm_t35_mux_init();
>  	omap_serial_init();
>  	cm_t35_init_i2c();
>  	cm_t35_init_nand();
> @@ -652,3 +674,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
>  	.init_machine	= cm_t35_init,
>  	.timer		= &omap_timer,
>  MACHINE_END
> +
> +MACHINE_START(CM_T3730, "Compulab CM-T3730")
> +	.boot_params	= 0x80000100,
> +	.reserve	= omap_reserve,
> +	.map_io		= omap3_map_io,
> +	.init_early	= cm_t35_init_early,
> +	.init_irq	= omap_init_irq,
> +	.init_machine	= cm_t35_init,
> +	.timer		= &omap_timer,
> +MACHINE_END


-- 
Sincerely yours,
Mike.

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

* [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
  2011-05-05  9:51   ` Mike Rapoport
@ 2011-05-08  7:20     ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-05-08  7:20 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel, Igor Grinberg

cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Mike Rapoport <mike@compulab.co.il>
---
v2:	Add debug uart entry

 arch/arm/mach-omap2/Kconfig                  |    2 +-
 arch/arm/mach-omap2/board-cm-t35.c           |   62 +++++++++++++++++++------
 arch/arm/plat-omap/include/plat/uncompress.h |    1 +
 3 files changed, 49 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b997a35..920b6bc 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -266,7 +266,7 @@ config MACH_OMAP_ZOOM3
 	select REGULATOR_FIXED_VOLTAGE
 
 config MACH_CM_T35
-	bool "CompuLab CM-T35 module"
+	bool "CompuLab CM-T35/CM-T3730 modules"
 	depends on ARCH_OMAP3
 	default y
 	select OMAP_PACKAGE_CUS
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 6063be8..c0f6ce0 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -524,7 +524,7 @@ static void __init cm_t35_init_early(void)
 }
 
 #ifdef CONFIG_OMAP_MUX
-static struct omap_board_mux board_mux[] __initdata = {
+static struct omap_board_mux cm_t35_common_board_mux[] __initdata = {
 	/* nCS and IRQ for CM-T35 ethernet */
 	OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
 	OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
@@ -580,17 +580,12 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
 
-	/* DSS */
+	/* common DSS */
 	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
+
 	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
@@ -603,12 +598,6 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 
 	/* display controls */
 	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -621,6 +610,39 @@ static struct omap_board_mux board_mux[] __initdata = {
 
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
+
+static void cm_t35_mux_init(void)
+{
+	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
+
+	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
+
+	if (cpu_is_omap34xx()) {
+		omap_mux_init_signal("gpio_70", mux_mode);
+		omap_mux_init_signal("gpio_71", mux_mode);
+		omap_mux_init_signal("gpio_72", mux_mode);
+		omap_mux_init_signal("gpio_73", mux_mode);
+		omap_mux_init_signal("gpio_74", mux_mode);
+		omap_mux_init_signal("gpio_75", mux_mode);
+	} else if (cpu_is_omap3630()) {
+		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
+		omap_mux_init_signal("sys_boot0", mux_mode);
+		omap_mux_init_signal("sys_boot1", mux_mode);
+		omap_mux_init_signal("sys_boot3", mux_mode);
+		omap_mux_init_signal("sys_boot4", mux_mode);
+		omap_mux_init_signal("sys_boot5", mux_mode);
+		omap_mux_init_signal("sys_boot6", mux_mode);
+	}
+
+	omap_mux_init_signal("dss_data18", mux_mode);
+	omap_mux_init_signal("dss_data19", mux_mode);
+	omap_mux_init_signal("dss_data20", mux_mode);
+	omap_mux_init_signal("dss_data21", mux_mode);
+	omap_mux_init_signal("dss_data22", mux_mode);
+	omap_mux_init_signal("dss_data23", mux_mode);
+}
+#else
+static inline void cm_t35_mux_init(void) {}
 #endif
 
 static struct omap_board_config_kernel cm_t35_config[] __initdata = {
@@ -630,7 +652,7 @@ static void __init cm_t35_init(void)
 {
 	omap_board_config = cm_t35_config;
 	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
-	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
+	cm_t35_mux_init();
 	omap_serial_init();
 	cm_t35_init_i2c();
 	cm_t35_init_nand();
@@ -652,3 +674,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
 	.init_machine	= cm_t35_init,
 	.timer		= &omap_timer,
 MACHINE_END
+
+MACHINE_START(CM_T3730, "Compulab CM-T3730")
+	.boot_params	= 0x80000100,
+	.reserve	= omap_reserve,
+	.map_io		= omap3_map_io,
+	.init_early	= cm_t35_init_early,
+	.init_irq	= omap_init_irq,
+	.init_machine	= cm_t35_init,
+	.timer		= &omap_timer,
+MACHINE_END
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
index 30b891c..1fdabe0 100644
--- a/arch/arm/plat-omap/include/plat/uncompress.h
+++ b/arch/arm/plat-omap/include/plat/uncompress.h
@@ -149,6 +149,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
 		/* omap3 based boards using UART3 */
 		DEBUG_LL_OMAP3(3, cm_t35);
 		DEBUG_LL_OMAP3(3, cm_t3517);
+		DEBUG_LL_OMAP3(3, cm_t3730);
 		DEBUG_LL_OMAP3(3, craneboard);
 		DEBUG_LL_OMAP3(3, devkit8000);
 		DEBUG_LL_OMAP3(3, igep0020);
-- 
1.7.3.4


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

* [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-05-08  7:20     ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-05-08  7:20 UTC (permalink / raw)
  To: linux-arm-kernel

cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Mike Rapoport <mike@compulab.co.il>
---
v2:	Add debug uart entry

 arch/arm/mach-omap2/Kconfig                  |    2 +-
 arch/arm/mach-omap2/board-cm-t35.c           |   62 +++++++++++++++++++------
 arch/arm/plat-omap/include/plat/uncompress.h |    1 +
 3 files changed, 49 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b997a35..920b6bc 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -266,7 +266,7 @@ config MACH_OMAP_ZOOM3
 	select REGULATOR_FIXED_VOLTAGE
 
 config MACH_CM_T35
-	bool "CompuLab CM-T35 module"
+	bool "CompuLab CM-T35/CM-T3730 modules"
 	depends on ARCH_OMAP3
 	default y
 	select OMAP_PACKAGE_CUS
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 6063be8..c0f6ce0 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -524,7 +524,7 @@ static void __init cm_t35_init_early(void)
 }
 
 #ifdef CONFIG_OMAP_MUX
-static struct omap_board_mux board_mux[] __initdata = {
+static struct omap_board_mux cm_t35_common_board_mux[] __initdata = {
 	/* nCS and IRQ for CM-T35 ethernet */
 	OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
 	OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
@@ -580,17 +580,12 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
 
-	/* DSS */
+	/* common DSS */
 	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
+
 	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
@@ -603,12 +598,6 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 
 	/* display controls */
 	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -621,6 +610,39 @@ static struct omap_board_mux board_mux[] __initdata = {
 
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
+
+static void cm_t35_mux_init(void)
+{
+	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
+
+	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
+
+	if (cpu_is_omap34xx()) {
+		omap_mux_init_signal("gpio_70", mux_mode);
+		omap_mux_init_signal("gpio_71", mux_mode);
+		omap_mux_init_signal("gpio_72", mux_mode);
+		omap_mux_init_signal("gpio_73", mux_mode);
+		omap_mux_init_signal("gpio_74", mux_mode);
+		omap_mux_init_signal("gpio_75", mux_mode);
+	} else if (cpu_is_omap3630()) {
+		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
+		omap_mux_init_signal("sys_boot0", mux_mode);
+		omap_mux_init_signal("sys_boot1", mux_mode);
+		omap_mux_init_signal("sys_boot3", mux_mode);
+		omap_mux_init_signal("sys_boot4", mux_mode);
+		omap_mux_init_signal("sys_boot5", mux_mode);
+		omap_mux_init_signal("sys_boot6", mux_mode);
+	}
+
+	omap_mux_init_signal("dss_data18", mux_mode);
+	omap_mux_init_signal("dss_data19", mux_mode);
+	omap_mux_init_signal("dss_data20", mux_mode);
+	omap_mux_init_signal("dss_data21", mux_mode);
+	omap_mux_init_signal("dss_data22", mux_mode);
+	omap_mux_init_signal("dss_data23", mux_mode);
+}
+#else
+static inline void cm_t35_mux_init(void) {}
 #endif
 
 static struct omap_board_config_kernel cm_t35_config[] __initdata = {
@@ -630,7 +652,7 @@ static void __init cm_t35_init(void)
 {
 	omap_board_config = cm_t35_config;
 	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
-	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
+	cm_t35_mux_init();
 	omap_serial_init();
 	cm_t35_init_i2c();
 	cm_t35_init_nand();
@@ -652,3 +674,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
 	.init_machine	= cm_t35_init,
 	.timer		= &omap_timer,
 MACHINE_END
+
+MACHINE_START(CM_T3730, "Compulab CM-T3730")
+	.boot_params	= 0x80000100,
+	.reserve	= omap_reserve,
+	.map_io		= omap3_map_io,
+	.init_early	= cm_t35_init_early,
+	.init_irq	= omap_init_irq,
+	.init_machine	= cm_t35_init,
+	.timer		= &omap_timer,
+MACHINE_END
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
index 30b891c..1fdabe0 100644
--- a/arch/arm/plat-omap/include/plat/uncompress.h
+++ b/arch/arm/plat-omap/include/plat/uncompress.h
@@ -149,6 +149,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
 		/* omap3 based boards using UART3 */
 		DEBUG_LL_OMAP3(3, cm_t35);
 		DEBUG_LL_OMAP3(3, cm_t3517);
+		DEBUG_LL_OMAP3(3, cm_t3730);
 		DEBUG_LL_OMAP3(3, craneboard);
 		DEBUG_LL_OMAP3(3, devkit8000);
 		DEBUG_LL_OMAP3(3, igep0020);
-- 
1.7.3.4

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

* Re: [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
  2011-05-08  7:20     ` Igor Grinberg
@ 2011-05-31 13:04       ` Tony Lindgren
  -1 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-05-31 13:04 UTC (permalink / raw)
  To: Igor Grinberg; +Cc: linux-omap, linux-arm-kernel

* Igor Grinberg <grinberg@compulab.co.il> [110508 00:17]:
> cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
> assembled and therefore some changes are required.

> +static void cm_t35_mux_init(void)
> +{
> +	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
> +
> +	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
> +
> +	if (cpu_is_omap34xx()) {
> +		omap_mux_init_signal("gpio_70", mux_mode);
> +		omap_mux_init_signal("gpio_71", mux_mode);
> +		omap_mux_init_signal("gpio_72", mux_mode);
> +		omap_mux_init_signal("gpio_73", mux_mode);
> +		omap_mux_init_signal("gpio_74", mux_mode);
> +		omap_mux_init_signal("gpio_75", mux_mode);
> +	} else if (cpu_is_omap3630()) {
> +		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
> +		omap_mux_init_signal("sys_boot0", mux_mode);
> +		omap_mux_init_signal("sys_boot1", mux_mode);
> +		omap_mux_init_signal("sys_boot3", mux_mode);
> +		omap_mux_init_signal("sys_boot4", mux_mode);
> +		omap_mux_init_signal("sys_boot5", mux_mode);
> +		omap_mux_init_signal("sys_boot6", mux_mode);
> +	}
> +
> +	omap_mux_init_signal("dss_data18", mux_mode);
> +	omap_mux_init_signal("dss_data19", mux_mode);
> +	omap_mux_init_signal("dss_data20", mux_mode);
> +	omap_mux_init_signal("dss_data21", mux_mode);
> +	omap_mux_init_signal("dss_data22", mux_mode);
> +	omap_mux_init_signal("dss_data23", mux_mode);
> +}
> +#else
> +static inline void cm_t35_mux_init(void) {}
>  #endif

Should this cpu_is_omap if else done once and then set
some data based on it? That would be better if you need to
use it for detection for other things later on as it will
avoid multiple cpu_is/machine_is if else lines of code.

Regards,

Tony

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

* [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-05-31 13:04       ` Tony Lindgren
  0 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-05-31 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

* Igor Grinberg <grinberg@compulab.co.il> [110508 00:17]:
> cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
> assembled and therefore some changes are required.

> +static void cm_t35_mux_init(void)
> +{
> +	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
> +
> +	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
> +
> +	if (cpu_is_omap34xx()) {
> +		omap_mux_init_signal("gpio_70", mux_mode);
> +		omap_mux_init_signal("gpio_71", mux_mode);
> +		omap_mux_init_signal("gpio_72", mux_mode);
> +		omap_mux_init_signal("gpio_73", mux_mode);
> +		omap_mux_init_signal("gpio_74", mux_mode);
> +		omap_mux_init_signal("gpio_75", mux_mode);
> +	} else if (cpu_is_omap3630()) {
> +		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
> +		omap_mux_init_signal("sys_boot0", mux_mode);
> +		omap_mux_init_signal("sys_boot1", mux_mode);
> +		omap_mux_init_signal("sys_boot3", mux_mode);
> +		omap_mux_init_signal("sys_boot4", mux_mode);
> +		omap_mux_init_signal("sys_boot5", mux_mode);
> +		omap_mux_init_signal("sys_boot6", mux_mode);
> +	}
> +
> +	omap_mux_init_signal("dss_data18", mux_mode);
> +	omap_mux_init_signal("dss_data19", mux_mode);
> +	omap_mux_init_signal("dss_data20", mux_mode);
> +	omap_mux_init_signal("dss_data21", mux_mode);
> +	omap_mux_init_signal("dss_data22", mux_mode);
> +	omap_mux_init_signal("dss_data23", mux_mode);
> +}
> +#else
> +static inline void cm_t35_mux_init(void) {}
>  #endif

Should this cpu_is_omap if else done once and then set
some data based on it? That would be better if you need to
use it for detection for other things later on as it will
avoid multiple cpu_is/machine_is if else lines of code.

Regards,

Tony

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

* Re: [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
  2011-05-31 13:04       ` Tony Lindgren
@ 2011-06-03 13:37         ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-03 13:37 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel

Hi Tony,


On 05/31/11 16:04, Tony Lindgren wrote:

> * Igor Grinberg <grinberg@compulab.co.il> [110508 00:17]:
>> cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
>> assembled and therefore some changes are required.
>> +static void cm_t35_mux_init(void)
>> +{
>> +	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
>> +
>> +	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
>> +
>> +	if (cpu_is_omap34xx()) {
>> +		omap_mux_init_signal("gpio_70", mux_mode);
>> +		omap_mux_init_signal("gpio_71", mux_mode);
>> +		omap_mux_init_signal("gpio_72", mux_mode);
>> +		omap_mux_init_signal("gpio_73", mux_mode);
>> +		omap_mux_init_signal("gpio_74", mux_mode);
>> +		omap_mux_init_signal("gpio_75", mux_mode);
>> +	} else if (cpu_is_omap3630()) {
>> +		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
>> +		omap_mux_init_signal("sys_boot0", mux_mode);
>> +		omap_mux_init_signal("sys_boot1", mux_mode);
>> +		omap_mux_init_signal("sys_boot3", mux_mode);
>> +		omap_mux_init_signal("sys_boot4", mux_mode);
>> +		omap_mux_init_signal("sys_boot5", mux_mode);
>> +		omap_mux_init_signal("sys_boot6", mux_mode);
>> +	}
>> +
>> +	omap_mux_init_signal("dss_data18", mux_mode);
>> +	omap_mux_init_signal("dss_data19", mux_mode);
>> +	omap_mux_init_signal("dss_data20", mux_mode);
>> +	omap_mux_init_signal("dss_data21", mux_mode);
>> +	omap_mux_init_signal("dss_data22", mux_mode);
>> +	omap_mux_init_signal("dss_data23", mux_mode);
>> +}
>> +#else
>> +static inline void cm_t35_mux_init(void) {}
>>  #endif
> Should this cpu_is_omap if else done once and then set
> some data based on it? That would be better if you need to
> use it for detection for other things later on as it will
> avoid multiple cpu_is/machine_is if else lines of code.

I'm not sure I understand what are you trying to propose here...
If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
statement currently present.
(I can remove the "if (cpu_is_omap3630())" - it indeed has no value)

Indeed, there will be some other differences...
Each time I submit a patch, I try to be as optimal as I can,
but again I'm open for suggestions...
(though I think it is optimal, e.g. 33 lines for a new running board...)

-- 
Regards,
Igor.


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

* [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-03 13:37         ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-03 13:37 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Tony,


On 05/31/11 16:04, Tony Lindgren wrote:

> * Igor Grinberg <grinberg@compulab.co.il> [110508 00:17]:
>> cm-t3730 is basically the same board as cm-t35, but has DM3730 SoC
>> assembled and therefore some changes are required.
>> +static void cm_t35_mux_init(void)
>> +{
>> +	int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
>> +
>> +	omap3_mux_init(cm_t35_common_board_mux, OMAP_PACKAGE_CUS);
>> +
>> +	if (cpu_is_omap34xx()) {
>> +		omap_mux_init_signal("gpio_70", mux_mode);
>> +		omap_mux_init_signal("gpio_71", mux_mode);
>> +		omap_mux_init_signal("gpio_72", mux_mode);
>> +		omap_mux_init_signal("gpio_73", mux_mode);
>> +		omap_mux_init_signal("gpio_74", mux_mode);
>> +		omap_mux_init_signal("gpio_75", mux_mode);
>> +	} else if (cpu_is_omap3630()) {
>> +		mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
>> +		omap_mux_init_signal("sys_boot0", mux_mode);
>> +		omap_mux_init_signal("sys_boot1", mux_mode);
>> +		omap_mux_init_signal("sys_boot3", mux_mode);
>> +		omap_mux_init_signal("sys_boot4", mux_mode);
>> +		omap_mux_init_signal("sys_boot5", mux_mode);
>> +		omap_mux_init_signal("sys_boot6", mux_mode);
>> +	}
>> +
>> +	omap_mux_init_signal("dss_data18", mux_mode);
>> +	omap_mux_init_signal("dss_data19", mux_mode);
>> +	omap_mux_init_signal("dss_data20", mux_mode);
>> +	omap_mux_init_signal("dss_data21", mux_mode);
>> +	omap_mux_init_signal("dss_data22", mux_mode);
>> +	omap_mux_init_signal("dss_data23", mux_mode);
>> +}
>> +#else
>> +static inline void cm_t35_mux_init(void) {}
>>  #endif
> Should this cpu_is_omap if else done once and then set
> some data based on it? That would be better if you need to
> use it for detection for other things later on as it will
> avoid multiple cpu_is/machine_is if else lines of code.

I'm not sure I understand what are you trying to propose here...
If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
statement currently present.
(I can remove the "if (cpu_is_omap3630())" - it indeed has no value)

Indeed, there will be some other differences...
Each time I submit a patch, I try to be as optimal as I can,
but again I'm open for suggestions...
(though I think it is optimal, e.g. 33 lines for a new running board...)

-- 
Regards,
Igor.

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

* Re: [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-03 13:37         ` Igor Grinberg
@ 2011-06-13 13:33           ` Tony Lindgren
  -1 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-06-13 13:33 UTC (permalink / raw)
  To: Igor Grinberg; +Cc: linux-omap, linux-arm-kernel

* Igor Grinberg <grinberg@compulab.co.il> [110603 06:33]:
> 
> I'm not sure I understand what are you trying to propose here...
> If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
> statement currently present.
> (I can remove the "if (cpu_is_omap3630())" - it indeed has no value)
>
> Indeed, there will be some other differences...
> Each time I submit a patch, I try to be as optimal as I can,
> but again I'm open for suggestions...
> (though I think it is optimal, e.g. 33 lines for a new running board...)

What I meant is that maybe you should do the detection first in some
get_revision function and populate the gpio pins there. Sort of like
this recent beagle patch:

https://patchwork.kernel.org/patch/859662/

That way adding support for other differences will be easier.

Regards,

Tony

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

* [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-13 13:33           ` Tony Lindgren
  0 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-06-13 13:33 UTC (permalink / raw)
  To: linux-arm-kernel

* Igor Grinberg <grinberg@compulab.co.il> [110603 06:33]:
> 
> I'm not sure I understand what are you trying to propose here...
> If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
> statement currently present.
> (I can remove the "if (cpu_is_omap3630())" - it indeed has no value)
>
> Indeed, there will be some other differences...
> Each time I submit a patch, I try to be as optimal as I can,
> but again I'm open for suggestions...
> (though I think it is optimal, e.g. 33 lines for a new running board...)

What I meant is that maybe you should do the detection first in some
get_revision function and populate the gpio pins there. Sort of like
this recent beagle patch:

https://patchwork.kernel.org/patch/859662/

That way adding support for other differences will be easier.

Regards,

Tony

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

* Re: [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-13 13:33           ` Tony Lindgren
@ 2011-06-13 19:34             ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-13 19:34 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel

On 06/13/11 16:33, Tony Lindgren wrote:
> * Igor Grinberg <grinberg@compulab.co.il> [110603 06:33]:
>> I'm not sure I understand what are you trying to propose here...
>> If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
>> statement currently present.
>> (I can remove the "if (cpu_is_omap3630())" - it indeed has no value)
>>
>> Indeed, there will be some other differences...
>> Each time I submit a patch, I try to be as optimal as I can,
>> but again I'm open for suggestions...
>> (though I think it is optimal, e.g. 33 lines for a new running board...)
> What I meant is that maybe you should do the detection first in some
> get_revision function and populate the gpio pins there. Sort of like
> this recent beagle patch:
>
> https://patchwork.kernel.org/patch/859662/

Yes I've seen this patch (actually, I was one of the people who reviewed it).

> That way adding support for other differences will be easier.

OK, now I understand what you mean.
I think currently this is not optimal for cm-t35/3730 and will just complicate
things and introduce more l-o-c.

The situation on beagle board is much more complicated then on cm-t3x.
Beagle has quite a large number of revisions,
while cm-t35 has only one and cm-t3730 has only one.
Moreover, there is no difference in gpios - same numbers are used
for the same functionality.

In particular the only two differences (that s/w cares about) between the boards are:
1) mux of the DSS pins
2) no NAND on cm-t3730 (still not introduced by the patch in subj)

Nevertheless, I will try to come up with something,
so we can see and decide what is a better option.

I will base it on your devel-board branch
(correct me if you want it some other way).


-- 
Regards,
Igor.


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

* [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-13 19:34             ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-13 19:34 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/13/11 16:33, Tony Lindgren wrote:
> * Igor Grinberg <grinberg@compulab.co.il> [110603 06:33]:
>> I'm not sure I understand what are you trying to propose here...
>> If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
>> statement currently present.
>> (I can remove the "if (cpu_is_omap3630())" - it indeed has no value)
>>
>> Indeed, there will be some other differences...
>> Each time I submit a patch, I try to be as optimal as I can,
>> but again I'm open for suggestions...
>> (though I think it is optimal, e.g. 33 lines for a new running board...)
> What I meant is that maybe you should do the detection first in some
> get_revision function and populate the gpio pins there. Sort of like
> this recent beagle patch:
>
> https://patchwork.kernel.org/patch/859662/

Yes I've seen this patch (actually, I was one of the people who reviewed it).

> That way adding support for other differences will be easier.

OK, now I understand what you mean.
I think currently this is not optimal for cm-t35/3730 and will just complicate
things and introduce more l-o-c.

The situation on beagle board is much more complicated then on cm-t3x.
Beagle has quite a large number of revisions,
while cm-t35 has only one and cm-t3730 has only one.
Moreover, there is no difference in gpios - same numbers are used
for the same functionality.

In particular the only two differences (that s/w cares about) between the boards are:
1) mux of the DSS pins
2) no NAND on cm-t3730 (still not introduced by the patch in subj)

Nevertheless, I will try to come up with something,
so we can see and decide what is a better option.

I will base it on your devel-board branch
(correct me if you want it some other way).


-- 
Regards,
Igor.

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

* Re: [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-13 19:34             ` Igor Grinberg
@ 2011-06-14  7:36               ` Tony Lindgren
  -1 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-06-14  7:36 UTC (permalink / raw)
  To: Igor Grinberg; +Cc: linux-omap, linux-arm-kernel

* Igor Grinberg <grinberg@compulab.co.il> [110613 12:30]:
> On 06/13/11 16:33, Tony Lindgren wrote:
> > * Igor Grinberg <grinberg@compulab.co.il> [110603 06:33]:
> >> I'm not sure I understand what are you trying to propose here...
> >> If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
> >> statement currently present.
> >> (I can remove the "if (cpu_is_omap3630())" - it indeed has no value)
> >>
> >> Indeed, there will be some other differences...
> >> Each time I submit a patch, I try to be as optimal as I can,
> >> but again I'm open for suggestions...
> >> (though I think it is optimal, e.g. 33 lines for a new running board...)
> > What I meant is that maybe you should do the detection first in some
> > get_revision function and populate the gpio pins there. Sort of like
> > this recent beagle patch:
> >
> > https://patchwork.kernel.org/patch/859662/
> 
> Yes I've seen this patch (actually, I was one of the people who reviewed it).
> 
> > That way adding support for other differences will be easier.
> 
> OK, now I understand what you mean.
> I think currently this is not optimal for cm-t35/3730 and will just complicate
> things and introduce more l-o-c.
> 
> The situation on beagle board is much more complicated then on cm-t3x.
> Beagle has quite a large number of revisions,
> while cm-t35 has only one and cm-t3730 has only one.
> Moreover, there is no difference in gpios - same numbers are used
> for the same functionality.
> 
> In particular the only two differences (that s/w cares about) between the boards are:
> 1) mux of the DSS pins
> 2) no NAND on cm-t3730 (still not introduced by the patch in subj)
> 
> Nevertheless, I will try to come up with something,
> so we can see and decide what is a better option.

OK if the differences are minimal, then it's up to you to which way
you want to patch it: )
 
> I will base it on your devel-board branch
> (correct me if you want it some other way).

That's good thanks.

Regards,

Tony

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

* [PATCH v2] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-14  7:36               ` Tony Lindgren
  0 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-06-14  7:36 UTC (permalink / raw)
  To: linux-arm-kernel

* Igor Grinberg <grinberg@compulab.co.il> [110613 12:30]:
> On 06/13/11 16:33, Tony Lindgren wrote:
> > * Igor Grinberg <grinberg@compulab.co.il> [110603 06:33]:
> >> I'm not sure I understand what are you trying to propose here...
> >> If you look once again on the code, there is currently only one if (cpu_is_..) {} else {}
> >> statement currently present.
> >> (I can remove the "if (cpu_is_omap3630())" - it indeed has no value)
> >>
> >> Indeed, there will be some other differences...
> >> Each time I submit a patch, I try to be as optimal as I can,
> >> but again I'm open for suggestions...
> >> (though I think it is optimal, e.g. 33 lines for a new running board...)
> > What I meant is that maybe you should do the detection first in some
> > get_revision function and populate the gpio pins there. Sort of like
> > this recent beagle patch:
> >
> > https://patchwork.kernel.org/patch/859662/
> 
> Yes I've seen this patch (actually, I was one of the people who reviewed it).
> 
> > That way adding support for other differences will be easier.
> 
> OK, now I understand what you mean.
> I think currently this is not optimal for cm-t35/3730 and will just complicate
> things and introduce more l-o-c.
> 
> The situation on beagle board is much more complicated then on cm-t3x.
> Beagle has quite a large number of revisions,
> while cm-t35 has only one and cm-t3730 has only one.
> Moreover, there is no difference in gpios - same numbers are used
> for the same functionality.
> 
> In particular the only two differences (that s/w cares about) between the boards are:
> 1) mux of the DSS pins
> 2) no NAND on cm-t3730 (still not introduced by the patch in subj)
> 
> Nevertheless, I will try to come up with something,
> so we can see and decide what is a better option.

OK if the differences are minimal, then it's up to you to which way
you want to patch it: )
 
> I will base it on your devel-board branch
> (correct me if you want it some other way).

That's good thanks.

Regards,

Tony

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

* [PATCH 1/3] arm: omap3: cm-t35: minor comments fixes
  2011-06-14  7:36               ` Tony Lindgren
@ 2011-06-14 21:16                 ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-14 21:16 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel, Mike Rapoport, Igor Grinberg

Update authors and copyright, remove Free S/W Foundation postal address,
fix offsets of NAND partitions in comments.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 arch/arm/mach-omap2/board-cm-t35.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 77456de..6c5881b 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -1,8 +1,9 @@
 /*
  * board-cm-t35.c (CompuLab CM-T35 module)
  *
- * Copyright (C) 2009 CompuLab, Ltd.
- * Author: Mike Rapoport <mike@compulab.co.il>
+ * Copyright (C) 2009-2011 CompuLab, Ltd.
+ * Authors: Mike Rapoport <mike@compulab.co.il>
+ *	    Igor Grinberg <grinberg@compulab.co.il>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -13,11 +14,6 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
  */
 
 #include <linux/kernel.h>
@@ -149,12 +145,12 @@ static struct mtd_partition cm_t35_nand_partitions[] = {
 	},
 	{
 		.name           = "linux",
-		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x280000 */
+		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x2A0000 */
 		.size           = 32 * NAND_BLOCK_SIZE,
 	},
 	{
 		.name           = "rootfs",
-		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x680000 */
+		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x6A0000 */
 		.size           = MTDPART_SIZ_FULL,
 	},
 };
-- 
1.7.3.4


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

* [PATCH 1/3] arm: omap3: cm-t35: minor comments fixes
@ 2011-06-14 21:16                 ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-14 21:16 UTC (permalink / raw)
  To: linux-arm-kernel

Update authors and copyright, remove Free S/W Foundation postal address,
fix offsets of NAND partitions in comments.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 arch/arm/mach-omap2/board-cm-t35.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 77456de..6c5881b 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -1,8 +1,9 @@
 /*
  * board-cm-t35.c (CompuLab CM-T35 module)
  *
- * Copyright (C) 2009 CompuLab, Ltd.
- * Author: Mike Rapoport <mike@compulab.co.il>
+ * Copyright (C) 2009-2011 CompuLab, Ltd.
+ * Authors: Mike Rapoport <mike@compulab.co.il>
+ *	    Igor Grinberg <grinberg@compulab.co.il>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -13,11 +14,6 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
  */
 
 #include <linux/kernel.h>
@@ -149,12 +145,12 @@ static struct mtd_partition cm_t35_nand_partitions[] = {
 	},
 	{
 		.name           = "linux",
-		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x280000 */
+		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x2A0000 */
 		.size           = 32 * NAND_BLOCK_SIZE,
 	},
 	{
 		.name           = "rootfs",
-		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x680000 */
+		.offset         = MTDPART_OFS_APPEND,	/* Offset = 0x6A0000 */
 		.size           = MTDPART_SIZ_FULL,
 	},
 };
-- 
1.7.3.4

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

* [PATCH 2/3] arm: omap3: cm-t35: fix slow path warning
  2011-06-14  7:36               ` Tony Lindgren
@ 2011-06-14 21:16                 ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-14 21:16 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel, Mike Rapoport, Igor Grinberg

Fix warning issued by gpio_set_value() call with TPS gpios.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 arch/arm/mach-omap2/board-cm-t35.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 6c5881b..256b81c 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -466,9 +466,9 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio,
 	if (gpio_request_one(wlan_rst, GPIOF_OUT_INIT_HIGH, "WLAN RST") == 0) {
 		gpio_export(wlan_rst, 0);
 		udelay(10);
-		gpio_set_value(wlan_rst, 0);
+		gpio_set_value_cansleep(wlan_rst, 0);
 		udelay(10);
-		gpio_set_value(wlan_rst, 1);
+		gpio_set_value_cansleep(wlan_rst, 1);
 	} else {
 		pr_err("CM-T35: could not obtain gpio for WiFi reset\n");
 	}
-- 
1.7.3.4


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

* [PATCH 2/3] arm: omap3: cm-t35: fix slow path warning
@ 2011-06-14 21:16                 ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-14 21:16 UTC (permalink / raw)
  To: linux-arm-kernel

Fix warning issued by gpio_set_value() call with TPS gpios.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 arch/arm/mach-omap2/board-cm-t35.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 6c5881b..256b81c 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -466,9 +466,9 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio,
 	if (gpio_request_one(wlan_rst, GPIOF_OUT_INIT_HIGH, "WLAN RST") == 0) {
 		gpio_export(wlan_rst, 0);
 		udelay(10);
-		gpio_set_value(wlan_rst, 0);
+		gpio_set_value_cansleep(wlan_rst, 0);
 		udelay(10);
-		gpio_set_value(wlan_rst, 1);
+		gpio_set_value_cansleep(wlan_rst, 1);
 	} else {
 		pr_err("CM-T35: could not obtain gpio for WiFi reset\n");
 	}
-- 
1.7.3.4

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

* [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-14  7:36               ` Tony Lindgren
@ 2011-06-14 21:16                 ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-14 21:16 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel, Mike Rapoport, Igor Grinberg

cm-t3730 is basically the same board as cm-t35,
but has AM/DM3730 SoC assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Mike Rapoport <mike@compulab.co.il>
---
v3:	fix MACH_* selection
	remove completely the use of cpu_is_*
v2:	Add debug uart entry


 arch/arm/mach-omap2/Kconfig                  |    6 ++-
 arch/arm/mach-omap2/board-cm-t35.c           |   77 ++++++++++++++++++++-----
 arch/arm/plat-omap/include/plat/uncompress.h |    1 +
 3 files changed, 67 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 19d5891..4ae6257 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -266,9 +266,10 @@ config MACH_OMAP_ZOOM3
 	select REGULATOR_FIXED_VOLTAGE
 
 config MACH_CM_T35
-	bool "CompuLab CM-T35 module"
+	bool "CompuLab CM-T35/CM-T3730 modules"
 	depends on ARCH_OMAP3
 	default y
+	select MACH_CM_T3730
 	select OMAP_PACKAGE_CUS
 
 config MACH_CM_T3517
@@ -277,6 +278,9 @@ config MACH_CM_T3517
 	default y
 	select OMAP_PACKAGE_CBB
 
+config MACH_CM_T3730
+       bool
+
 config MACH_IGEP0020
 	bool "IGEP v2 board"
 	depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 256b81c..ea31281 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -1,5 +1,5 @@
 /*
- * board-cm-t35.c (CompuLab CM-T35 module)
+ * CompuLab CM-T35/CM-T3730 modules support
  *
  * Copyright (C) 2009-2011 CompuLab, Ltd.
  * Authors: Mike Rapoport <mike@compulab.co.il>
@@ -574,17 +574,11 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
 
-	/* DSS */
+	/* common DSS */
 	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
@@ -597,12 +591,6 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 
 	/* display controls */
 	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -615,19 +603,53 @@ static struct omap_board_mux board_mux[] __initdata = {
 
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
+
+static void __init cm_t3x_common_dss_mux_init(int mux_mode)
+{
+	omap_mux_init_signal("dss_data18", mux_mode);
+	omap_mux_init_signal("dss_data19", mux_mode);
+	omap_mux_init_signal("dss_data20", mux_mode);
+	omap_mux_init_signal("dss_data21", mux_mode);
+	omap_mux_init_signal("dss_data22", mux_mode);
+	omap_mux_init_signal("dss_data23", mux_mode);
+}
+
+static void __init cm_t35_init_mux(void)
+{
+	omap_mux_init_signal("gpio_70", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_71", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_72", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_73", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_74", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_75", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+}
+
+static void __init cm_t3730_init_mux(void)
+{
+	omap_mux_init_signal("sys_boot0", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot1", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot3", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot4", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot5", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot6", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+}
+#else
+static inline void cm_t35_init_mux(void) {}
+static inline void cm_t3730_init_mux(void) {}
 #endif
 
 static struct omap_board_config_kernel cm_t35_config[] __initdata = {
 };
 
-static void __init cm_t35_init(void)
+static void __init cm_t3x_common_init(void)
 {
 	omap_board_config = cm_t35_config;
 	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
 	omap_serial_init();
 	cm_t35_init_i2c();
-	cm_t35_init_nand();
 	omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
 	cm_t35_init_ethernet();
 	cm_t35_init_led();
@@ -637,6 +659,19 @@ static void __init cm_t35_init(void)
 	usbhs_init(&usbhs_bdata);
 }
 
+static void __init cm_t35_init(void)
+{
+	cm_t3x_common_init();
+	cm_t35_init_mux();
+	cm_t35_init_nand();
+}
+
+static void __init cm_t3730_init(void)
+{
+	cm_t3x_common_init();
+	cm_t3730_init_mux();
+}
+
 MACHINE_START(CM_T35, "Compulab CM-T35")
 	.boot_params	= 0x80000100,
 	.reserve	= omap_reserve,
@@ -646,3 +681,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
 	.init_machine	= cm_t35_init,
 	.timer		= &omap_timer,
 MACHINE_END
+
+MACHINE_START(CM_T3730, "Compulab CM-T3730")
+	.boot_params    = 0x80000100,
+	.reserve        = omap_reserve,
+	.map_io         = omap3_map_io,
+	.init_early     = cm_t35_init_early,
+	.init_irq       = omap_init_irq,
+	.init_machine   = cm_t3730_init,
+	.timer          = &omap_timer,
+MACHINE_END
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
index ac4b60d..a067484 100644
--- a/arch/arm/plat-omap/include/plat/uncompress.h
+++ b/arch/arm/plat-omap/include/plat/uncompress.h
@@ -148,6 +148,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
 		/* omap3 based boards using UART3 */
 		DEBUG_LL_OMAP3(3, cm_t35);
 		DEBUG_LL_OMAP3(3, cm_t3517);
+		DEBUG_LL_OMAP3(3, cm_t3730);
 		DEBUG_LL_OMAP3(3, craneboard);
 		DEBUG_LL_OMAP3(3, devkit8000);
 		DEBUG_LL_OMAP3(3, igep0020);
-- 
1.7.3.4


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

* [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-14 21:16                 ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-14 21:16 UTC (permalink / raw)
  To: linux-arm-kernel

cm-t3730 is basically the same board as cm-t35,
but has AM/DM3730 SoC assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Mike Rapoport <mike@compulab.co.il>
---
v3:	fix MACH_* selection
	remove completely the use of cpu_is_*
v2:	Add debug uart entry


 arch/arm/mach-omap2/Kconfig                  |    6 ++-
 arch/arm/mach-omap2/board-cm-t35.c           |   77 ++++++++++++++++++++-----
 arch/arm/plat-omap/include/plat/uncompress.h |    1 +
 3 files changed, 67 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 19d5891..4ae6257 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -266,9 +266,10 @@ config MACH_OMAP_ZOOM3
 	select REGULATOR_FIXED_VOLTAGE
 
 config MACH_CM_T35
-	bool "CompuLab CM-T35 module"
+	bool "CompuLab CM-T35/CM-T3730 modules"
 	depends on ARCH_OMAP3
 	default y
+	select MACH_CM_T3730
 	select OMAP_PACKAGE_CUS
 
 config MACH_CM_T3517
@@ -277,6 +278,9 @@ config MACH_CM_T3517
 	default y
 	select OMAP_PACKAGE_CBB
 
+config MACH_CM_T3730
+       bool
+
 config MACH_IGEP0020
 	bool "IGEP v2 board"
 	depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 256b81c..ea31281 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -1,5 +1,5 @@
 /*
- * board-cm-t35.c (CompuLab CM-T35 module)
+ * CompuLab CM-T35/CM-T3730 modules support
  *
  * Copyright (C) 2009-2011 CompuLab, Ltd.
  * Authors: Mike Rapoport <mike@compulab.co.il>
@@ -574,17 +574,11 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
 
-	/* DSS */
+	/* common DSS */
 	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
@@ -597,12 +591,6 @@ static struct omap_board_mux board_mux[] __initdata = {
 	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
 
 	/* display controls */
 	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -615,19 +603,53 @@ static struct omap_board_mux board_mux[] __initdata = {
 
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 };
+
+static void __init cm_t3x_common_dss_mux_init(int mux_mode)
+{
+	omap_mux_init_signal("dss_data18", mux_mode);
+	omap_mux_init_signal("dss_data19", mux_mode);
+	omap_mux_init_signal("dss_data20", mux_mode);
+	omap_mux_init_signal("dss_data21", mux_mode);
+	omap_mux_init_signal("dss_data22", mux_mode);
+	omap_mux_init_signal("dss_data23", mux_mode);
+}
+
+static void __init cm_t35_init_mux(void)
+{
+	omap_mux_init_signal("gpio_70", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_71", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_72", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_73", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_74", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("gpio_75", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
+}
+
+static void __init cm_t3730_init_mux(void)
+{
+	omap_mux_init_signal("sys_boot0", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot1", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot3", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot4", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot5", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	omap_mux_init_signal("sys_boot6", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
+}
+#else
+static inline void cm_t35_init_mux(void) {}
+static inline void cm_t3730_init_mux(void) {}
 #endif
 
 static struct omap_board_config_kernel cm_t35_config[] __initdata = {
 };
 
-static void __init cm_t35_init(void)
+static void __init cm_t3x_common_init(void)
 {
 	omap_board_config = cm_t35_config;
 	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
 	omap_serial_init();
 	cm_t35_init_i2c();
-	cm_t35_init_nand();
 	omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
 	cm_t35_init_ethernet();
 	cm_t35_init_led();
@@ -637,6 +659,19 @@ static void __init cm_t35_init(void)
 	usbhs_init(&usbhs_bdata);
 }
 
+static void __init cm_t35_init(void)
+{
+	cm_t3x_common_init();
+	cm_t35_init_mux();
+	cm_t35_init_nand();
+}
+
+static void __init cm_t3730_init(void)
+{
+	cm_t3x_common_init();
+	cm_t3730_init_mux();
+}
+
 MACHINE_START(CM_T35, "Compulab CM-T35")
 	.boot_params	= 0x80000100,
 	.reserve	= omap_reserve,
@@ -646,3 +681,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
 	.init_machine	= cm_t35_init,
 	.timer		= &omap_timer,
 MACHINE_END
+
+MACHINE_START(CM_T3730, "Compulab CM-T3730")
+	.boot_params    = 0x80000100,
+	.reserve        = omap_reserve,
+	.map_io         = omap3_map_io,
+	.init_early     = cm_t35_init_early,
+	.init_irq       = omap_init_irq,
+	.init_machine   = cm_t3730_init,
+	.timer          = &omap_timer,
+MACHINE_END
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
index ac4b60d..a067484 100644
--- a/arch/arm/plat-omap/include/plat/uncompress.h
+++ b/arch/arm/plat-omap/include/plat/uncompress.h
@@ -148,6 +148,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
 		/* omap3 based boards using UART3 */
 		DEBUG_LL_OMAP3(3, cm_t35);
 		DEBUG_LL_OMAP3(3, cm_t3517);
+		DEBUG_LL_OMAP3(3, cm_t3730);
 		DEBUG_LL_OMAP3(3, craneboard);
 		DEBUG_LL_OMAP3(3, devkit8000);
 		DEBUG_LL_OMAP3(3, igep0020);
-- 
1.7.3.4

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

* Re: [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-14 21:16                 ` Igor Grinberg
@ 2011-06-22 14:56                   ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-22 14:56 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Igor Grinberg, linux-omap, linux-arm-kernel, Mike Rapoport

Tony,

Does this one look better?



On 06/15/11 00:16, Igor Grinberg wrote:

> cm-t3730 is basically the same board as cm-t35,
> but has AM/DM3730 SoC assembled and therefore some changes are required.
>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> Acked-by: Mike Rapoport <mike@compulab.co.il>
> ---
> v3:	fix MACH_* selection
> 	remove completely the use of cpu_is_*
> v2:	Add debug uart entry
>
>
>  arch/arm/mach-omap2/Kconfig                  |    6 ++-
>  arch/arm/mach-omap2/board-cm-t35.c           |   77 ++++++++++++++++++++-----
>  arch/arm/plat-omap/include/plat/uncompress.h |    1 +
>  3 files changed, 67 insertions(+), 17 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 19d5891..4ae6257 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -266,9 +266,10 @@ config MACH_OMAP_ZOOM3
>  	select REGULATOR_FIXED_VOLTAGE
>  
>  config MACH_CM_T35
> -	bool "CompuLab CM-T35 module"
> +	bool "CompuLab CM-T35/CM-T3730 modules"
>  	depends on ARCH_OMAP3
>  	default y
> +	select MACH_CM_T3730
>  	select OMAP_PACKAGE_CUS
>  
>  config MACH_CM_T3517
> @@ -277,6 +278,9 @@ config MACH_CM_T3517
>  	default y
>  	select OMAP_PACKAGE_CBB
>  
> +config MACH_CM_T3730
> +       bool
> +
>  config MACH_IGEP0020
>  	bool "IGEP v2 board"
>  	depends on ARCH_OMAP3
> diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
> index 256b81c..ea31281 100644
> --- a/arch/arm/mach-omap2/board-cm-t35.c
> +++ b/arch/arm/mach-omap2/board-cm-t35.c
> @@ -1,5 +1,5 @@
>  /*
> - * board-cm-t35.c (CompuLab CM-T35 module)
> + * CompuLab CM-T35/CM-T3730 modules support
>   *
>   * Copyright (C) 2009-2011 CompuLab, Ltd.
>   * Authors: Mike Rapoport <mike@compulab.co.il>
> @@ -574,17 +574,11 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
>  
> -	/* DSS */
> +	/* common DSS */
>  	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> @@ -597,12 +591,6 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  
>  	/* display controls */
>  	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
> @@ -615,19 +603,53 @@ static struct omap_board_mux board_mux[] __initdata = {
>  
>  	{ .reg_offset = OMAP_MUX_TERMINATOR },
>  };
> +
> +static void __init cm_t3x_common_dss_mux_init(int mux_mode)
> +{
> +	omap_mux_init_signal("dss_data18", mux_mode);
> +	omap_mux_init_signal("dss_data19", mux_mode);
> +	omap_mux_init_signal("dss_data20", mux_mode);
> +	omap_mux_init_signal("dss_data21", mux_mode);
> +	omap_mux_init_signal("dss_data22", mux_mode);
> +	omap_mux_init_signal("dss_data23", mux_mode);
> +}
> +
> +static void __init cm_t35_init_mux(void)
> +{
> +	omap_mux_init_signal("gpio_70", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_71", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_72", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_73", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_74", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_75", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +}
> +
> +static void __init cm_t3730_init_mux(void)
> +{
> +	omap_mux_init_signal("sys_boot0", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot1", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot3", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot4", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot5", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot6", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +}
> +#else
> +static inline void cm_t35_init_mux(void) {}
> +static inline void cm_t3730_init_mux(void) {}
>  #endif
>  
>  static struct omap_board_config_kernel cm_t35_config[] __initdata = {
>  };
>  
> -static void __init cm_t35_init(void)
> +static void __init cm_t3x_common_init(void)
>  {
>  	omap_board_config = cm_t35_config;
>  	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
>  	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
>  	omap_serial_init();
>  	cm_t35_init_i2c();
> -	cm_t35_init_nand();
>  	omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
>  	cm_t35_init_ethernet();
>  	cm_t35_init_led();
> @@ -637,6 +659,19 @@ static void __init cm_t35_init(void)
>  	usbhs_init(&usbhs_bdata);
>  }
>  
> +static void __init cm_t35_init(void)
> +{
> +	cm_t3x_common_init();
> +	cm_t35_init_mux();
> +	cm_t35_init_nand();
> +}
> +
> +static void __init cm_t3730_init(void)
> +{
> +	cm_t3x_common_init();
> +	cm_t3730_init_mux();
> +}
> +
>  MACHINE_START(CM_T35, "Compulab CM-T35")
>  	.boot_params	= 0x80000100,
>  	.reserve	= omap_reserve,
> @@ -646,3 +681,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
>  	.init_machine	= cm_t35_init,
>  	.timer		= &omap_timer,
>  MACHINE_END
> +
> +MACHINE_START(CM_T3730, "Compulab CM-T3730")
> +	.boot_params    = 0x80000100,
> +	.reserve        = omap_reserve,
> +	.map_io         = omap3_map_io,
> +	.init_early     = cm_t35_init_early,
> +	.init_irq       = omap_init_irq,
> +	.init_machine   = cm_t3730_init,
> +	.timer          = &omap_timer,
> +MACHINE_END
> diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
> index ac4b60d..a067484 100644
> --- a/arch/arm/plat-omap/include/plat/uncompress.h
> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
> @@ -148,6 +148,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
>  		/* omap3 based boards using UART3 */
>  		DEBUG_LL_OMAP3(3, cm_t35);
>  		DEBUG_LL_OMAP3(3, cm_t3517);
> +		DEBUG_LL_OMAP3(3, cm_t3730);
>  		DEBUG_LL_OMAP3(3, craneboard);
>  		DEBUG_LL_OMAP3(3, devkit8000);
>  		DEBUG_LL_OMAP3(3, igep0020);

-- 
Regards,
Igor.


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

* [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-22 14:56                   ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-22 14:56 UTC (permalink / raw)
  To: linux-arm-kernel

Tony,

Does this one look better?



On 06/15/11 00:16, Igor Grinberg wrote:

> cm-t3730 is basically the same board as cm-t35,
> but has AM/DM3730 SoC assembled and therefore some changes are required.
>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> Acked-by: Mike Rapoport <mike@compulab.co.il>
> ---
> v3:	fix MACH_* selection
> 	remove completely the use of cpu_is_*
> v2:	Add debug uart entry
>
>
>  arch/arm/mach-omap2/Kconfig                  |    6 ++-
>  arch/arm/mach-omap2/board-cm-t35.c           |   77 ++++++++++++++++++++-----
>  arch/arm/plat-omap/include/plat/uncompress.h |    1 +
>  3 files changed, 67 insertions(+), 17 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 19d5891..4ae6257 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -266,9 +266,10 @@ config MACH_OMAP_ZOOM3
>  	select REGULATOR_FIXED_VOLTAGE
>  
>  config MACH_CM_T35
> -	bool "CompuLab CM-T35 module"
> +	bool "CompuLab CM-T35/CM-T3730 modules"
>  	depends on ARCH_OMAP3
>  	default y
> +	select MACH_CM_T3730
>  	select OMAP_PACKAGE_CUS
>  
>  config MACH_CM_T3517
> @@ -277,6 +278,9 @@ config MACH_CM_T3517
>  	default y
>  	select OMAP_PACKAGE_CBB
>  
> +config MACH_CM_T3730
> +       bool
> +
>  config MACH_IGEP0020
>  	bool "IGEP v2 board"
>  	depends on ARCH_OMAP3
> diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
> index 256b81c..ea31281 100644
> --- a/arch/arm/mach-omap2/board-cm-t35.c
> +++ b/arch/arm/mach-omap2/board-cm-t35.c
> @@ -1,5 +1,5 @@
>  /*
> - * board-cm-t35.c (CompuLab CM-T35 module)
> + * CompuLab CM-T35/CM-T3730 modules support
>   *
>   * Copyright (C) 2009-2011 CompuLab, Ltd.
>   * Authors: Mike Rapoport <mike@compulab.co.il>
> @@ -574,17 +574,11 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
>  
> -	/* DSS */
> +	/* common DSS */
>  	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> @@ -597,12 +591,6 @@ static struct omap_board_mux board_mux[] __initdata = {
>  	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> -	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>  
>  	/* display controls */
>  	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
> @@ -615,19 +603,53 @@ static struct omap_board_mux board_mux[] __initdata = {
>  
>  	{ .reg_offset = OMAP_MUX_TERMINATOR },
>  };
> +
> +static void __init cm_t3x_common_dss_mux_init(int mux_mode)
> +{
> +	omap_mux_init_signal("dss_data18", mux_mode);
> +	omap_mux_init_signal("dss_data19", mux_mode);
> +	omap_mux_init_signal("dss_data20", mux_mode);
> +	omap_mux_init_signal("dss_data21", mux_mode);
> +	omap_mux_init_signal("dss_data22", mux_mode);
> +	omap_mux_init_signal("dss_data23", mux_mode);
> +}
> +
> +static void __init cm_t35_init_mux(void)
> +{
> +	omap_mux_init_signal("gpio_70", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_71", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_72", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_73", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_74", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("gpio_75", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
> +}
> +
> +static void __init cm_t3730_init_mux(void)
> +{
> +	omap_mux_init_signal("sys_boot0", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot1", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot3", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot4", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot5", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	omap_mux_init_signal("sys_boot6", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
> +}
> +#else
> +static inline void cm_t35_init_mux(void) {}
> +static inline void cm_t3730_init_mux(void) {}
>  #endif
>  
>  static struct omap_board_config_kernel cm_t35_config[] __initdata = {
>  };
>  
> -static void __init cm_t35_init(void)
> +static void __init cm_t3x_common_init(void)
>  {
>  	omap_board_config = cm_t35_config;
>  	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
>  	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
>  	omap_serial_init();
>  	cm_t35_init_i2c();
> -	cm_t35_init_nand();
>  	omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
>  	cm_t35_init_ethernet();
>  	cm_t35_init_led();
> @@ -637,6 +659,19 @@ static void __init cm_t35_init(void)
>  	usbhs_init(&usbhs_bdata);
>  }
>  
> +static void __init cm_t35_init(void)
> +{
> +	cm_t3x_common_init();
> +	cm_t35_init_mux();
> +	cm_t35_init_nand();
> +}
> +
> +static void __init cm_t3730_init(void)
> +{
> +	cm_t3x_common_init();
> +	cm_t3730_init_mux();
> +}
> +
>  MACHINE_START(CM_T35, "Compulab CM-T35")
>  	.boot_params	= 0x80000100,
>  	.reserve	= omap_reserve,
> @@ -646,3 +681,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
>  	.init_machine	= cm_t35_init,
>  	.timer		= &omap_timer,
>  MACHINE_END
> +
> +MACHINE_START(CM_T3730, "Compulab CM-T3730")
> +	.boot_params    = 0x80000100,
> +	.reserve        = omap_reserve,
> +	.map_io         = omap3_map_io,
> +	.init_early     = cm_t35_init_early,
> +	.init_irq       = omap_init_irq,
> +	.init_machine   = cm_t3730_init,
> +	.timer          = &omap_timer,
> +MACHINE_END
> diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
> index ac4b60d..a067484 100644
> --- a/arch/arm/plat-omap/include/plat/uncompress.h
> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
> @@ -148,6 +148,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
>  		/* omap3 based boards using UART3 */
>  		DEBUG_LL_OMAP3(3, cm_t35);
>  		DEBUG_LL_OMAP3(3, cm_t3517);
> +		DEBUG_LL_OMAP3(3, cm_t3730);
>  		DEBUG_LL_OMAP3(3, craneboard);
>  		DEBUG_LL_OMAP3(3, devkit8000);
>  		DEBUG_LL_OMAP3(3, igep0020);

-- 
Regards,
Igor.

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

* Re: [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-22 14:56                   ` Igor Grinberg
@ 2011-06-27  8:35                     ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-27  8:35 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, Igor Grinberg, linux-arm-kernel, Mike Rapoport

Tony,

I'd really like us to decide, because I want my (currently) out of tree port
to be based on one of the patches (v2 or v3).

Can you please, look into this?

Thanks

On 06/22/11 17:56, Igor Grinberg wrote:
> Tony,
>
> Does this one look better?
>
>
>
> On 06/15/11 00:16, Igor Grinberg wrote:
>
>> cm-t3730 is basically the same board as cm-t35,
>> but has AM/DM3730 SoC assembled and therefore some changes are required.
>>
>> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
>> Acked-by: Mike Rapoport <mike@compulab.co.il>
>> ---
>> v3:	fix MACH_* selection
>> 	remove completely the use of cpu_is_*
>> v2:	Add debug uart entry
>>
>>
>>  arch/arm/mach-omap2/Kconfig                  |    6 ++-
>>  arch/arm/mach-omap2/board-cm-t35.c           |   77 ++++++++++++++++++++-----
>>  arch/arm/plat-omap/include/plat/uncompress.h |    1 +
>>  3 files changed, 67 insertions(+), 17 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
>> index 19d5891..4ae6257 100644
>> --- a/arch/arm/mach-omap2/Kconfig
>> +++ b/arch/arm/mach-omap2/Kconfig
>> @@ -266,9 +266,10 @@ config MACH_OMAP_ZOOM3
>>  	select REGULATOR_FIXED_VOLTAGE
>>  
>>  config MACH_CM_T35
>> -	bool "CompuLab CM-T35 module"
>> +	bool "CompuLab CM-T35/CM-T3730 modules"
>>  	depends on ARCH_OMAP3
>>  	default y
>> +	select MACH_CM_T3730
>>  	select OMAP_PACKAGE_CUS
>>  
>>  config MACH_CM_T3517
>> @@ -277,6 +278,9 @@ config MACH_CM_T3517
>>  	default y
>>  	select OMAP_PACKAGE_CBB
>>  
>> +config MACH_CM_T3730
>> +       bool
>> +
>>  config MACH_IGEP0020
>>  	bool "IGEP v2 board"
>>  	depends on ARCH_OMAP3
>> diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
>> index 256b81c..ea31281 100644
>> --- a/arch/arm/mach-omap2/board-cm-t35.c
>> +++ b/arch/arm/mach-omap2/board-cm-t35.c
>> @@ -1,5 +1,5 @@
>>  /*
>> - * board-cm-t35.c (CompuLab CM-T35 module)
>> + * CompuLab CM-T35/CM-T3730 modules support
>>   *
>>   * Copyright (C) 2009-2011 CompuLab, Ltd.
>>   * Authors: Mike Rapoport <mike@compulab.co.il>
>> @@ -574,17 +574,11 @@ static struct omap_board_mux board_mux[] __initdata = {
>>  	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
>>  
>> -	/* DSS */
>> +	/* common DSS */
>>  	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> @@ -597,12 +591,6 @@ static struct omap_board_mux board_mux[] __initdata = {
>>  	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  
>>  	/* display controls */
>>  	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
>> @@ -615,19 +603,53 @@ static struct omap_board_mux board_mux[] __initdata = {
>>  
>>  	{ .reg_offset = OMAP_MUX_TERMINATOR },
>>  };
>> +
>> +static void __init cm_t3x_common_dss_mux_init(int mux_mode)
>> +{
>> +	omap_mux_init_signal("dss_data18", mux_mode);
>> +	omap_mux_init_signal("dss_data19", mux_mode);
>> +	omap_mux_init_signal("dss_data20", mux_mode);
>> +	omap_mux_init_signal("dss_data21", mux_mode);
>> +	omap_mux_init_signal("dss_data22", mux_mode);
>> +	omap_mux_init_signal("dss_data23", mux_mode);
>> +}
>> +
>> +static void __init cm_t35_init_mux(void)
>> +{
>> +	omap_mux_init_signal("gpio_70", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_71", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_72", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_73", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_74", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_75", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +}
>> +
>> +static void __init cm_t3730_init_mux(void)
>> +{
>> +	omap_mux_init_signal("sys_boot0", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot1", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot3", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot4", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot5", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot6", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +}
>> +#else
>> +static inline void cm_t35_init_mux(void) {}
>> +static inline void cm_t3730_init_mux(void) {}
>>  #endif
>>  
>>  static struct omap_board_config_kernel cm_t35_config[] __initdata = {
>>  };
>>  
>> -static void __init cm_t35_init(void)
>> +static void __init cm_t3x_common_init(void)
>>  {
>>  	omap_board_config = cm_t35_config;
>>  	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
>>  	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
>>  	omap_serial_init();
>>  	cm_t35_init_i2c();
>> -	cm_t35_init_nand();
>>  	omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
>>  	cm_t35_init_ethernet();
>>  	cm_t35_init_led();
>> @@ -637,6 +659,19 @@ static void __init cm_t35_init(void)
>>  	usbhs_init(&usbhs_bdata);
>>  }
>>  
>> +static void __init cm_t35_init(void)
>> +{
>> +	cm_t3x_common_init();
>> +	cm_t35_init_mux();
>> +	cm_t35_init_nand();
>> +}
>> +
>> +static void __init cm_t3730_init(void)
>> +{
>> +	cm_t3x_common_init();
>> +	cm_t3730_init_mux();
>> +}
>> +
>>  MACHINE_START(CM_T35, "Compulab CM-T35")
>>  	.boot_params	= 0x80000100,
>>  	.reserve	= omap_reserve,
>> @@ -646,3 +681,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
>>  	.init_machine	= cm_t35_init,
>>  	.timer		= &omap_timer,
>>  MACHINE_END
>> +
>> +MACHINE_START(CM_T3730, "Compulab CM-T3730")
>> +	.boot_params    = 0x80000100,
>> +	.reserve        = omap_reserve,
>> +	.map_io         = omap3_map_io,
>> +	.init_early     = cm_t35_init_early,
>> +	.init_irq       = omap_init_irq,
>> +	.init_machine   = cm_t3730_init,
>> +	.timer          = &omap_timer,
>> +MACHINE_END
>> diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
>> index ac4b60d..a067484 100644
>> --- a/arch/arm/plat-omap/include/plat/uncompress.h
>> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
>> @@ -148,6 +148,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
>>  		/* omap3 based boards using UART3 */
>>  		DEBUG_LL_OMAP3(3, cm_t35);
>>  		DEBUG_LL_OMAP3(3, cm_t3517);
>> +		DEBUG_LL_OMAP3(3, cm_t3730);
>>  		DEBUG_LL_OMAP3(3, craneboard);
>>  		DEBUG_LL_OMAP3(3, devkit8000);
>>  		DEBUG_LL_OMAP3(3, igep0020);

-- 
Regards,
Igor.

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

* [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-27  8:35                     ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-27  8:35 UTC (permalink / raw)
  To: linux-arm-kernel

Tony,

I'd really like us to decide, because I want my (currently) out of tree port
to be based on one of the patches (v2 or v3).

Can you please, look into this?

Thanks

On 06/22/11 17:56, Igor Grinberg wrote:
> Tony,
>
> Does this one look better?
>
>
>
> On 06/15/11 00:16, Igor Grinberg wrote:
>
>> cm-t3730 is basically the same board as cm-t35,
>> but has AM/DM3730 SoC assembled and therefore some changes are required.
>>
>> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
>> Acked-by: Mike Rapoport <mike@compulab.co.il>
>> ---
>> v3:	fix MACH_* selection
>> 	remove completely the use of cpu_is_*
>> v2:	Add debug uart entry
>>
>>
>>  arch/arm/mach-omap2/Kconfig                  |    6 ++-
>>  arch/arm/mach-omap2/board-cm-t35.c           |   77 ++++++++++++++++++++-----
>>  arch/arm/plat-omap/include/plat/uncompress.h |    1 +
>>  3 files changed, 67 insertions(+), 17 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
>> index 19d5891..4ae6257 100644
>> --- a/arch/arm/mach-omap2/Kconfig
>> +++ b/arch/arm/mach-omap2/Kconfig
>> @@ -266,9 +266,10 @@ config MACH_OMAP_ZOOM3
>>  	select REGULATOR_FIXED_VOLTAGE
>>  
>>  config MACH_CM_T35
>> -	bool "CompuLab CM-T35 module"
>> +	bool "CompuLab CM-T35/CM-T3730 modules"
>>  	depends on ARCH_OMAP3
>>  	default y
>> +	select MACH_CM_T3730
>>  	select OMAP_PACKAGE_CUS
>>  
>>  config MACH_CM_T3517
>> @@ -277,6 +278,9 @@ config MACH_CM_T3517
>>  	default y
>>  	select OMAP_PACKAGE_CBB
>>  
>> +config MACH_CM_T3730
>> +       bool
>> +
>>  config MACH_IGEP0020
>>  	bool "IGEP v2 board"
>>  	depends on ARCH_OMAP3
>> diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
>> index 256b81c..ea31281 100644
>> --- a/arch/arm/mach-omap2/board-cm-t35.c
>> +++ b/arch/arm/mach-omap2/board-cm-t35.c
>> @@ -1,5 +1,5 @@
>>  /*
>> - * board-cm-t35.c (CompuLab CM-T35 module)
>> + * CompuLab CM-T35/CM-T3730 modules support
>>   *
>>   * Copyright (C) 2009-2011 CompuLab, Ltd.
>>   * Authors: Mike Rapoport <mike@compulab.co.il>
>> @@ -574,17 +574,11 @@ static struct omap_board_mux board_mux[] __initdata = {
>>  	OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
>>  
>> -	/* DSS */
>> +	/* common DSS */
>>  	OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> @@ -597,12 +591,6 @@ static struct omap_board_mux board_mux[] __initdata = {
>>  	OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  	OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>> -	OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
>>  
>>  	/* display controls */
>>  	OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
>> @@ -615,19 +603,53 @@ static struct omap_board_mux board_mux[] __initdata = {
>>  
>>  	{ .reg_offset = OMAP_MUX_TERMINATOR },
>>  };
>> +
>> +static void __init cm_t3x_common_dss_mux_init(int mux_mode)
>> +{
>> +	omap_mux_init_signal("dss_data18", mux_mode);
>> +	omap_mux_init_signal("dss_data19", mux_mode);
>> +	omap_mux_init_signal("dss_data20", mux_mode);
>> +	omap_mux_init_signal("dss_data21", mux_mode);
>> +	omap_mux_init_signal("dss_data22", mux_mode);
>> +	omap_mux_init_signal("dss_data23", mux_mode);
>> +}
>> +
>> +static void __init cm_t35_init_mux(void)
>> +{
>> +	omap_mux_init_signal("gpio_70", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_71", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_72", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_73", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_74", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("gpio_75", OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT);
>> +}
>> +
>> +static void __init cm_t3730_init_mux(void)
>> +{
>> +	omap_mux_init_signal("sys_boot0", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot1", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot3", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot4", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot5", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	omap_mux_init_signal("sys_boot6", OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +	cm_t3x_common_dss_mux_init(OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT);
>> +}
>> +#else
>> +static inline void cm_t35_init_mux(void) {}
>> +static inline void cm_t3730_init_mux(void) {}
>>  #endif
>>  
>>  static struct omap_board_config_kernel cm_t35_config[] __initdata = {
>>  };
>>  
>> -static void __init cm_t35_init(void)
>> +static void __init cm_t3x_common_init(void)
>>  {
>>  	omap_board_config = cm_t35_config;
>>  	omap_board_config_size = ARRAY_SIZE(cm_t35_config);
>>  	omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
>>  	omap_serial_init();
>>  	cm_t35_init_i2c();
>> -	cm_t35_init_nand();
>>  	omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
>>  	cm_t35_init_ethernet();
>>  	cm_t35_init_led();
>> @@ -637,6 +659,19 @@ static void __init cm_t35_init(void)
>>  	usbhs_init(&usbhs_bdata);
>>  }
>>  
>> +static void __init cm_t35_init(void)
>> +{
>> +	cm_t3x_common_init();
>> +	cm_t35_init_mux();
>> +	cm_t35_init_nand();
>> +}
>> +
>> +static void __init cm_t3730_init(void)
>> +{
>> +	cm_t3x_common_init();
>> +	cm_t3730_init_mux();
>> +}
>> +
>>  MACHINE_START(CM_T35, "Compulab CM-T35")
>>  	.boot_params	= 0x80000100,
>>  	.reserve	= omap_reserve,
>> @@ -646,3 +681,13 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
>>  	.init_machine	= cm_t35_init,
>>  	.timer		= &omap_timer,
>>  MACHINE_END
>> +
>> +MACHINE_START(CM_T3730, "Compulab CM-T3730")
>> +	.boot_params    = 0x80000100,
>> +	.reserve        = omap_reserve,
>> +	.map_io         = omap3_map_io,
>> +	.init_early     = cm_t35_init_early,
>> +	.init_irq       = omap_init_irq,
>> +	.init_machine   = cm_t3730_init,
>> +	.timer          = &omap_timer,
>> +MACHINE_END
>> diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
>> index ac4b60d..a067484 100644
>> --- a/arch/arm/plat-omap/include/plat/uncompress.h
>> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
>> @@ -148,6 +148,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
>>  		/* omap3 based boards using UART3 */
>>  		DEBUG_LL_OMAP3(3, cm_t35);
>>  		DEBUG_LL_OMAP3(3, cm_t3517);
>> +		DEBUG_LL_OMAP3(3, cm_t3730);
>>  		DEBUG_LL_OMAP3(3, craneboard);
>>  		DEBUG_LL_OMAP3(3, devkit8000);
>>  		DEBUG_LL_OMAP3(3, igep0020);

-- 
Regards,
Igor.

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

* Re: [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-27  8:35                     ` Igor Grinberg
@ 2011-06-27 10:21                       ` Tony Lindgren
  -1 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-06-27 10:21 UTC (permalink / raw)
  To: Igor Grinberg; +Cc: linux-omap, linux-arm-kernel, Mike Rapoport

* Igor Grinberg <grinberg@compulab.co.il> [110627 01:31]:
> Tony,
> 
> I'd really like us to decide, because I want my (currently) out of tree port
> to be based on one of the patches (v2 or v3).
> 
> Can you please, look into this?

Sorry for the delay, yes that looks good to me. Will add to devel-board branch.

Regards,

Tony

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

* [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-27 10:21                       ` Tony Lindgren
  0 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2011-06-27 10:21 UTC (permalink / raw)
  To: linux-arm-kernel

* Igor Grinberg <grinberg@compulab.co.il> [110627 01:31]:
> Tony,
> 
> I'd really like us to decide, because I want my (currently) out of tree port
> to be based on one of the patches (v2 or v3).
> 
> Can you please, look into this?

Sorry for the delay, yes that looks good to me. Will add to devel-board branch.

Regards,

Tony

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

* Re: [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
  2011-06-27 10:21                       ` Tony Lindgren
@ 2011-06-27 12:31                         ` Igor Grinberg
  -1 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-27 12:31 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel, Mike Rapoport

On 06/27/11 13:21, Tony Lindgren wrote:

> * Igor Grinberg <grinberg@compulab.co.il> [110627 01:31]:
>> Tony,
>>
>> I'd really like us to decide, because I want my (currently) out of tree port
>> to be based on one of the patches (v2 or v3).
>>
>> Can you please, look into this?
> Sorry for the delay, yes that looks good to me. Will add to devel-board branch.

Thanks,

please also, don't forget the 1/3 and 2/3 trivial patches.


-- 
Regards,
Igor.

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

* [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730
@ 2011-06-27 12:31                         ` Igor Grinberg
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Grinberg @ 2011-06-27 12:31 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/27/11 13:21, Tony Lindgren wrote:

> * Igor Grinberg <grinberg@compulab.co.il> [110627 01:31]:
>> Tony,
>>
>> I'd really like us to decide, because I want my (currently) out of tree port
>> to be based on one of the patches (v2 or v3).
>>
>> Can you please, look into this?
> Sorry for the delay, yes that looks good to me. Will add to devel-board branch.

Thanks,

please also, don't forget the 1/3 and 2/3 trivial patches.


-- 
Regards,
Igor.

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

end of thread, other threads:[~2011-06-27 12:31 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-05  8:53 [PATCH] arm: omap3: cm-t35: add support for cm-t3730 Igor Grinberg
2011-05-05  8:53 ` Igor Grinberg
2011-05-05  9:51 ` Mike Rapoport
2011-05-05  9:51   ` Mike Rapoport
2011-05-08  7:20   ` [PATCH v2] " Igor Grinberg
2011-05-08  7:20     ` Igor Grinberg
2011-05-31 13:04     ` Tony Lindgren
2011-05-31 13:04       ` Tony Lindgren
2011-06-03 13:37       ` Igor Grinberg
2011-06-03 13:37         ` Igor Grinberg
2011-06-13 13:33         ` Tony Lindgren
2011-06-13 13:33           ` Tony Lindgren
2011-06-13 19:34           ` Igor Grinberg
2011-06-13 19:34             ` Igor Grinberg
2011-06-14  7:36             ` Tony Lindgren
2011-06-14  7:36               ` Tony Lindgren
2011-06-14 21:16               ` [PATCH 1/3] arm: omap3: cm-t35: minor comments fixes Igor Grinberg
2011-06-14 21:16                 ` Igor Grinberg
2011-06-14 21:16               ` [PATCH 2/3] arm: omap3: cm-t35: fix slow path warning Igor Grinberg
2011-06-14 21:16                 ` Igor Grinberg
2011-06-14 21:16               ` [PATCH v3 3/3] arm: omap3: cm-t35: add support for cm-t3730 Igor Grinberg
2011-06-14 21:16                 ` Igor Grinberg
2011-06-22 14:56                 ` Igor Grinberg
2011-06-22 14:56                   ` Igor Grinberg
2011-06-27  8:35                   ` Igor Grinberg
2011-06-27  8:35                     ` Igor Grinberg
2011-06-27 10:21                     ` Tony Lindgren
2011-06-27 10:21                       ` Tony Lindgren
2011-06-27 12:31                       ` Igor Grinberg
2011-06-27 12:31                         ` Igor Grinberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.