mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
usb: dwc2: gadget: fix phy interface configuration
hsotg->phyif is set in dwc2_gadget_init according to phy interface width. Use it for configuration instead of hardcoded value. Moreover, set USB turnaround time according to phy width. Tested-by: Robert Baldyga <r.baldyga@samsung.com> Acked-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@intel.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
ccb34a9101
commit
fa4a8d722b
@ -2290,8 +2290,9 @@ void s3c_hsotg_core_init_disconnected(struct dwc2_hsotg *hsotg,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* set the PLL on, remove the HNP/SRP and set the PHY */
|
/* set the PLL on, remove the HNP/SRP and set the PHY */
|
||||||
|
val = (hsotg->phyif == GUSBCFG_PHYIF8) ? 9 : 5;
|
||||||
writel(hsotg->phyif | GUSBCFG_TOUTCAL(7) |
|
writel(hsotg->phyif | GUSBCFG_TOUTCAL(7) |
|
||||||
(0x5 << 10), hsotg->regs + GUSBCFG);
|
(val << 10), hsotg->regs + GUSBCFG);
|
||||||
|
|
||||||
s3c_hsotg_init_fifo(hsotg);
|
s3c_hsotg_init_fifo(hsotg);
|
||||||
|
|
||||||
@ -2978,6 +2979,7 @@ static void s3c_hsotg_phy_disable(struct dwc2_hsotg *hsotg)
|
|||||||
*/
|
*/
|
||||||
static void s3c_hsotg_init(struct dwc2_hsotg *hsotg)
|
static void s3c_hsotg_init(struct dwc2_hsotg *hsotg)
|
||||||
{
|
{
|
||||||
|
u32 trdtim;
|
||||||
/* unmask subset of endpoint interrupts */
|
/* unmask subset of endpoint interrupts */
|
||||||
|
|
||||||
writel(DIEPMSK_TIMEOUTMSK | DIEPMSK_AHBERRMSK |
|
writel(DIEPMSK_TIMEOUTMSK | DIEPMSK_AHBERRMSK |
|
||||||
@ -3002,8 +3004,10 @@ static void s3c_hsotg_init(struct dwc2_hsotg *hsotg)
|
|||||||
s3c_hsotg_init_fifo(hsotg);
|
s3c_hsotg_init_fifo(hsotg);
|
||||||
|
|
||||||
/* set the PLL on, remove the HNP/SRP and set the PHY */
|
/* set the PLL on, remove the HNP/SRP and set the PHY */
|
||||||
writel(GUSBCFG_PHYIF16 | GUSBCFG_TOUTCAL(7) | (0x5 << 10),
|
trdtim = (hsotg->phyif == GUSBCFG_PHYIF8) ? 9 : 5;
|
||||||
hsotg->regs + GUSBCFG);
|
writel(hsotg->phyif | GUSBCFG_TOUTCAL(7) |
|
||||||
|
(trdtim << 10),
|
||||||
|
hsotg->regs + GUSBCFG);
|
||||||
|
|
||||||
if (using_dma(hsotg))
|
if (using_dma(hsotg))
|
||||||
__orr32(hsotg->regs + GAHBCFG, GAHBCFG_DMA_EN);
|
__orr32(hsotg->regs + GAHBCFG, GAHBCFG_DMA_EN);
|
||||||
|
Loading…
Reference in New Issue
Block a user