Blackfin: net2272: move pin setup to boards files

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2011-05-04 11:20:15 -04:00
parent c6cb13f9fe
commit 9be8631b8a
8 changed files with 192 additions and 0 deletions

View File

@ -408,6 +408,9 @@ static struct resource net2272_bfin_resources[] = {
.start = 0x20300000, .start = 0x20300000,
.end = 0x20300000 + 0x100, .end = 0x20300000 + 0x100,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, {
.start = 1,
.flags = IORESOURCE_BUS,
}, { }, {
.start = IRQ_PF7, .start = IRQ_PF7,
.end = IRQ_PF7, .end = IRQ_PF7,

View File

@ -79,6 +79,9 @@ static struct resource net2272_bfin_resources[] = {
.start = 0x20300000, .start = 0x20300000,
.end = 0x20300000 + 0x100, .end = 0x20300000 + 0x100,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, {
.start = 1,
.flags = IORESOURCE_BUS,
}, { }, {
.start = IRQ_PF10, .start = IRQ_PF10,
.end = IRQ_PF10, .end = IRQ_PF10,
@ -659,6 +662,41 @@ static struct platform_device *stamp_devices[] __initdata = {
#endif #endif
}; };
static int __init net2272_init(void)
{
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
int ret;
/* Set PF0 to 0, PF1 to 1 make /AMS3 work properly */
ret = gpio_request(GPIO_PF0, "net2272");
if (ret)
return ret;
ret = gpio_request(GPIO_PF1, "net2272");
if (ret) {
gpio_free(GPIO_PF0);
return ret;
}
ret = gpio_request(GPIO_PF11, "net2272");
if (ret) {
gpio_free(GPIO_PF0);
gpio_free(GPIO_PF1);
return ret;
}
gpio_direction_output(GPIO_PF0, 0);
gpio_direction_output(GPIO_PF1, 1);
/* Reset the USB chip */
gpio_direction_output(GPIO_PF11, 0);
mdelay(2);
gpio_set_value(GPIO_PF11, 1);
#endif
return 0;
}
static int __init stamp_init(void) static int __init stamp_init(void)
{ {
int ret; int ret;
@ -685,6 +723,9 @@ static int __init stamp_init(void)
} }
#endif #endif
if (net2272_init())
pr_warning("unable to configure net2272; it probably won't work\n");
spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
return 0; return 0;
} }

View File

@ -766,6 +766,24 @@ static struct platform_device *cm_bf537e_devices[] __initdata = {
#endif #endif
}; };
static int __init net2272_init(void)
{
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
int ret;
ret = gpio_request(GPIO_PG14, "net2272");
if (ret)
return ret;
/* Reset USB Chip, PG14 */
gpio_direction_output(GPIO_PG14, 0);
mdelay(2);
gpio_set_value(GPIO_PG14, 1);
#endif
return 0;
}
static int __init cm_bf537e_init(void) static int __init cm_bf537e_init(void)
{ {
printk(KERN_INFO "%s(): registering device resources\n", __func__); printk(KERN_INFO "%s(): registering device resources\n", __func__);
@ -777,6 +795,10 @@ static int __init cm_bf537e_init(void)
#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN); irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN);
#endif #endif
if (net2272_init())
pr_warning("unable to configure net2272; it probably won't work\n");
return 0; return 0;
} }

View File

@ -731,6 +731,36 @@ static struct platform_device *cm_bf537u_devices[] __initdata = {
#endif #endif
}; };
static int __init net2272_init(void)
{
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
int ret;
ret = gpio_request(GPIO_PH15, driver_name);
if (ret)
return ret;
ret = gpio_request(GPIO_PH13, "net2272");
if (ret) {
gpio_free(GPIO_PH15);
return ret;
}
/* Set PH15 Low make /AMS2 work properly */
gpio_direction_output(GPIO_PH15, 0);
/* enable CLKBUF output */
bfin_write_VR_CTL(bfin_read_VR_CTL() | CLKBUFOE);
/* Reset the USB chip */
gpio_direction_output(GPIO_PH13, 0);
mdelay(2);
gpio_set_value(GPIO_PH13, 1);
#endif
return 0;
}
static int __init cm_bf537u_init(void) static int __init cm_bf537u_init(void)
{ {
printk(KERN_INFO "%s(): registering device resources\n", __func__); printk(KERN_INFO "%s(): registering device resources\n", __func__);
@ -742,6 +772,10 @@ static int __init cm_bf537u_init(void)
#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN); irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN);
#endif #endif
if (net2272_init())
pr_warning("unable to configure net2272; it probably won't work\n");
return 0; return 0;
} }

