usb: mtu3: power down port when power down device IP
When power down device IP, we can also power down device port, then power on the port again when power on device ip, it's helpful to make device ip enter ip sleep mode. Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Link: https://lore.kernel.org/r/1623139069-8173-7-git-send-email-chunfeng.yun@mediatek.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b057da6d54
commit
960d3557d2
|
@ -334,6 +334,10 @@ void mtu3_start(struct mtu3 *mtu)
|
|||
mtu3_readl(mbase, U3D_DEVICE_CONTROL));
|
||||
|
||||
mtu3_clrbits(mtu->ippc_base, U3D_SSUSB_IP_PW_CTRL2, SSUSB_IP_DEV_PDN);
|
||||
if (mtu->is_u3_ip)
|
||||
mtu3_clrbits(mtu->ippc_base, SSUSB_U3_CTRL(0), SSUSB_U3_PORT_PDN);
|
||||
|
||||
mtu3_clrbits(mtu->ippc_base, SSUSB_U2_CTRL(0), SSUSB_U2_PORT_PDN);
|
||||
|
||||
mtu3_csr_init(mtu);
|
||||
mtu3_set_speed(mtu, mtu->speed);
|
||||
|
@ -356,6 +360,11 @@ void mtu3_stop(struct mtu3 *mtu)
|
|||
mtu3_dev_on_off(mtu, 0);
|
||||
|
||||
mtu->is_active = 0;
|
||||
|
||||
if (mtu->is_u3_ip)
|
||||
mtu3_setbits(mtu->ippc_base, SSUSB_U3_CTRL(0), SSUSB_U3_PORT_PDN);
|
||||
|
||||
mtu3_setbits(mtu->ippc_base, SSUSB_U2_CTRL(0), SSUSB_U2_PORT_PDN);
|
||||
mtu3_setbits(mtu->ippc_base, U3D_SSUSB_IP_PW_CTRL2, SSUSB_IP_DEV_PDN);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue