diff options
Diffstat (limited to 'arch/arm/mach-at91/at91cap9_devices.c')
| -rw-r--r-- | arch/arm/mach-at91/at91cap9_devices.c | 49 | 
1 files changed, 29 insertions, 20 deletions
diff --git a/arch/arm/mach-at91/at91cap9_devices.c b/arch/arm/mach-at91/at91cap9_devices.c index adad70db70e..d298fb7cb21 100644 --- a/arch/arm/mach-at91/at91cap9_devices.c +++ b/arch/arm/mach-at91/at91cap9_devices.c @@ -76,7 +76,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)  	/* Enable VBus control for UHP ports */  	for (i = 0; i < data->ports; i++) { -		if (data->vbus_pin[i]) +		if (gpio_is_valid(data->vbus_pin[i]))  			at91_set_gpio_output(data->vbus_pin[i], 0);  	} @@ -179,7 +179,7 @@ void __init at91_add_device_usba(struct usba_platform_data *data)  	usba_udc_data.pdata.num_ep = ARRAY_SIZE(usba_udc_ep);  	memcpy(usba_udc_data.ep, usba_udc_ep, sizeof(usba_udc_ep)); -	if (data && data->vbus_pin > 0) { +	if (data && gpio_is_valid(data->vbus_pin)) {  		at91_set_gpio_input(data->vbus_pin, 0);  		at91_set_deglitch(data->vbus_pin, 1);  		usba_udc_data.pdata.vbus_pin = data->vbus_pin; @@ -200,7 +200,7 @@ void __init at91_add_device_usba(struct usba_platform_data *data) {}  #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE)  static u64 eth_dmamask = DMA_BIT_MASK(32); -static struct at91_eth_data eth_data; +static struct macb_platform_data eth_data;  static struct resource eth_resources[] = {  	[0] = { @@ -227,12 +227,12 @@ static struct platform_device at91cap9_eth_device = {  	.num_resources	= ARRAY_SIZE(eth_resources),  }; -void __init at91_add_device_eth(struct at91_eth_data *data) +void __init at91_add_device_eth(struct macb_platform_data *data)  {  	if (!data)  		return; -	if (data->phy_irq_pin) { +	if (gpio_is_valid(data->phy_irq_pin)) {  		at91_set_gpio_input(data->phy_irq_pin, 0);  		at91_set_deglitch(data->phy_irq_pin, 1);  	} @@ -264,7 +264,7 @@ void __init at91_add_device_eth(struct at91_eth_data *data)  	platform_device_register(&at91cap9_eth_device);  }  #else -void __init at91_add_device_eth(struct at91_eth_data *data) {} +void __init at91_add_device_eth(struct macb_platform_data *data) {}  #endif @@ -332,13 +332,13 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data)  		return;  	/* input/irq */ -	if (data->det_pin) { +	if (gpio_is_valid(data->det_pin)) {  		at91_set_gpio_input(data->det_pin, 1);  		at91_set_deglitch(data->det_pin, 1);  	} -	if (data->wp_pin) +	if (gpio_is_valid(data->wp_pin))  		at91_set_gpio_input(data->wp_pin, 1); -	if (data->vcc_pin) +	if (gpio_is_valid(data->vcc_pin))  		at91_set_gpio_output(data->vcc_pin, 0);  	if (mmc_id == 0) {		/* MCI0 */ @@ -398,8 +398,8 @@ static struct resource nand_resources[] = {  		.flags	= IORESOURCE_MEM,  	},  	[1] = { -		.start	= AT91_BASE_SYS + AT91_ECC, -		.end	= AT91_BASE_SYS + AT91_ECC + SZ_512 - 1, +		.start	= AT91CAP9_BASE_ECC, +		.end	= AT91CAP9_BASE_ECC + SZ_512 - 1,  		.flags	= IORESOURCE_MEM,  	}  }; @@ -425,15 +425,15 @@ void __init at91_add_device_nand(struct atmel_nand_data *data)  	at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA);  	/* enable pin */ -	if (data->enable_pin) +	if (gpio_is_valid(data->enable_pin))  		at91_set_gpio_output(data->enable_pin, 1);  	/* ready/busy pin */ -	if (data->rdy_pin) +	if (gpio_is_valid(data->rdy_pin))  		at91_set_gpio_input(data->rdy_pin, 1);  	/* card detect pin */ -	if (data->det_pin) +	if (gpio_is_valid(data->det_pin))  		at91_set_gpio_input(data->det_pin, 1);  	nand_data = *data; @@ -670,8 +670,8 @@ static void __init at91_add_device_tc(void) { }  static struct resource rtt_resources[] = {  	{ -		.start	= AT91_BASE_SYS + AT91_RTT, -		.end	= AT91_BASE_SYS + AT91_RTT + SZ_16 - 1, +		.start	= AT91CAP9_BASE_RTT, +		.end	= AT91CAP9_BASE_RTT + SZ_16 - 1,  		.flags	= IORESOURCE_MEM,  	}  }; @@ -694,10 +694,19 @@ static void __init at91_add_device_rtt(void)   * -------------------------------------------------------------------- */  #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) +static struct resource wdt_resources[] = { +	{ +		.start	= AT91CAP9_BASE_WDT, +		.end	= AT91CAP9_BASE_WDT + SZ_16 - 1, +		.flags	= IORESOURCE_MEM, +	} +}; +  static struct platform_device at91cap9_wdt_device = {  	.name		= "at91_wdt",  	.id		= -1, -	.num_resources	= 0, +	.resource	= wdt_resources, +	.num_resources	= ARRAY_SIZE(wdt_resources),  };  static void __init at91_add_device_watchdog(void) @@ -807,7 +816,7 @@ void __init at91_add_device_ac97(struct ac97c_platform_data *data)  	at91_set_A_periph(AT91_PIN_PA9, 0);	/* AC97RX */  	/* reset */ -	if (data->reset_pin) +	if (gpio_is_valid(data->reset_pin))  		at91_set_gpio_output(data->reset_pin, 0);  	ac97_data = *data; @@ -1021,8 +1030,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {}  #if defined(CONFIG_SERIAL_ATMEL)  static struct resource dbgu_resources[] = {  	[0] = { -		.start	= AT91_BASE_SYS + AT91_DBGU, -		.end	= AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, +		.start	= AT91CAP9_BASE_DBGU, +		.end	= AT91CAP9_BASE_DBGU + SZ_512 - 1,  		.flags	= IORESOURCE_MEM,  	},  	[1] = {  |