Message ID | 1465261025-13519-1-git-send-email-srae@broadcom.com |
---|---|
State | Superseded |
Headers | show |
On 06/07/2016 02:57 AM, Steve Rae wrote: > Define CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 to allow the > physical interface to be 8-bit (rather than 16-bit). > > Signed-off-by: Steve Rae <srae@broadcom.com> Acked-by: Marek Vasut <marex@denx.de> > --- btw I'd still like to see the defconfig bit split at least in a separate patch. > from [1] (line ~124) > > /* The Kona PHY supports an 8-bit wide UTMI interface */ > [...snip...] > > module_platform_driver(bcm_kona_usb2_driver); > > MODULE_ALIAS("platform:bcm-kona-usb2"); > MODULE_AUTHOR("Matt Porter <mporter@linaro.org>"); > MODULE_DESCRIPTION("BCM Kona USB 2.0 PHY driver"); > MODULE_LICENSE("GPL v2"); > > [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/phy/phy-bcm-kona-usb2.c > > Changes in v3: > - implement Marek's suggestion > > Changes in v2: > - implement as Kconfig > > configs/bcm11130_defconfig | 1 + > configs/bcm11130_nand_defconfig | 1 + > configs/bcm28155_ap_defconfig | 1 + > configs/bcm28155_w1d_defconfig | 1 + > drivers/usb/gadget/Kconfig | 10 ++++++++++ > drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++ > 6 files changed, 18 insertions(+) > > diff --git a/configs/bcm11130_defconfig b/configs/bcm11130_defconfig > index b8ec8ac..2716868 100644 > --- a/configs/bcm11130_defconfig > +++ b/configs/bcm11130_defconfig > @@ -18,6 +18,7 @@ CONFIG_SYS_NS16550=y > CONFIG_USB=y > CONFIG_USB_GADGET=y > CONFIG_USB_GADGET_DWC2_OTG=y > +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y > CONFIG_USB_GADGET_DOWNLOAD=y > CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" > CONFIG_G_DNL_VENDOR_NUM=0x18d1 > diff --git a/configs/bcm11130_nand_defconfig b/configs/bcm11130_nand_defconfig > index 6021fd2..8e01c52 100644 > --- a/configs/bcm11130_nand_defconfig > +++ b/configs/bcm11130_nand_defconfig > @@ -18,6 +18,7 @@ CONFIG_SYS_NS16550=y > CONFIG_USB=y > CONFIG_USB_GADGET=y > CONFIG_USB_GADGET_DWC2_OTG=y > +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y > CONFIG_USB_GADGET_DOWNLOAD=y > CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" > CONFIG_G_DNL_VENDOR_NUM=0x18d1 > diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig > index 4404f32..eb58401 100644 > --- a/configs/bcm28155_ap_defconfig > +++ b/configs/bcm28155_ap_defconfig > @@ -17,6 +17,7 @@ CONFIG_SYS_NS16550=y > CONFIG_USB=y > CONFIG_USB_GADGET=y > CONFIG_USB_GADGET_DWC2_OTG=y > +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y > CONFIG_USB_GADGET_DOWNLOAD=y > CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" > CONFIG_G_DNL_VENDOR_NUM=0x18d1 > diff --git a/configs/bcm28155_w1d_defconfig b/configs/bcm28155_w1d_defconfig > index 60eb328..35d04af 100644 > --- a/configs/bcm28155_w1d_defconfig > +++ b/configs/bcm28155_w1d_defconfig > @@ -18,6 +18,7 @@ CONFIG_SYS_NS16550=y > CONFIG_USB=y > CONFIG_USB_GADGET=y > CONFIG_USB_GADGET_DWC2_OTG=y > +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y > CONFIG_USB_GADGET_DOWNLOAD=y > CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" > CONFIG_G_DNL_VENDOR_NUM=0x18d1 > diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig > index a35a1c7..ae62476 100644 > --- a/drivers/usb/gadget/Kconfig > +++ b/drivers/usb/gadget/Kconfig > @@ -52,6 +52,16 @@ config USB_GADGET_DWC2_OTG > driver to operate in Peripheral mode. This option requires > USB_GADGET to be enabled. > > +if USB_GADGET_DWC2_OTG > + > +config USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 > + bool "DesignWare USB2.0 HS OTG controller 8-bit PHY bus width" > + help > + Set the Designware USB2.0 high-speed OTG controller > + PHY interface width to 8 bits, rather than the default (16 bits). > + > +endif # USB_GADGET_DWC2_OTG > + > config CI_UDC > bool "ChipIdea device controller" > select USB_GADGET_DUALSPEED > diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c > index cb20b00..a23278d 100644 > --- a/drivers/usb/gadget/dwc2_udc_otg.c > +++ b/drivers/usb/gadget/dwc2_udc_otg.c > @@ -415,7 +415,11 @@ static void reconfig_usbd(struct dwc2_udc *dev) > |0<<7 /* Ulpi DDR sel*/ > |0<<6 /* 0: high speed utmi+, 1: full speed serial*/ > |0<<4 /* 0: utmi+, 1:ulpi*/ > +#ifdef CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 > + |0<<3 /* phy i/f 0:8bit, 1:16bit*/ > +#else > |1<<3 /* phy i/f 0:8bit, 1:16bit*/ > +#endif > |0x7<<0; /* HS/FS Timeout**/ > > if (dev->pdata->usb_gusbcfg) >
diff --git a/configs/bcm11130_defconfig b/configs/bcm11130_defconfig index b8ec8ac..2716868 100644 --- a/configs/bcm11130_defconfig +++ b/configs/bcm11130_defconfig @@ -18,6 +18,7 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" CONFIG_G_DNL_VENDOR_NUM=0x18d1 diff --git a/configs/bcm11130_nand_defconfig b/configs/bcm11130_nand_defconfig index 6021fd2..8e01c52 100644 --- a/configs/bcm11130_nand_defconfig +++ b/configs/bcm11130_nand_defconfig @@ -18,6 +18,7 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" CONFIG_G_DNL_VENDOR_NUM=0x18d1 diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig index 4404f32..eb58401 100644 --- a/configs/bcm28155_ap_defconfig +++ b/configs/bcm28155_ap_defconfig @@ -17,6 +17,7 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" CONFIG_G_DNL_VENDOR_NUM=0x18d1 diff --git a/configs/bcm28155_w1d_defconfig b/configs/bcm28155_w1d_defconfig index 60eb328..35d04af 100644 --- a/configs/bcm28155_w1d_defconfig +++ b/configs/bcm28155_w1d_defconfig @@ -18,6 +18,7 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Broadcom Corporation" CONFIG_G_DNL_VENDOR_NUM=0x18d1 diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index a35a1c7..ae62476 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -52,6 +52,16 @@ config USB_GADGET_DWC2_OTG driver to operate in Peripheral mode. This option requires USB_GADGET to be enabled. +if USB_GADGET_DWC2_OTG + +config USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 + bool "DesignWare USB2.0 HS OTG controller 8-bit PHY bus width" + help + Set the Designware USB2.0 high-speed OTG controller + PHY interface width to 8 bits, rather than the default (16 bits). + +endif # USB_GADGET_DWC2_OTG + config CI_UDC bool "ChipIdea device controller" select USB_GADGET_DUALSPEED diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index cb20b00..a23278d 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -415,7 +415,11 @@ static void reconfig_usbd(struct dwc2_udc *dev) |0<<7 /* Ulpi DDR sel*/ |0<<6 /* 0: high speed utmi+, 1: full speed serial*/ |0<<4 /* 0: utmi+, 1:ulpi*/ +#ifdef CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 + |0<<3 /* phy i/f 0:8bit, 1:16bit*/ +#else |1<<3 /* phy i/f 0:8bit, 1:16bit*/ +#endif |0x7<<0; /* HS/FS Timeout**/ if (dev->pdata->usb_gusbcfg)
Define CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 to allow the physical interface to be 8-bit (rather than 16-bit). Signed-off-by: Steve Rae <srae@broadcom.com> --- from [1] (line ~124) /* The Kona PHY supports an 8-bit wide UTMI interface */ [...snip...] module_platform_driver(bcm_kona_usb2_driver); MODULE_ALIAS("platform:bcm-kona-usb2"); MODULE_AUTHOR("Matt Porter <mporter@linaro.org>"); MODULE_DESCRIPTION("BCM Kona USB 2.0 PHY driver"); MODULE_LICENSE("GPL v2"); [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/phy/phy-bcm-kona-usb2.c Changes in v3: - implement Marek's suggestion Changes in v2: - implement as Kconfig configs/bcm11130_defconfig | 1 + configs/bcm11130_nand_defconfig | 1 + configs/bcm28155_ap_defconfig | 1 + configs/bcm28155_w1d_defconfig | 1 + drivers/usb/gadget/Kconfig | 10 ++++++++++ drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++ 6 files changed, 18 insertions(+)