|  | @@ -570,3 +570,170 @@ static struct omap_mux __initdata omap3_muxmodes[] = {
 | 
	
		
			
				|  |  |  		"gpio_139", "hsusb3_tll_nxt", "mm3_rxdm", "safe_mode"),
 | 
	
		
			
				|  |  |  	_OMAP3_MUXENTRY(SDRC_CKE0, 0,
 | 
	
		
			
				|  |  |  		"sdrc_cke0", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SDRC_CKE1, 0,
 | 
	
		
			
				|  |  | +		"sdrc_cke1", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_BOOT0, 2,
 | 
	
		
			
				|  |  | +		"sys_boot0", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_2", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_BOOT1, 3,
 | 
	
		
			
				|  |  | +		"sys_boot1", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_3", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_BOOT2, 4,
 | 
	
		
			
				|  |  | +		"sys_boot2", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_4", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_BOOT3, 5,
 | 
	
		
			
				|  |  | +		"sys_boot3", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_5", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_BOOT4, 6,
 | 
	
		
			
				|  |  | +		"sys_boot4", "sdmmc2_dir_dat2", NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_6", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_BOOT5, 7,
 | 
	
		
			
				|  |  | +		"sys_boot5", "sdmmc2_dir_dat3", NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_7", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_BOOT6, 8,
 | 
	
		
			
				|  |  | +		"sys_boot6", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_8", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_CLKOUT1, 10,
 | 
	
		
			
				|  |  | +		"sys_clkout1", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_10", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_CLKOUT2, 186,
 | 
	
		
			
				|  |  | +		"sys_clkout2", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_186", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_CLKREQ, 1,
 | 
	
		
			
				|  |  | +		"sys_clkreq", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_1", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_NIRQ, 0,
 | 
	
		
			
				|  |  | +		"sys_nirq", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_0", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_NRESWARM, 30,
 | 
	
		
			
				|  |  | +		"sys_nreswarm", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_30", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SYS_OFF_MODE, 9,
 | 
	
		
			
				|  |  | +		"sys_off_mode", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_9", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART1_CTS, 150,
 | 
	
		
			
				|  |  | +		"uart1_cts", "ssi1_rdy_tx", NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_150", "hsusb3_tll_clk", NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART1_RTS, 149,
 | 
	
		
			
				|  |  | +		"uart1_rts", "ssi1_flag_tx", NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_149", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART1_RX, 151,
 | 
	
		
			
				|  |  | +		"uart1_rx", "ss1_wake_tx", "mcbsp1_clkr", "mcspi4_clk",
 | 
	
		
			
				|  |  | +		"gpio_151", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART1_TX, 148,
 | 
	
		
			
				|  |  | +		"uart1_tx", "ssi1_dat_tx", NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_148", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART2_CTS, 144,
 | 
	
		
			
				|  |  | +		"uart2_cts", "mcbsp3_dx", "gpt9_pwm_evt", NULL,
 | 
	
		
			
				|  |  | +		"gpio_144", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART2_RTS, 145,
 | 
	
		
			
				|  |  | +		"uart2_rts", "mcbsp3_dr", "gpt10_pwm_evt", NULL,
 | 
	
		
			
				|  |  | +		"gpio_145", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART2_RX, 147,
 | 
	
		
			
				|  |  | +		"uart2_rx", "mcbsp3_fsx", "gpt8_pwm_evt", NULL,
 | 
	
		
			
				|  |  | +		"gpio_147", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART2_TX, 146,
 | 
	
		
			
				|  |  | +		"uart2_tx", "mcbsp3_clkx", "gpt11_pwm_evt", NULL,
 | 
	
		
			
				|  |  | +		"gpio_146", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART3_CTS_RCTX, 163,
 | 
	
		
			
				|  |  | +		"uart3_cts_rctx", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_163", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART3_RTS_SD, 164,
 | 
	
		
			
				|  |  | +		"uart3_rts_sd", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_164", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART3_RX_IRRX, 165,
 | 
	
		
			
				|  |  | +		"uart3_rx_irrx", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"gpio_165", NULL, NULL, "safe_mode"),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(UART3_TX_IRTX, 166,
 | 
	
		
			
				|  |  | +		"uart3_tx_irtx", NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		"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),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MBUSFLAG, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MREAD, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MWRITE, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_SBUSFLAG, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_SREAD, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_SWRITE, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(GPMC_A11, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MCAD28, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MCAD29, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MCAD32, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MCAD33, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MCAD34, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MCAD35, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_MUXENTRY(SAD2D_MCAD36, 0,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL,
 | 
	
		
			
				|  |  | +		NULL, NULL, NULL, NULL),
 | 
	
		
			
				|  |  | +	{ .reg_offset = OMAP_MUX_TERMINATOR },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Signals different on CBC package compared to the superset
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_OMAP_PACKAGE_CBC)
 | 
	
		
			
				|  |  | +static struct omap_mux __initdata omap3_cbc_subset[] = {
 | 
	
		
			
				|  |  | +	{ .reg_offset = OMAP_MUX_TERMINATOR },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +#else
 | 
	
		
			
				|  |  | +#define omap3_cbc_subset	NULL
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Balls for CBC package
 | 
	
		
			
				|  |  | + * 515-pin s-PBGA Package, 0.65mm Ball Pitch (Top), 0.50mm Ball Pitch (Bottom)
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * FIXME: What's up with the outdated TI documentation? See:
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * http://wiki.davincidsp.com/index.php/Datasheet_Errata_for_OMAP35x_CBC_Package
 | 
	
		
			
				|  |  | + * http://community.ti.com/forums/t/10982.aspx
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS)	\
 | 
	
		
			
				|  |  | +		&& defined(CONFIG_OMAP_PACKAGE_CBC)
 | 
	
		
			
				|  |  | +static struct omap_ball __initdata omap3_cbc_ball[] = {
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D0, "ae16", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D1, "ae15", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D10, "d25", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D11, "e26", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D2, "a24", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D3, "b24", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D4, "d24", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D5, "c24", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D6, "p25", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D7, "p26", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D8, "n25", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_D9, "n26", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_FLD, "b23", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_HS, "c23", NULL),
 | 
	
		
			
				|  |  | +	_OMAP3_BALLENTRY(CAM_PCLK, "c26", NULL),
 |