RE: [PATCH] AM3505/3517 ZCN package support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx 
> [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Raphaël Assénat
> Sent: Wednesday, July 06, 2011 8:59 PM
> To: linux-omap@xxxxxxxxxxxxxxx
> Subject: [PATCH] AM3505/3517 ZCN package support
> 
> This patch adds support for the AM35xx ZCN package specific muxmodes.
> 
> Signed-off-by: Raphael Assenat <raph@xxxxxx>
> 

[sp] Few quick comments below:

> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 4ae6257..5c880de 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -103,6 +103,9 @@ config OMAP_PACKAGE_CBL
>  config OMAP_PACKAGE_CBS
>         bool
>  
> +config OMAP_PACKAGE_ZCN
> +       bool
> +
>  comment "OMAP Board Type"
>  	depends on ARCH_OMAP2PLUS
>  
> diff --git a/arch/arm/mach-omap2/mux.h b/arch/arm/mach-omap2/mux.h
> index 2132308..f227503 100644
> --- a/arch/arm/mach-omap2/mux.h
> +++ b/arch/arm/mach-omap2/mux.h
> @@ -62,6 +62,7 @@
>  
>  /* Flags for omapX_mux_init */
>  #define OMAP_PACKAGE_MASK		0xffff
> +#define OMAP_PACKAGE_ZCN		9		/* 
> 491-pin 0.65 */
>  #define OMAP_PACKAGE_CBS		8		/* 
> 547-pin 0.40 0.40 */
>  #define OMAP_PACKAGE_CBL		7		/* 
> 547-pin 0.40 0.40 */
>  #define OMAP_PACKAGE_CBP		6		/* 
> 515-pin 0.40 0.50 */
> diff --git a/arch/arm/mach-omap2/mux34xx.c 
> b/arch/arm/mach-omap2/mux34xx.c
> index 17f80e4..d42ac2e 100644
> --- a/arch/arm/mach-omap2/mux34xx.c
> +++ b/arch/arm/mach-omap2/mux34xx.c
> @@ -37,6 +37,9 @@
>  	.balls		= { bb, bt },				
> 	\
>  }
>  
> +#define _OMAP3_NULL_MUXENTRY(M0) _OMAP3_MUXENTRY(M0, 0, 
> NULL, NULL,	\
> +				NULL, NULL, NULL, NULL, NULL, NULL)
> +
>  /*
>   * Superset of all mux modes for omap3
>   */
> @@ -651,51 +654,50 @@ static struct omap_mux __initdata 
> omap3_muxmodes[] = {
>  		"gpio_166", NULL, NULL, "safe_mode"),
>  
>  	/* Only on 3630, see omap36xx_cbp_subset for the signals */
> -	_OMAP3_MUXENTRY(GPMC_A11, 0,
> -		NULL, NULL, NULL, NULL,
> -		NULL, NULL, NULL, NULL),
[snip]...[snip]
> +	_OMAP3_NULL_MUXENTRY(GPMC_A11),
> +	_OMAP3_NULL_MUXENTRY(SAD2D_MBUSFLAG),
> +	_OMAP3_NULL_MUXENTRY(SAD2D_MREAD),

[sp] These changes don't go with the current patch description.
     You may want to keep them in a separate patch; and use here.