View File

@ -366,6 +366,9 @@ static struct resource net2272_bfin_resources[] = {
.start = 0x20300000, .start = 0x20300000,
.end = 0x20300000 + 0x100, .end = 0x20300000 + 0x100,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, {
.start = 1,
.flags = IORESOURCE_BUS,
}, { }, {
.start = IRQ_PF7, .start = IRQ_PF7,
.end = IRQ_PF7, .end = IRQ_PF7,
@ -2916,6 +2919,24 @@ static struct platform_device *stamp_devices[] __initdata = {
#endif #endif
}; };
static int __init net2272_init(void)
{
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
int ret;
ret = gpio_request(GPIO_PF6, "net2272");
if (ret)
return ret;
/* Reset the USB chip */
gpio_direction_output(GPIO_PF6, 0);
mdelay(2);
gpio_set_value(GPIO_PF6, 1);
#endif
return 0;
}
static int __init stamp_init(void) static int __init stamp_init(void)
{ {
printk(KERN_INFO "%s(): registering device resources\n", __func__); printk(KERN_INFO "%s(): registering device resources\n", __func__);
@ -2926,6 +2947,9 @@ static int __init stamp_init(void)
ARRAY_SIZE(bfin_i2c_board_info)); ARRAY_SIZE(bfin_i2c_board_info));
spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
if (net2272_init())
pr_warning("unable to configure net2272; it probably won't work\n");
return 0; return 0;
} }

View File

@ -733,6 +733,24 @@ static struct platform_device *cm_bf537_devices[] __initdata = {
#endif #endif
}; };
static int __init net2272_init(void)
{
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
int ret;
ret = gpio_request(GPIO_PG14, "net2272");
if (ret)
return ret;
/* Reset USB Chip, PG14 */
gpio_direction_output(GPIO_PG14, 0);
mdelay(2);
gpio_set_value(GPIO_PG14, 1);
#endif
return 0;
}
static int __init tcm_bf537_init(void) static int __init tcm_bf537_init(void)
{ {
printk(KERN_INFO "%s(): registering device resources\n", __func__); printk(KERN_INFO "%s(): registering device resources\n", __func__);
@ -744,6 +762,10 @@ static int __init tcm_bf537_init(void)
#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN); irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN);
#endif #endif
if (net2272_init())
pr_warning("unable to configure net2272; it probably won't work\n");
return 0; return 0;
} }

View File

@ -532,6 +532,24 @@ static struct platform_device *cm_bf561_devices[] __initdata = {
#endif #endif
}; };
static int __init net2272_init(void)
{
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
int ret;
ret = gpio_request(GPIO_PF46, "net2272");
if (ret)
return ret;
/* Reset USB Chip, PF46 */
gpio_direction_output(GPIO_PF46, 0);
mdelay(2);
gpio_set_value(GPIO_PF46, 1);
#endif
return 0;
}
static int __init cm_bf561_init(void) static int __init cm_bf561_init(void)
{ {
printk(KERN_INFO "%s(): registering device resources\n", __func__); printk(KERN_INFO "%s(): registering device resources\n", __func__);
@ -543,6 +561,10 @@ static int __init cm_bf561_init(void)
#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN); irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN);
#endif #endif
if (net2272_init())
pr_warning("unable to configure net2272; it probably won't work\n");
return 0; return 0;
} }

View File

@ -107,6 +107,9 @@ static struct resource net2272_bfin_resources[] = {
.start = 0x2C000000, .start = 0x2C000000,
.end = 0x2C000000 + 0x7F, .end = 0x2C000000 + 0x7F,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, {
.start = 1,
.flags = IORESOURCE_BUS,
}, { }, {
.start = IRQ_PF10, .start = IRQ_PF10,
.end = IRQ_PF10, .end = IRQ_PF10,
@ -516,6 +519,24 @@ static struct platform_device *ezkit_devices[] __initdata = {
#endif #endif
}; };
static int __init net2272_init(void)
{
#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
int ret;
ret = gpio_request(GPIO_PF11, "net2272");
if (ret)
return ret;
/* Reset the USB chip */
gpio_direction_output(GPIO_PF11, 0);
mdelay(2);
gpio_set_value(GPIO_PF11, 1);
#endif
return 0;
}
static int __init ezkit_init(void) static int __init ezkit_init(void)
{ {
int ret; int ret;
@ -542,6 +563,9 @@ static int __init ezkit_init(void)
udelay(400); udelay(400);
#endif #endif
if (net2272_init())
pr_warning("unable to configure net2272; it probably won't work\n");
spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
return 0; return 0;
} }