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

Commit b62d91e5 authored by Dmitry Lifshitz's avatar Dmitry Lifshitz Committed by Tony Lindgren
Browse files

ARM: OMAP2+: make reset pulse for sbc-t3x usb hubs



sbc-t3x boards features two external USB ports on SB-T35 baseboard.
The baseboardi USB hub reset signal should be de-asserted to make
those ports functional.

sbc-t3517 features additional (assembled on CoM) USB hub which also
requires reset signal handling.

Add quirks code to handle proper reset pulse signal.

Signed-off-by: default avatarDmitry Lifshitz <lifshitz@compulab.co.il>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent fb45105a
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -108,6 +108,23 @@ static int omap3_sbc_t3730_twl_callback(struct device *dev,
	return 0;
}

static void __init omap3_sbc_t3x_usb_hub_init(int gpio, char *hub_name)
{
	int err = gpio_request_one(gpio, GPIOF_OUT_INIT_LOW, hub_name);

	if (err) {
		pr_err("SBC-T3x: %s reset gpio request failed: %d\n",
			hub_name, err);
		return;
	}

	gpio_export(gpio, 0);

	udelay(10);
	gpio_set_value(gpio, 1);
	msleep(1);
}

static void __init omap3_sbc_t3730_twl_init(void)
{
	twl_gpio_auxdata.setup = omap3_sbc_t3730_twl_callback;
@@ -115,12 +132,14 @@ static void __init omap3_sbc_t3730_twl_init(void)

static void __init omap3_sbc_t3730_legacy_init(void)
{
	omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub");
	legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 136);
	omap_ads7846_init(1, 57, 0, NULL);
}

static void __init omap3_sbc_t3530_legacy_init(void)
{
	omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub");
	omap_ads7846_init(1, 57, 0, NULL);
}

@@ -198,6 +217,8 @@ static void __init omap3_sbc_t3517_wifi_init(void)

static void __init omap3_sbc_t3517_legacy_init(void)
{
	omap3_sbc_t3x_usb_hub_init(152, "cm-t3517 usb hub");
	omap3_sbc_t3x_usb_hub_init(98, "sb-t35 usb hub");
	am35xx_emac_reset();
	hsmmc2_internal_input_clk();
	omap3_sbc_t3517_wifi_init();