> +
> +	/* Only on AM35xx, see am35xx_zcn_subset for the signals */
> +	_OMAP3_NULL_MUXENTRY(CCDC_PCLK),
> +	_OMAP3_NULL_MUXENTRY(CCDC_FIELD),
> +	_OMAP3_NULL_MUXENTRY(CCDC_HD),
> +	_OMAP3_NULL_MUXENTRY(CCDC_VD),
> +	_OMAP3_NULL_MUXENTRY(CCDC_WEN),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA0),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA1),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA2),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA3),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA4),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA5),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA6),
> +	_OMAP3_NULL_MUXENTRY(CCDC_DATA7),
> +	_OMAP3_NULL_MUXENTRY(RMII_MDIO_DATA),
> +	_OMAP3_NULL_MUXENTRY(RMII_MDIO_CLK),
> +	_OMAP3_NULL_MUXENTRY(RMII_RXD0),
> +	_OMAP3_NULL_MUXENTRY(RMII_RXD1),
> +	_OMAP3_NULL_MUXENTRY(RMII_CRS_DV),
> +	_OMAP3_NULL_MUXENTRY(RMII_RXER),
> +	_OMAP3_NULL_MUXENTRY(RMII_TXD0),
> +	_OMAP3_NULL_MUXENTRY(RMII_TXD1),
> +	_OMAP3_NULL_MUXENTRY(RMII_TXEN),
> +	_OMAP3_NULL_MUXENTRY(RMII_50MHZ_CLK),
> +	_OMAP3_NULL_MUXENTRY(USB0_DRVVBUS),
> +	_OMAP3_NULL_MUXENTRY(HECC1_TXD),
> +	_OMAP3_NULL_MUXENTRY(HECC1_RXD),
> +

[sp] Extra line.

