[U-Boot] [PATCH v2] usb: dwc2_udc_otg: support 8-bit interface

Steve Rae srae at broadcom.com
Tue Jun 7 02:55:41 CEST 2016


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) ?!?!?
>
>> 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
>
>> +     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


More information about the U-Boot mailing list