[U-Boot] [PATCH v2] usb: dwc2_udc_otg: support 8-bit interface
Marek Vasut
marex at denx.de
Tue Jun 7 03:02:19 CEST 2016
On 06/07/2016 02:55 AM, Steve Rae wrote:
> On Mon, Jun 6, 2016 at 5:38 PM, Marek Vasut <marex at denx.de> wrote:
>> On 06/07/2016 01:58 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 at broadcom.com>
>>
>> Hi, minor nits below.
>>
>>> ---
>>> 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 at 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 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
>>
>> Config file changes should go through the bcm tree or whoever picks those.
> As far as I know, "nobody" is assigned to pick the "bcm tree"
> I've added Albert (arm) ?!?!?
Yeah, either Albert or Tom then. Still ... this might be an indication
that this situation needs to be fixed ;-)
>>> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
>>> index a35a1c7..39e5c03 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 PHY interface width"
>>
>> Rename it to "8-bit PHY bus width", otherwise the boolean value won't
>> make sense here.
> DONE = v3
Thanks
>>> + 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)
>>>
>>
>>
>> --
>> Best regards,
>> Marek Vasut
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list