>  	{ .reg_offset = OMAP_MUX_TERMINATOR },
>  };
>  
> @@ -2026,6 +2028,490 @@ static struct omap_ball __initdata 
> omap36xx_cbp_ball[] = {
>  #define omap36xx_cbp_ball	 NULL
>  #endif
>  
> +/*
> + * Signals different on AM35XX ZCN package comapared to 34XX 
> CBC package
> + */
> +#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_OMAP_PACKAGE_ZCN)
> +static struct omap_mux __initdata am35xx_zcn_subset[] = {

[snip]...[snip]

> +	{ .reg_offset = OMAP_MUX_TERMINATOR },
> +};
> +#else
> +#define am35xx_zcn_subset	NULL
> +#endif
> +
> +/*
> + * Balls for AM35XX ZCN package
> + * 491-pin s-PBGA Package, 0.65mm Ball Pitch
> + */
> +#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS)	
> 	\
> +		&& defined (CONFIG_OMAP_PACKAGE_ZCN)
> +static struct omap_ball __initdata am35xx_zcn_ball[] = {

[snip]...[snip]

> +
> +	{ .reg_offset = OMAP_MUX_TERMINATOR },
> +};
> +#else
> +#define am35xx_zcn_ball	 NULL
> +#endif
> +
> +

[sp] Extra line.

>  int __init omap3_mux_init(struct omap_board_mux 
> *board_subset, int flags)
>  {
>  	struct omap_mux *package_subset;
> @@ -2048,6 +2534,10 @@ int __init omap3_mux_init(struct 
> omap_board_mux *board_subset, int flags)
>  		package_subset = omap36xx_cbp_subset;
>  		package_balls = omap36xx_cbp_ball;
>  		break;
> +	case OMAP_PACKAGE_ZCN:
> +		package_subset = am35xx_zcn_subset;
> +		package_balls = am35xx_zcn_ball;
> +		break;
>  	default:
>  		pr_err("%s Unknown omap package, mux 
> disabled\n", __func__);
>  		return -EINVAL;
> diff --git a/arch/arm/mach-omap2/mux34xx.h 
> b/arch/arm/mach-omap2/mux34xx.h
> index 6543ebf..997387d 100644
> --- a/arch/arm/mach-omap2/mux34xx.h
> +++ b/arch/arm/mach-omap2/mux34xx.h
> @@ -316,6 +316,43 @@
>  #define OMAP3_CONTROL_PADCONF_SDRC_CKE0_OFFSET		
> 	0x232
>  #define OMAP3_CONTROL_PADCONF_SDRC_CKE1_OFFSET		
> 	0x234
>  
> +/* AM3505/3516 only */

[sp] Small typo in 3516.

> +#define OMAP3_CONTROL_PADCONF_CCDC_PCLK_OFFSET		
> 	0x1b4
> +#define OMAP3_CONTROL_PADCONF_CCDC_FIELD_OFFSET		
> 	0x1b6
> +#define OMAP3_CONTROL_PADCONF_CCDC_HD_OFFSET			0x1b8
> +#define OMAP3_CONTROL_PADCONF_CCDC_VD_OFFSET			0x1ba
> +#define OMAP3_CONTROL_PADCONF_CCDC_WEN_OFFSET		
> 	0x1bc
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA0_OFFSET		
> 	0x1be
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA1_OFFSET		
> 	0x1c0
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA2_OFFSET		
> 	0x1c2
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA3_OFFSET		
> 	0x1c4
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA4_OFFSET		
> 	0x1c6
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA5_OFFSET		
> 	0x1c8
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA6_OFFSET		
> 	0x1ca
> +#define OMAP3_CONTROL_PADCONF_CCDC_DATA7_OFFSET		
> 	0x1cc
> +#define OMAP3_CONTROL_PADCONF_RMII_MDIO_DATA_OFFSET		0x1ce
> +#define OMAP3_CONTROL_PADCONF_RMII_MDIO_CLK_OFFSET		0x1d0
> +#define OMAP3_CONTROL_PADCONF_RMII_RXD0_OFFSET		
> 	0x1d2
> +#define OMAP3_CONTROL_PADCONF_RMII_RXD1_OFFSET		
> 	0x1d4
> +#define OMAP3_CONTROL_PADCONF_RMII_CRS_DV_OFFSET		0x1d6
> +#define OMAP3_CONTROL_PADCONF_RMII_RXER_OFFSET		
> 	0x1d8
> +#define OMAP3_CONTROL_PADCONF_RMII_TXD0_OFFSET		
> 	0x1da
> +#define OMAP3_CONTROL_PADCONF_RMII_TXD1_OFFSET		
> 	0x1dc
> +#define OMAP3_CONTROL_PADCONF_RMII_TXEN_OFFSET		
> 	0x1de
> +#define OMAP3_CONTROL_PADCONF_RMII_50MHZ_CLK_OFFSET		0x1e0
> +#define OMAP3_CONTROL_PADCONF_USB0_DRVVBUS_OFFSET		0x1e2
> +#define OMAP3_CONTROL_PADCONF_HECC1_TXD_OFFSET		
> 	0x1e4
> +#define OMAP3_CONTROL_PADCONF_HECC1_RXD_OFFSET		
> 	0x1e6
> +#define OMAP3_CONTROL_PADCONF_SYS_BOOT7_OFFSET		
> 	0x1e8
> +#define OMAP3_CONTROL_PADCONF_SDRC_DQS0N_OFFSET		
> 	0x1ea
> +#define OMAP3_CONTROL_PADCONF_SDRC_DQS1N_OFFSET		
> 	0x1ec
> +#define OMAP3_CONTROL_PADCONF_SDRC_DQS2N_OFFSET		
> 	0x1ee
> +#define OMAP3_CONTROL_PADCONF_SDRC_DQS3N_OFFSET		
> 	0x1f0
> +#define OMAP3_CONTROL_PADCONF_SDRC_STRBEN_DLY0_OFFSET	
> 	0x1f2
> +#define OMAP3_CONTROL_PADCONF_SDRC_STRBEN_DLY1_OFFSET	
> 	0x1f4
> +#define OMAP3_CONTROL_PADCONF_SYS_BOOT8_OFFSET		
> 	0x1f6
> +
> +

[sp] Extra line.

>  /* 36xx only */
>  #define OMAP3_CONTROL_PADCONF_GPMC_A11_OFFSET		
> 	0x236
>  #define OMAP3_CONTROL_PADCONF_SDRC_BA0_OFFSET		
> 	0x570
> 
> --
> To unsubscribe from this list: send the line "unsubscribe 
> linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux