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

Commit d15258c2 authored by Vamsi Krishna Samavedam's avatar Vamsi Krishna Samavedam Committed by Hemant Kumar
Browse files

usb: dwc3: Enable l1_suspend_n signal for host mode



L1 suspend enables the PHY's utmi clock to be powered
off during L1 suspend which can save power during
audio playback using usb audio headphones

Change-Id: I9711ed625df119c48f4edddb8d1a0e48315e037b
Signed-off-by: default avatarVamsi Krishna Samavedam <vskrishn@codeaurora.org>
Signed-off-by: default avatarHemant Kumar <hemantk@codeaurora.org>
parent 7992ce5f
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -123,6 +123,27 @@ void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode)
	dwc->current_dr_role = mode;
}

void dwc3_en_sleep_mode(struct dwc3 *dwc)
{
	u32 reg;

	if (dwc->dis_enblslpm_quirk)
		return;

	reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
	reg |= DWC3_GUSB2PHYCFG_ENBLSLPM;
	dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
}

void dwc3_dis_sleep_mode(struct dwc3 *dwc)
{
	u32 reg;

	reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
	reg &= ~DWC3_GUSB2PHYCFG_ENBLSLPM;
	dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
}

void dwc3_set_mode(struct dwc3 *dwc, u32 mode)
{
	unsigned long flags;
+2 −0
Original line number Diff line number Diff line
@@ -1462,6 +1462,8 @@ struct dwc3_gadget_ep_cmd_params {

/* prototypes */
void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode);
void dwc3_en_sleep_mode(struct dwc3 *dwc);
void dwc3_dis_sleep_mode(struct dwc3 *dwc);
void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
u32 dwc3_core_fifo_space(struct dwc3_ep *dep, u8 type);