X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Flayerscape%2Fpatches-4.9%2F817-usb-support-layerscape.patch;h=3ec91b4982022541d1c9a97bc3bf6db20f2b55ca;hb=7dca1bae82;hp=f8917291ee2517879ec85f0110dd596e457cc866;hpb=5b0c899bfd65def36776d34a8fa8a22d3163fba2;p=openwrt%2Fstaging%2Fmkresin.git diff --git a/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch b/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch index f8917291ee..3ec91b4982 100644 --- a/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch @@ -206,7 +206,7 @@ Signed-off-by: Yangbo Lu if (IS_ENABLED(CONFIG_USB_DWC3_HOST)) mode = USB_DR_MODE_HOST; else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET)) -@@ -213,8 +232,9 @@ static void dwc3_frame_length_adjustment +@@ -227,8 +246,9 @@ static void dwc3_frame_length_adjustment reg = dwc3_readl(dwc->regs, DWC3_GFLADJ); dft = reg & DWC3_GFLADJ_30MHZ_MASK; @@ -218,7 +218,7 @@ Signed-off-by: Yangbo Lu reg &= ~DWC3_GFLADJ_30MHZ_MASK; reg |= DWC3_GFLADJ_30MHZ_SDBND_SEL | dwc->fladj; dwc3_writel(dwc->regs, DWC3_GFLADJ, reg); -@@ -585,6 +605,99 @@ static int dwc3_phy_setup(struct dwc3 *d +@@ -599,6 +619,99 @@ static int dwc3_phy_setup(struct dwc3 *d return 0; } @@ -318,7 +318,7 @@ Signed-off-by: Yangbo Lu static void dwc3_core_exit(struct dwc3 *dwc) { dwc3_event_buffers_cleanup(dwc); -@@ -727,6 +840,8 @@ static int dwc3_core_init(struct dwc3 *d +@@ -741,6 +854,8 @@ static int dwc3_core_init(struct dwc3 *d if (ret) goto err1; @@ -327,7 +327,7 @@ Signed-off-by: Yangbo Lu /* Adjust Frame Length */ dwc3_frame_length_adjustment(dwc); -@@ -925,11 +1040,117 @@ static void dwc3_core_exit_mode(struct d +@@ -939,11 +1054,117 @@ static void dwc3_core_exit_mode(struct d } } @@ -445,7 +445,7 @@ Signed-off-by: Yangbo Lu struct resource *res; struct dwc3 *dwc; u8 lpm_nyet_threshold; -@@ -961,6 +1182,11 @@ static int dwc3_probe(struct platform_de +@@ -975,6 +1196,11 @@ static int dwc3_probe(struct platform_de dwc->xhci_resources[0].flags = res->flags; dwc->xhci_resources[0].name = res->name; @@ -457,7 +457,7 @@ Signed-off-by: Yangbo Lu res->start += DWC3_GLOBALS_REGS_START; /* -@@ -1003,6 +1229,12 @@ static int dwc3_probe(struct platform_de +@@ -1017,6 +1243,12 @@ static int dwc3_probe(struct platform_de dwc->usb3_lpm_capable = device_property_read_bool(dev, "snps,usb3_lpm_capable"); @@ -470,7 +470,7 @@ Signed-off-by: Yangbo Lu dwc->disable_scramble_quirk = device_property_read_bool(dev, "snps,disable_scramble_quirk"); dwc->u2exit_lfps_quirk = device_property_read_bool(dev, -@@ -1047,6 +1279,8 @@ static int dwc3_probe(struct platform_de +@@ -1061,6 +1293,8 @@ static int dwc3_probe(struct platform_de dwc->hird_threshold = hird_threshold | (dwc->is_utmi_l1_suspend << 4); @@ -479,7 +479,7 @@ Signed-off-by: Yangbo Lu platform_set_drvdata(pdev, dwc); dwc3_cache_hwparams(dwc); -@@ -1070,6 +1304,11 @@ static int dwc3_probe(struct platform_de +@@ -1084,6 +1318,11 @@ static int dwc3_probe(struct platform_de if (ret < 0) goto err1; @@ -542,7 +542,7 @@ Signed-off-by: Yangbo Lu #define DWC3_GCTL_PRTCAP(n) (((n) & (3 << 12)) >> 12) #define DWC3_GCTL_PRTCAPDIR(n) ((n) << 12) #define DWC3_GCTL_PRTCAP_HOST 1 -@@ -292,6 +318,10 @@ +@@ -294,6 +320,10 @@ /* Global Frame Length Adjustment Register */ #define DWC3_GFLADJ_30MHZ_SDBND_SEL (1 << 7) #define DWC3_GFLADJ_30MHZ_MASK 0x3f @@ -553,7 +553,7 @@ Signed-off-by: Yangbo Lu /* Global User Control Register 2 */ #define DWC3_GUCTL2_RST_ACTBITLATER (1 << 14) -@@ -756,6 +786,7 @@ struct dwc3_scratchpad_array { +@@ -758,6 +788,7 @@ struct dwc3_scratchpad_array { * @regs: base address for our registers * @regs_size: address space size * @fladj: frame length adjustment @@ -561,7 +561,7 @@ Signed-off-by: Yangbo Lu * @irq_gadget: peripheral controller's IRQ number * @nr_scratch: number of scratch buffers * @u1u2: only used on revisions <1.83a for workaround -@@ -832,6 +863,7 @@ struct dwc3_scratchpad_array { +@@ -834,6 +865,7 @@ struct dwc3_scratchpad_array { * 1 - -3.5dB de-emphasis * 2 - No de-emphasis * 3 - Reserved @@ -569,7 +569,7 @@ Signed-off-by: Yangbo Lu */ struct dwc3 { struct usb_ctrlrequest *ctrl_req; -@@ -850,6 +882,7 @@ struct dwc3 { +@@ -852,6 +884,7 @@ struct dwc3 { spinlock_t lock; struct device *dev; @@ -577,7 +577,7 @@ Signed-off-by: Yangbo Lu struct platform_device *xhci; struct resource xhci_resources[DWC3_XHCI_RESOURCES_NUM]; -@@ -875,6 +908,12 @@ struct dwc3 { +@@ -877,6 +910,12 @@ struct dwc3 { enum usb_phy_interface hsphy_mode; u32 fladj; @@ -590,7 +590,7 @@ Signed-off-by: Yangbo Lu u32 irq_gadget; u32 nr_scratch; u32 u1u2; -@@ -951,9 +990,12 @@ struct dwc3 { +@@ -953,9 +992,12 @@ struct dwc3 { unsigned ep0_bounced:1; unsigned ep0_expect_in:1; unsigned has_hibernation:1; @@ -603,7 +603,7 @@ Signed-off-by: Yangbo Lu unsigned pending_events:1; unsigned pullups_connected:1; unsigned setup_packet_pending:1; -@@ -974,9 +1016,16 @@ struct dwc3 { +@@ -976,9 +1018,16 @@ struct dwc3 { unsigned dis_rxdet_inp3_quirk:1; unsigned dis_u2_freeclk_exists_quirk:1; unsigned dis_del_phy_power_chg_quirk:1; @@ -822,7 +822,7 @@ Signed-off-by: Yangbo Lu curr_ep = get_ep_by_pipe(udc, i); /* If the ep is configured */ -- if (curr_ep->name == NULL) { +- if (!curr_ep->ep.name) { + if (strncmp(curr_ep->name, "ep", 2)) { WARNING("Invalid EP?"); continue;