
On 06/07/2016 02:55 AM, Steve Rae wrote:
On Mon, Jun 6, 2016 at 5:38 PM, Marek Vasut marex@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@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@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...
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