static int tegra_usb_phy_init_ops(struct tegra_usb_phy *phy)
{
	int err = 0;

	DBG("%s(%d) inst:[%d]\n", __func__, __LINE__, phy->inst);

	if (phy->pdata->has_hostpc)
		err = tegra3_usb_phy_init_ops(phy);
	else
		err = tegra2_usb_phy_init_ops(phy);

	return err;
}
Beispiel #2
0
static int tegra_usb_phy_init_ops(struct tegra_usb_phy *phy)
{
	int err = 0;

	DBG("%s(%d) inst:[%d]\n", __func__, __LINE__, phy->inst);

	if (phy->pdata->has_hostpc)
#if defined (CONFIG_ARCH_TEGRA_11x_SOC) || defined (CONFIG_ARCH_TEGRA_14x_SOC)
		err = tegra11x_usb_phy_init_ops(phy);
#else
		err = tegra3_usb_phy_init_ops(phy);
#endif
#if defined (CONFIG_ARCH_TEGRA_2x_SOC)
	else
		err = tegra2_usb_phy_init_ops(phy);
#endif
	return err;
}

static irqreturn_t usb_phy_dev_vbus_pmu_irq_thr(int irq, void *pdata)
{
	struct tegra_usb_phy *phy = pdata;

	if (phy->vdd_reg && !phy->vdd_reg_on) {
		regulator_enable(phy->vdd_reg);
		phy->vdd_reg_on = true;
		/*
		 * Optimal time to get the regulator turned on
		 * before detecting vbus interrupt.
		 */