|  | @@ -2704,3 +2704,100 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 | 
	
		
			
				|  |  |  			PORT255_DATA, PORT254_DATA, PORT253_DATA, PORT252_DATA,
 | 
	
		
			
				|  |  |  			PORT251_DATA, PORT250_DATA, PORT249_DATA, PORT248_DATA,
 | 
	
		
			
				|  |  |  			PORT247_DATA, PORT246_DATA, PORT245_DATA, PORT244_DATA,
 | 
	
		
			
				|  |  | +			PORT243_DATA, PORT242_DATA, PORT241_DATA, PORT240_DATA,
 | 
	
		
			
				|  |  | +			PORT239_DATA, PORT238_DATA, PORT237_DATA, PORT236_DATA,
 | 
	
		
			
				|  |  | +			PORT235_DATA, PORT234_DATA, PORT233_DATA, PORT232_DATA,
 | 
	
		
			
				|  |  | +			PORT231_DATA, PORT230_DATA, PORT229_DATA, PORT228_DATA,
 | 
	
		
			
				|  |  | +			PORT227_DATA, PORT226_DATA, PORT225_DATA, PORT224_DATA }
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	{ PINMUX_DATA_REG("PORTU287_256DR", 0xe6057004, 32) {
 | 
	
		
			
				|  |  | +			0, 0, 0, 0,
 | 
	
		
			
				|  |  | +			0, PORT282_DATA, PORT281_DATA, PORT280_DATA,
 | 
	
		
			
				|  |  | +			PORT279_DATA, PORT278_DATA, PORT277_DATA, PORT276_DATA,
 | 
	
		
			
				|  |  | +			PORT275_DATA, PORT274_DATA, PORT273_DATA, PORT272_DATA,
 | 
	
		
			
				|  |  | +			PORT271_DATA, PORT270_DATA, PORT269_DATA, PORT268_DATA,
 | 
	
		
			
				|  |  | +			PORT267_DATA, PORT266_DATA, PORT265_DATA, PORT264_DATA,
 | 
	
		
			
				|  |  | +			PORT263_DATA, PORT262_DATA, PORT261_DATA, PORT260_DATA,
 | 
	
		
			
				|  |  | +			PORT259_DATA, PORT258_DATA, PORT257_DATA, PORT256_DATA }
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	{ PINMUX_DATA_REG("PORTR319_288DR", 0xe6056010, 32) {
 | 
	
		
			
				|  |  | +			0, 0, 0, 0,
 | 
	
		
			
				|  |  | +			0, 0, 0, 0,
 | 
	
		
			
				|  |  | +			0, 0, PORT309_DATA, PORT308_DATA,
 | 
	
		
			
				|  |  | +			PORT307_DATA, PORT306_DATA, PORT305_DATA, PORT304_DATA,
 | 
	
		
			
				|  |  | +			PORT303_DATA, PORT302_DATA, PORT301_DATA, PORT300_DATA,
 | 
	
		
			
				|  |  | +			PORT299_DATA, PORT298_DATA, PORT297_DATA, PORT296_DATA,
 | 
	
		
			
				|  |  | +			PORT295_DATA, PORT294_DATA, PORT293_DATA, PORT292_DATA,
 | 
	
		
			
				|  |  | +			PORT291_DATA, PORT290_DATA, PORT289_DATA, PORT288_DATA }
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	{ },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* IRQ pins through INTCS with IRQ0->15 from 0x200 and IRQ16-31 from 0x3200 */
 | 
	
		
			
				|  |  | +#define EXT_IRQ16L(n) intcs_evt2irq(0x200 + ((n) << 5))
 | 
	
		
			
				|  |  | +#define EXT_IRQ16H(n) intcs_evt2irq(0x3200 + ((n - 16) << 5))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct pinmux_irq pinmux_irqs[] = {
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(19), PORT9_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(1), PORT10_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(0), PORT11_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(18), PORT13_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(20), PORT14_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(21), PORT15_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(31), PORT26_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(30), PORT27_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(29), PORT28_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(22), PORT40_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(23), PORT53_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(10), PORT54_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(9), PORT56_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(26), PORT115_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(27), PORT116_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(28), PORT117_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(24), PORT118_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(6), PORT147_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(2), PORT149_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(7), PORT150_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(12), PORT156_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(4), PORT159_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(25), PORT164_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(8), PORT223_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(3), PORT224_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(5), PORT227_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(17), PORT234_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(11), PORT238_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(13), PORT239_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16H(16), PORT249_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(14), PORT251_FN0),
 | 
	
		
			
				|  |  | +	PINMUX_IRQ(EXT_IRQ16L(9), PORT308_FN0),
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct pinmux_info sh73a0_pinmux_info = {
 | 
	
		
			
				|  |  | +	.name = "sh73a0_pfc",
 | 
	
		
			
				|  |  | +	.reserved_id = PINMUX_RESERVED,
 | 
	
		
			
				|  |  | +	.data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
 | 
	
		
			
				|  |  | +	.input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
 | 
	
		
			
				|  |  | +	.input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
 | 
	
		
			
				|  |  | +	.input_pd = { PINMUX_INPUT_PULLDOWN_BEGIN, PINMUX_INPUT_PULLDOWN_END },
 | 
	
		
			
				|  |  | +	.output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
 | 
	
		
			
				|  |  | +	.mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
 | 
	
		
			
				|  |  | +	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	.first_gpio = GPIO_PORT0,
 | 
	
		
			
				|  |  | +	.last_gpio = GPIO_FN_FSIAISLD_PU,
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	.gpios = pinmux_gpios,
 | 
	
		
			
				|  |  | +	.cfg_regs = pinmux_config_regs,
 | 
	
		
			
				|  |  | +	.data_regs = pinmux_data_regs,
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	.gpio_data = pinmux_data,
 | 
	
		
			
				|  |  | +	.gpio_data_size = ARRAY_SIZE(pinmux_data),
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	.gpio_irq = pinmux_irqs,
 | 
	
		
			
				|  |  | +	.gpio_irq_size = ARRAY_SIZE(pinmux_irqs),
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +void sh73a0_pinmux_init(void)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	register_pinmux(&sh73a0_pinmux_info);
 | 
	
		
			
				|  |  | +}
 |