Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9be8631b authored by Mike Frysinger's avatar Mike Frysinger
Browse files

Blackfin: net2272: move pin setup to boards files

parent c6cb13f9
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -408,6 +408,9 @@ static struct resource net2272_bfin_resources[] = {
		.start = 0x20300000,
		.end = 0x20300000 + 0x100,
		.flags = IORESOURCE_MEM,
	}, {
		.start = 1,
		.flags = IORESOURCE_BUS,
	}, {
		.start = IRQ_PF7,
		.end = IRQ_PF7,
+41 −0
Original line number Diff line number Diff line
@@ -79,6 +79,9 @@ static struct resource net2272_bfin_resources[] = {
		.start = 0x20300000,
		.end = 0x20300000 + 0x100,
		.flags = IORESOURCE_MEM,
	}, {
		.start = 1,
		.flags = IORESOURCE_BUS,
	}, {
		.start = IRQ_PF10,
		.end = IRQ_PF10,
@@ -659,6 +662,41 @@ static struct platform_device *stamp_devices[] __initdata = {
#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)
{
	int ret;
@@ -685,6 +723,9 @@ static int __init stamp_init(void)
	}
#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));
	return 0;
}
+22 −0
Original line number Diff line number Diff line
@@ -766,6 +766,24 @@ static struct platform_device *cm_bf537e_devices[] __initdata = {
#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)
{
	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)
	irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN);
#endif

	if (net2272_init())
		pr_warning("unable to configure net2272; it probably won't work\n");

	return 0;
}

+34 −0
Original line number Diff line number Diff line
@@ -731,6 +731,36 @@ static struct platform_device *cm_bf537u_devices[] __initdata = {
#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)
{
	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)
	irq_set_status_flags(PATA_INT, IRQ_NOAUTOEN);
#endif

	if (net2272_init())
		pr_warning("unable to configure net2272; it probably won't work\n");

	return 0;
}

+24 −0
Original line number Diff line number Diff line
@@ -366,6 +366,9 @@ static struct resource net2272_bfin_resources[] = {
		.start = 0x20300000,
		.end = 0x20300000 + 0x100,
		.flags = IORESOURCE_MEM,
	}, {
		.start = 1,
		.flags = IORESOURCE_BUS,
	}, {
		.start = IRQ_PF7,
		.end = IRQ_PF7,
@@ -2916,6 +2919,24 @@ static struct platform_device *stamp_devices[] __initdata = {
#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)
{
	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));
	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;
}

Loading