Skip to contentSkip to conversation

usb: dwc2_udc_otg: support 8-bit interface

PATCH New Steve Rae 3 participants 10 messages Jun 6, 2016

Subsystems (3)
lore
Share & tools
lore

Steve Rae

author
#0 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the physical interface to be 8-bit (rather than 16-bit).

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
drivers/usb/gadget/dwc2_udc_otg.c +4 -0
index cb20b00..a95c8d5 100644
@@ -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_PHY_8_BIT
+		|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)
include/configs/bcm28155_ap.h +1 -0
index 889e5db..e04cfbe 100644
@@ -134,6 +134,7 @@
 #define CONFIG_SYS_CACHELINE_SIZE	64
 #define CONFIG_FASTBOOT_BUF_SIZE	(CONFIG_SYS_SDRAM_SIZE - SZ_1M)
 #define CONFIG_FASTBOOT_BUF_ADDR	CONFIG_SYS_SDRAM_BASE
+#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
 #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
 #define CONFIG_USBID_ADDR		0x34052c46
 
Signature · 1 line
1.8.5
#1 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 4 lines · Steve Rae

Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the physical interface to be 8-bit (rather than 16-bit).

Can this config option be picked from DT rather than hard-coded by some new ad-hoc config option ? Also, new options should be Kconfig'd .

Thanks

Quoted 35 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
drivers/usb/gadget/dwc2_udc_otg.c +4 -0
index cb20b00..a95c8d5 100644
@@ -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_PHY_8_BIT
+		|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)
include/configs/bcm28155_ap.h +1 -0
index 889e5db..e04cfbe 100644
@@ -134,6 +134,7 @@
 #define CONFIG_SYS_CACHELINE_SIZE	64
 #define CONFIG_FASTBOOT_BUF_SIZE	(CONFIG_SYS_SDRAM_SIZE - SZ_1M)
 #define CONFIG_FASTBOOT_BUF_ADDR	CONFIG_SYS_SDRAM_BASE
+#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
 #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
 #define CONFIG_USBID_ADDR		0x34052c46
 
Signature · 2 lines
Best regards,
Marek Vasut
#2 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 5 lines · Marek Vasut
Quoted 3 lines · Steve Rae

Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the physical interface to be 8-bit (rather than 16-bit).

Quoted 7 lines
Quoted 1 line

Can this config option be picked from DT rather than hard-coded by some new ad-hoc config option ? Also, new options should be Kconfig'd .

Thanks

Marek,
would this be the correct place to add this Kconfig??? is the wording sufficient?
Thanks, Steve

drivers/usb/gadget/Kconfig +6 -0
index a35a1c7..e957df4 100644
@@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
 
 config USB_GADGET_DWC2_OTG
        bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
        select USB_GADGET_DUALSPEED
        help
          The Designware USB2.0 high-speed gadget controller
          integrated into many SoCs. Select this option if you want the
          driver to operate in Peripheral mode. This option requires
          USB_GADGET to be enabled.
 
+config USB_GADGET_DWC2_PHY_8_BIT
+       bool "DesignWare USB2.0 controller (gadget mode)"
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.
+
 config CI_UDC
        bool "ChipIdea device controller"
        select USB_GADGET_DUALSPEED
        help
          Say Y here to enable device controller functionality of the
          ChipIdea driver.
 
 config USB_GADGET_VBUS_DRAW
        int "Maximum VBUS Power usage (2-500 mA)"
        range 2 500
Quoted 41 lines
Quoted 29 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
drivers/usb/gadget/dwc2_udc_otg.c +4 -0
index cb20b00..a95c8d5 100644
@@ -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_PHY_8_BIT
+             |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)
include/configs/bcm28155_ap.h +0 -0
index 889e5db..e04cfbe 100644

include/configs/bcm28155_ap.h line 140

Quoted 7 lines
include/configs/bcm28155_ap.h +1 -0
@@ -134,6 +134,7 @@
 #define CONFIG_SYS_CACHELINE_SIZE    64
 #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE - SZ_1M)
 #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
+#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
 #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
 #define CONFIG_USBID_ADDR            0x34052c46
 

--
Best regards,
Marek Vasut

#3 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 8 lines · Steve Rae
Quoted 7 lines · Marek Vasut
Quoted 4 lines · Steve Rae

Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the physical interface to be 8-bit (rather than 16-bit).

Quoted 7 lines
Quoted 5 lines

Can this config option be picked from DT rather than hard-coded by some new ad-hoc config option ? Also, new options should be Kconfig'd .

Thanks

Marek,

Hi,

Quoted 11 lines

would this be the correct place to add this Kconfig??? is the wording sufficient?
Thanks, Steve

drivers/usb/gadget/Kconfig +0 -0
index a35a1c7..e957df4 100644
@@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
 
 config USB_GADGET_DWC2_OTG

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 56

Quoted 10 lines
drivers/usb/gadget/Kconfig +2 -0
        bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
        select USB_GADGET_DUALSPEED
        help
          The Designware USB2.0 high-speed gadget controller
          integrated into many SoCs. Select this option if you want the
          driver to operate in Peripheral mode. This option requires
          USB_GADGET to be enabled.
 
+config USB_GADGET_DWC2_PHY_8_BIT
+       bool "DesignWare USB2.0 controller (gadget mode)"

This is wrong, right ?

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 59

Quoted 3 lines
drivers/usb/gadget/Kconfig +3 -0
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.

You mean 8bit mode ULPI, don't you ?

Quoted 52 lines
drivers/usb/gadget/Kconfig +0 -0
 config CI_UDC
        bool "ChipIdea device controller"
        select USB_GADGET_DUALSPEED
        help
          Say Y here to enable device controller functionality of the
          ChipIdea driver.
 
 config USB_GADGET_VBUS_DRAW
        int "Maximum VBUS Power usage (2-500 mA)"
        range 2 500
Quoted 42 lines
Quoted 30 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
drivers/usb/gadget/dwc2_udc_otg.c +4 -0
index cb20b00..a95c8d5 100644
@@ -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_PHY_8_BIT
+             |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)
include/configs/bcm28155_ap.h +0 -0
index 889e5db..e04cfbe 100644

include/configs/bcm28155_ap.h line 140

Quoted 7 lines
include/configs/bcm28155_ap.h +1 -0
@@ -134,6 +134,7 @@
 #define CONFIG_SYS_CACHELINE_SIZE    64
 #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE - SZ_1M)
 #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
+#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
 #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
 #define CONFIG_USBID_ADDR            0x34052c46
 

--
Best regards,
Marek Vasut

Signature · 2 lines
Best regards,
Marek Vasut
#4 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 38 lines · Marek Vasut
Quoted 8 lines · Steve Rae
Quoted 7 lines · Marek Vasut
Quoted 4 lines · Steve Rae

Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the physical interface to be 8-bit (rather than 16-bit).

Quoted 7 lines
Quoted 5 lines

Can this config option be picked from DT rather than hard-coded by some new ad-hoc config option ? Also, new options should be Kconfig'd .

Thanks

Marek,

Hi,

Quoted 19 lines

would this be the correct place to add this Kconfig??? is the wording sufficient?
Thanks, Steve

drivers/usb/gadget/Kconfig +0 -0
index a35a1c7..e957df4 100644
@@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
 
 config USB_GADGET_DWC2_OTG
        bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
        select USB_GADGET_DUALSPEED
        help
          The Designware USB2.0 high-speed gadget controller
          integrated into many SoCs. Select this option if you want the
          driver to operate in Peripheral mode. This option requires
          USB_GADGET to be enabled.
 
Quoted 5 lines

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 56

Quoted 2 lines
drivers/usb/gadget/Kconfig +2 -0
+config USB_GADGET_DWC2_PHY_8_BIT
+       bool "DesignWare USB2.0 controller (gadget mode)"

This is wrong, right ?

(see below)

Quoted 7 lines

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 59

Quoted 4 lines
drivers/usb/gadget/Kconfig +3 -0
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.

You mean 8bit mode ULPI, don't you ?

(see below)

Quoted 28 lines
Quoted 13 lines
drivers/usb/gadget/Kconfig +0 -0
 config CI_UDC
        bool "ChipIdea device controller"
        select USB_GADGET_DUALSPEED
        help
          Say Y here to enable device controller functionality of the
          ChipIdea driver.
 
 config USB_GADGET_VBUS_DRAW
        int "Maximum VBUS Power usage (2-500 mA)"
        range 2 500
Quoted 2 lines
Quoted 7 lines
Quoted 7 lines

Review

Quoted 7 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
(quoted diff) +0 -0

b/drivers/usb/gadget/dwc2_udc_otg.c

Quoted 6 lines
Quoted 6 lines

drivers/usb/gadget/dwc2_udc_otg.c static void reconfig_usbd(struct dwc2_udc *dev) · line 416

Quoted 6 lines

index cb20b00..a95c8d5 100644

drivers/usb/gadget/dwc2_udc_otg.c +0 -0
@@ -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*/

Quoted 8 lines
Quoted 7 lines
Quoted 7 lines

drivers/usb/gadget/dwc2_udc_otg.c static void reconfig_usbd(struct dwc2_udc *dev) · line 423

Quoted 7 lines
drivers/usb/gadget/dwc2_udc_otg.c +4 -0
              |0<<4           /* 0: utmi+, 1:ulpi*/
+#ifdef CONFIG_USB_GADGET_DWC2_PHY_8_BIT
+             |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**/

Marek,
The _only_ thing that I know is that this structure contains settings to make the USB-OTG interface work on Broadcom boards. Broadcom "hardcoded" these values to "utmi+" and "8bit" ("years ago"...), and I am attempting to upstream this change (which I think requires a CONFIG option -- so that I don't break the current usage; unless there is a better method???) So what this CONFIG is "called" and what is its "explanation" is completely unknown to me -- hence, I am asking for help in determining what the Kconfig option should actually be....
Thanks in advance, Steve

Quoted 27 lines
Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
drivers/usb/gadget/dwc2_udc_otg.c +0 -0
      if (dev->pdata->usb_gusbcfg)
(quoted diff) +0 -0

b/include/configs/bcm28155_ap.h

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

index 889e5db..e04cfbe 100644

include/configs/bcm28155_ap.h +1 -0
@@ -134,6 +134,7 @@
 #define CONFIG_SYS_CACHELINE_SIZE    64
 #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE - SZ_1M)
 #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
+#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
 #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
Quoted 8 lines
Quoted 8 lines

include/configs/bcm28155_ap.h line 140

Quoted 3 lines
include/configs/bcm28155_ap.h +0 -0
 #define CONFIG_USBID_ADDR            0x34052c46
 

--
Best regards,
Marek Vasut

--
Best regards,
Marek Vasut

#5 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 96 lines · Steve Rae

On Mon, Jun 6, 2016 at 9:30 AM, Marek Vasut <[email protected] <mailto:[email protected]>> wrote:

On 06/06/2016 06:15 PM, Steve Rae wrote:
> On Mon, Jun 6, 2016 at 8:59 AM, Marek Vasut <marex at denx.de <mailto:[email protected]>> wrote:
>>
>> On 06/06/2016 05:57 PM, Steve Rae wrote:
>>> Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the
>>> physical interface to be 8-bit (rather than 16-bit).
>>>
>>> Signed-off-by: Steve Rae <srae at broadcom.com <mailto:[email protected]>> >>
>> Can this config option be picked from DT rather than hard-coded by some
>> new ad-hoc config option ? Also, new options should be Kconfig'd .
>>
>> Thanks
>>
>
> Marek,

Hi,

> would this be the correct place to add this Kconfig???
> is the wording sufficient?
> Thanks, Steve
>
> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig > index a35a1c7..e957df4 100644
> --- a/drivers/usb/gadget/Kconfig
> +++ b/drivers/usb/gadget/Kconfig
> @@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
>
> config USB_GADGET_DWC2_OTG
> bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
> select USB_GADGET_DUALSPEED
> help
> The Designware USB2.0 high-speed gadget controller
> integrated into many SoCs. Select this option if you want the
> driver to operate in Peripheral mode. This option requires
> USB_GADGET to be enabled.
>
> +config USB_GADGET_DWC2_PHY_8_BIT
> + bool "DesignWare USB2.0 controller (gadget mode)"

This is wrong, right ?

(see below)

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 59

Quoted 3 lines
drivers/usb/gadget/Kconfig +3 -0
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.

You mean 8bit mode ULPI, don't you ?

(see below)

Quoted 12 lines

config CI_UDC
bool "ChipIdea device controller"
select USB_GADGET_DUALSPEED
help
Say Y here to enable device controller functionality of the ChipIdea driver.

config USB_GADGET_VBUS_DRAW
int "Maximum VBUS Power usage (2-500 mA)"
range 2 500

Quoted 1 line
Quoted 7 lines
Quoted 7 lines

Review

Quoted 7 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
(quoted diff) +0 -0
    b/drivers/usb/gadget/dwc2_udc_otg.c
    >>> index cb20b00..a95c8d5 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_PHY_8_BIT
    >>> +             |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**/
Quoted 6 lines

Marek,
The _only_ thing that I know is that this structure contains settings to make the USB-OTG interface work on Broadcom boards. Broadcom "hardcoded" these values to "utmi+" and "8bit" ("years ago"...), and I am attempting to upstream this change (which I think requires a CONFIG option -- so that I don't break the current usage; unless there is a better method???)

The best method is to pull such configuration from device tree. I don't know if DT is used on the BCM28155 chip yet. The acceptable option is to add the Kconfig option.

Quoted 3 lines

So what this CONFIG is "called" and what is its "explanation" is completely unknown to me -- hence, I am asking for help in determining what the Kconfig option should actually be....

Something like "DesignWare USB2.0 HS OTG controller PHY interface width" ? The bit which this alters has to be described in the controller manual, so just call it the same.

btw the Kconfig option should be moved under the DWC2 controller entry, something like this will do:

if USB_GADGET_DWC2
config USB_GADGET_DWC2_PHY_8_BIT

    .......

endif

Quoted 31 lines

Thanks in advance, Steve

Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
      if (dev->pdata->usb_gusbcfg)
(quoted diff) +0 -0
    b/include/configs/bcm28155_ap.h
    >>> index 889e5db..e04cfbe 100644
    >>> --- a/include/configs/bcm28155_ap.h
    >>> +++ b/include/configs/bcm28155_ap.h
    >>> @@ -134,6 +134,7 @@
    >>>  #define CONFIG_SYS_CACHELINE_SIZE    64
    >>>  #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE -
    SZ_1M)
    >>>  #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
    >>> +#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
    >>>  #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
    >>>  #define CONFIG_USBID_ADDR            0x34052c46
    >>>
    >>>
    >>
    >>
    >> --
    >> Best regards,
    >> Marek Vasut


    --
    Best regards,
    Marek Vasut
Signature · 2 lines
Best regards,
Marek Vasut
#6 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 109 lines · Marek Vasut
Quoted 96 lines · Steve Rae

On Mon, Jun 6, 2016 at 9:30 AM, Marek Vasut <[email protected] <mailto:[email protected]>> wrote:

On 06/06/2016 06:15 PM, Steve Rae wrote:
> On Mon, Jun 6, 2016 at 8:59 AM, Marek Vasut <marex at denx.de <mailto:[email protected]>> wrote:
>>
>> On 06/06/2016 05:57 PM, Steve Rae wrote:
>>> Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the
>>> physical interface to be 8-bit (rather than 16-bit).
>>>
>>> Signed-off-by: Steve Rae <srae at broadcom.com <mailto:[email protected]>> >>
>> Can this config option be picked from DT rather than hard-coded by some
>> new ad-hoc config option ? Also, new options should be Kconfig'd .
>>
>> Thanks
>>
>
> Marek,

Hi,

> would this be the correct place to add this Kconfig???
> is the wording sufficient?
> Thanks, Steve
>
> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig > index a35a1c7..e957df4 100644
> --- a/drivers/usb/gadget/Kconfig
> +++ b/drivers/usb/gadget/Kconfig
> @@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
>
> config USB_GADGET_DWC2_OTG
> bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
> select USB_GADGET_DUALSPEED
> help
> The Designware USB2.0 high-speed gadget controller
> integrated into many SoCs. Select this option if you want the
> driver to operate in Peripheral mode. This option requires
> USB_GADGET to be enabled.
>
> +config USB_GADGET_DWC2_PHY_8_BIT
> + bool "DesignWare USB2.0 controller (gadget mode)"

This is wrong, right ?

(see below)

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 59

Quoted 3 lines
drivers/usb/gadget/Kconfig +3 -0
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.

You mean 8bit mode ULPI, don't you ?

(see below)

Quoted 12 lines

config CI_UDC
bool "ChipIdea device controller"
select USB_GADGET_DUALSPEED
help
Say Y here to enable device controller functionality of the ChipIdea driver.

config USB_GADGET_VBUS_DRAW
int "Maximum VBUS Power usage (2-500 mA)"
range 2 500

Quoted 1 line
Quoted 7 lines
Quoted 7 lines

Review

Quoted 7 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
(quoted diff) +0 -0
    b/drivers/usb/gadget/dwc2_udc_otg.c
    >>> index cb20b00..a95c8d5 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_PHY_8_BIT
    >>> +             |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**/
Quoted 6 lines

Marek,
The _only_ thing that I know is that this structure contains settings to make the USB-OTG interface work on Broadcom boards. Broadcom "hardcoded" these values to "utmi+" and "8bit" ("years ago"...), and I am attempting to upstream this change (which I think requires a CONFIG option -- so that I don't break the current usage; unless there is a better method???)

The best method is to pull such configuration from device tree. I don't know if DT is used on the BCM28155 chip yet. The acceptable option is to add the Kconfig option.

Quoted 7 lines
Quoted 3 lines

So what this CONFIG is "called" and what is its "explanation" is completely unknown to me -- hence, I am asking for help in determining what the Kconfig option should actually be....

Something like "DesignWare USB2.0 HS OTG controller PHY interface width" ? The bit which this alters has to be described in the controller manual, so just call it the same.

( I don't have access to a manual )
In the kernel, it seems to be defined as:
GUSBCFG_PHYIF8
GUSBCFG_PHYIF16

Quoted 4 lines

btw the Kconfig option should be moved under the DWC2 controller entry, something like this will do:

OK

Quoted 6 lines

if USB_GADGET_DWC2
config USB_GADGET_DWC2_PHY_8_BIT

    .......

endif

I assume you mean USB_GADGET_DWC2_OTG (USB_GADGET_DWC2 does not exist)???

+if USB_GADGET_DWC2_OTG
+
+config USB_GADGET_DWC2_OTG_PHY_8_BIT
+ bool "DesignWare USB2.0 HS OTG controller PHY interface width"
+ help
+ Set the Designware USB2.0 high-speed OTG controller
+ PHY interface width to 8 bits, rather that the default (16 bits).
+
+endif # USB_GADGET_DWC2_OTG

or USB_GADGET_DWC2_OTG_PHYIF8

or ????

Quoted 38 lines
Quoted 23 lines

Thanks in advance, Steve

Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
      if (dev->pdata->usb_gusbcfg)
(quoted diff) +0 -0
    b/include/configs/bcm28155_ap.h
    >>> index 889e5db..e04cfbe 100644
    >>> --- a/include/configs/bcm28155_ap.h
    >>> +++ b/include/configs/bcm28155_ap.h
    >>> @@ -134,6 +134,7 @@
    >>>  #define CONFIG_SYS_CACHELINE_SIZE    64
    >>>  #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE -
    SZ_1M)
    >>>  #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
    >>> +#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
    >>>  #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
    >>>  #define CONFIG_USBID_ADDR            0x34052c46
    >>>
    >>>
    >>
    >>
Quoted 10 lines
    >> --
    >> Best regards,
    >> Marek Vasut


    --
    Best regards,
    Marek Vasut

--
Best regards,
Marek Vasut

author
#7 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 147 lines · Steve Rae
Quoted 109 lines · Marek Vasut
Quoted 96 lines · Steve Rae

On Mon, Jun 6, 2016 at 9:30 AM, Marek Vasut <[email protected] <mailto:[email protected]>> wrote:

On 06/06/2016 06:15 PM, Steve Rae wrote:
> On Mon, Jun 6, 2016 at 8:59 AM, Marek Vasut <marex at denx.de <mailto:[email protected]>> wrote:
>>
>> On 06/06/2016 05:57 PM, Steve Rae wrote:
>>> Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the
>>> physical interface to be 8-bit (rather than 16-bit).
>>>
>>> Signed-off-by: Steve Rae <srae at broadcom.com <mailto:[email protected]>> >>
>> Can this config option be picked from DT rather than hard-coded by some
>> new ad-hoc config option ? Also, new options should be Kconfig'd .
>>
>> Thanks
>>
>
> Marek,

Hi,

> would this be the correct place to add this Kconfig???
> is the wording sufficient?
> Thanks, Steve
>
> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig > index a35a1c7..e957df4 100644
> --- a/drivers/usb/gadget/Kconfig
> +++ b/drivers/usb/gadget/Kconfig
> @@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
>
> config USB_GADGET_DWC2_OTG
> bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
> select USB_GADGET_DUALSPEED
> help
> The Designware USB2.0 high-speed gadget controller
> integrated into many SoCs. Select this option if you want the
> driver to operate in Peripheral mode. This option requires
> USB_GADGET to be enabled.
>
> +config USB_GADGET_DWC2_PHY_8_BIT
> + bool "DesignWare USB2.0 controller (gadget mode)"

This is wrong, right ?

(see below)

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 59

Quoted 3 lines
drivers/usb/gadget/Kconfig +3 -0
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.

You mean 8bit mode ULPI, don't you ?

(see below)

Quoted 12 lines

config CI_UDC
bool "ChipIdea device controller"
select USB_GADGET_DUALSPEED
help
Say Y here to enable device controller functionality of the ChipIdea driver.

config USB_GADGET_VBUS_DRAW
int "Maximum VBUS Power usage (2-500 mA)"
range 2 500

Quoted 1 line
Quoted 7 lines
Quoted 7 lines

Review

Quoted 7 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
(quoted diff) +0 -0
    b/drivers/usb/gadget/dwc2_udc_otg.c
    >>> index cb20b00..a95c8d5 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_PHY_8_BIT
    >>> +             |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**/
Quoted 6 lines

Marek,
The _only_ thing that I know is that this structure contains settings to make the USB-OTG interface work on Broadcom boards. Broadcom "hardcoded" these values to "utmi+" and "8bit" ("years ago"...), and I am attempting to upstream this change (which I think requires a CONFIG option -- so that I don't break the current usage; unless there is a better method???)

The best method is to pull such configuration from device tree. I don't know if DT is used on the BCM28155 chip yet. The acceptable option is to add the Kconfig option.

Quoted 7 lines
Quoted 3 lines

So what this CONFIG is "called" and what is its "explanation" is completely unknown to me -- hence, I am asking for help in determining what the Kconfig option should actually be....

Something like "DesignWare USB2.0 HS OTG controller PHY interface width" ? The bit which this alters has to be described in the controller manual, so just call it the same.

( I don't have access to a manual )
In the kernel, it seems to be defined as:
GUSBCFG_PHYIF8
GUSBCFG_PHYIF16

Quoted 4 lines

btw the Kconfig option should be moved under the DWC2 controller entry, something like this will do:

OK

Quoted 6 lines

if USB_GADGET_DWC2
config USB_GADGET_DWC2_PHY_8_BIT

    .......

endif

I assume you mean USB_GADGET_DWC2_OTG (USB_GADGET_DWC2 does not exist)???

(quoted diff) +9 -0
+if USB_GADGET_DWC2_OTG
+
+config USB_GADGET_DWC2_OTG_PHY_8_BIT
+       bool "DesignWare USB2.0 HS OTG controller PHY interface width"
+       help
+         Set the Designware USB2.0 high-speed OTG controller
+         PHY interface width to 8 bits, rather that the default (16 bits).
+
+endif # USB_GADGET_DWC2_OTG
Quoted 3 lines

or USB_GADGET_DWC2_OTG_PHYIF8

or ????

found more defines in the kernel:

GHWCFG4_UTMI_PHY_DATA_WIDTH_8
GHWCFG4_UTMI_PHY_DATA_WIDTH_16

so maybe:
USB_GADGET_DWC2_OTG_PHY_DATA_WIDTH_8

Quoted 39 lines
Quoted 39 lines
Quoted 24 lines

Thanks in advance, Steve

Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
      if (dev->pdata->usb_gusbcfg)
(quoted diff) +0 -0
    b/include/configs/bcm28155_ap.h
    >>> index 889e5db..e04cfbe 100644
    >>> --- a/include/configs/bcm28155_ap.h
    >>> +++ b/include/configs/bcm28155_ap.h
    >>> @@ -134,6 +134,7 @@
    >>>  #define CONFIG_SYS_CACHELINE_SIZE    64
    >>>  #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE -
    SZ_1M)
    >>>  #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
    >>> +#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
    >>>  #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
    >>>  #define CONFIG_USBID_ADDR            0x34052c46
    >>>
    >>>
    >>
    >>
Quoted 10 lines
    >> --
    >> Best regards,
    >> Marek Vasut


    --
    Best regards,
    Marek Vasut

--
Best regards,
Marek Vasut

#8 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

Quoted 154 lines · Steve Rae
Quoted 147 lines · Steve Rae
Quoted 109 lines · Marek Vasut
Quoted 96 lines · Steve Rae

On Mon, Jun 6, 2016 at 9:30 AM, Marek Vasut <[email protected] <mailto:[email protected]>> wrote:

On 06/06/2016 06:15 PM, Steve Rae wrote:
> On Mon, Jun 6, 2016 at 8:59 AM, Marek Vasut <marex at denx.de <mailto:[email protected]>> wrote:
>>
>> On 06/06/2016 05:57 PM, Steve Rae wrote:
>>> Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the
>>> physical interface to be 8-bit (rather than 16-bit).
>>>
>>> Signed-off-by: Steve Rae <srae at broadcom.com <mailto:[email protected]>> >>
>> Can this config option be picked from DT rather than hard-coded by some
>> new ad-hoc config option ? Also, new options should be Kconfig'd .
>>
>> Thanks
>>
>
> Marek,

Hi,

> would this be the correct place to add this Kconfig???
> is the wording sufficient?
> Thanks, Steve
>
> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig > index a35a1c7..e957df4 100644
> --- a/drivers/usb/gadget/Kconfig
> +++ b/drivers/usb/gadget/Kconfig
> @@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
>
> config USB_GADGET_DWC2_OTG
> bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
> select USB_GADGET_DUALSPEED
> help
> The Designware USB2.0 high-speed gadget controller
> integrated into many SoCs. Select this option if you want the
> driver to operate in Peripheral mode. This option requires
> USB_GADGET to be enabled.
>
> +config USB_GADGET_DWC2_PHY_8_BIT
> + bool "DesignWare USB2.0 controller (gadget mode)"

This is wrong, right ?

(see below)

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 59

Quoted 3 lines
drivers/usb/gadget/Kconfig +3 -0
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.

You mean 8bit mode ULPI, don't you ?

(see below)

Quoted 12 lines

config CI_UDC
bool "ChipIdea device controller"
select USB_GADGET_DUALSPEED
help
Say Y here to enable device controller functionality of the ChipIdea driver.

config USB_GADGET_VBUS_DRAW
int "Maximum VBUS Power usage (2-500 mA)"
range 2 500

Quoted 1 line
Quoted 7 lines
Quoted 7 lines

Review

Quoted 7 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
(quoted diff) +0 -0
    b/drivers/usb/gadget/dwc2_udc_otg.c
    >>> index cb20b00..a95c8d5 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_PHY_8_BIT
    >>> +             |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**/
Quoted 6 lines

Marek,
The _only_ thing that I know is that this structure contains settings to make the USB-OTG interface work on Broadcom boards. Broadcom "hardcoded" these values to "utmi+" and "8bit" ("years ago"...), and I am attempting to upstream this change (which I think requires a CONFIG option -- so that I don't break the current usage; unless there is a better method???)

The best method is to pull such configuration from device tree. I don't know if DT is used on the BCM28155 chip yet. The acceptable option is to add the Kconfig option.

Quoted 7 lines
Quoted 3 lines

So what this CONFIG is "called" and what is its "explanation" is completely unknown to me -- hence, I am asking for help in determining what the Kconfig option should actually be....

Something like "DesignWare USB2.0 HS OTG controller PHY interface width" ? The bit which this alters has to be described in the controller manual, so just call it the same.

( I don't have access to a manual )
In the kernel, it seems to be defined as:
GUSBCFG_PHYIF8
GUSBCFG_PHYIF16

Quoted 4 lines

btw the Kconfig option should be moved under the DWC2 controller entry, something like this will do:

OK

Quoted 6 lines

if USB_GADGET_DWC2
config USB_GADGET_DWC2_PHY_8_BIT

    .......

endif

I assume you mean USB_GADGET_DWC2_OTG (USB_GADGET_DWC2 does not exist)???

(quoted diff) +9 -0
+if USB_GADGET_DWC2_OTG
+
+config USB_GADGET_DWC2_OTG_PHY_8_BIT
+       bool "DesignWare USB2.0 HS OTG controller PHY interface width"
+       help
+         Set the Designware USB2.0 high-speed OTG controller
+         PHY interface width to 8 bits, rather that the default (16 bits).
+
+endif # USB_GADGET_DWC2_OTG
Quoted 3 lines

or USB_GADGET_DWC2_OTG_PHYIF8

or ????

found more defines in the kernel:

Quoted 6 lines

GHWCFG4_UTMI_PHY_DATA_WIDTH_8
GHWCFG4_UTMI_PHY_DATA_WIDTH_16

so maybe:
USB_GADGET_DWC2_OTG_PHY_DATA_WIDTH_8

Or USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8

Or pick this option from DT, which would be the best.

Quoted 39 lines
Quoted 39 lines
Quoted 39 lines
Quoted 24 lines

Thanks in advance, Steve

Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
      if (dev->pdata->usb_gusbcfg)
(quoted diff) +0 -0
    b/include/configs/bcm28155_ap.h
    >>> index 889e5db..e04cfbe 100644
    >>> --- a/include/configs/bcm28155_ap.h
    >>> +++ b/include/configs/bcm28155_ap.h
    >>> @@ -134,6 +134,7 @@
    >>>  #define CONFIG_SYS_CACHELINE_SIZE    64
    >>>  #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE -
    SZ_1M)
    >>>  #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
    >>> +#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
    >>>  #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
    >>>  #define CONFIG_USBID_ADDR            0x34052c46
    >>>
    >>>
    >>
    >>
Quoted 10 lines
    >> --
    >> Best regards,
    >> Marek Vasut


    --
    Best regards,
    Marek Vasut

--
Best regards,
Marek Vasut

Signature · 2 lines
Best regards,
Marek Vasut
#9 lore raw

PATCH 1/1 usb: dwc2_udc_otg: support 8-bit interface

In reply to Steve Rae
Quoted 114 lines · Steve Rae
Quoted 113 lines · Marek Vasut
Quoted 96 lines · Steve Rae

On Mon, Jun 6, 2016 at 9:30 AM, Marek Vasut <[email protected] <mailto:[email protected]>> wrote:

On 06/06/2016 06:15 PM, Steve Rae wrote:
> On Mon, Jun 6, 2016 at 8:59 AM, Marek Vasut <marex at denx.de <mailto:[email protected]>> wrote:
>>
>> On 06/06/2016 05:57 PM, Steve Rae wrote:
>>> Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the
>>> physical interface to be 8-bit (rather than 16-bit).
>>>
>>> Signed-off-by: Steve Rae <srae at broadcom.com <mailto:[email protected]>> >>
>> Can this config option be picked from DT rather than hard-coded by some
>> new ad-hoc config option ? Also, new options should be Kconfig'd .
>>
>> Thanks
>>
>
> Marek,

Hi,

> would this be the correct place to add this Kconfig???
> is the wording sufficient?
> Thanks, Steve
>
> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig > index a35a1c7..e957df4 100644
> --- a/drivers/usb/gadget/Kconfig
> +++ b/drivers/usb/gadget/Kconfig
> @@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
>
> config USB_GADGET_DWC2_OTG
> bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
> select USB_GADGET_DUALSPEED
> help
> The Designware USB2.0 high-speed gadget controller
> integrated into many SoCs. Select this option if you want the
> driver to operate in Peripheral mode. This option requires
> USB_GADGET to be enabled.
>
> +config USB_GADGET_DWC2_PHY_8_BIT
> + bool "DesignWare USB2.0 controller (gadget mode)"

This is wrong, right ?

(see below)

drivers/usb/gadget/Kconfig config USB_GADGET_ATMEL_USBA · line 59

Quoted 3 lines
drivers/usb/gadget/Kconfig +3 -0
+       help
+         Set the Designware USB2.0 high-speed gadget controller
+         to 8-bit mode, rather than the default 16-bit mode.

You mean 8bit mode ULPI, don't you ?

(see below)

Quoted 12 lines

config CI_UDC
bool "ChipIdea device controller"
select USB_GADGET_DUALSPEED
help
Say Y here to enable device controller functionality of the ChipIdea driver.

config USB_GADGET_VBUS_DRAW
int "Maximum VBUS Power usage (2-500 mA)"
range 2 500

Quoted 1 line
Quoted 7 lines
Quoted 7 lines

Review

Quoted 7 lines

---

 drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
 include/configs/bcm28155_ap.h     | 1 +
 2 files changed, 5 insertions(+)
(quoted diff) +0 -0
    b/drivers/usb/gadget/dwc2_udc_otg.c
    >>> index cb20b00..a95c8d5 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_PHY_8_BIT
    >>> +             |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**/
Quoted 6 lines

Marek,
The _only_ thing that I know is that this structure contains settings to make the USB-OTG interface work on Broadcom boards. Broadcom "hardcoded" these values to "utmi+" and "8bit" ("years ago"...), and I am attempting to upstream this change (which I think requires a CONFIG option -- so that I don't break the current usage; unless there is a better method???)

The best method is to pull such configuration from device tree. I don't know if DT is used on the BCM28155 chip yet. The acceptable option is to add the Kconfig option.

Quoted 3 lines

So what this CONFIG is "called" and what is its "explanation" is completely unknown to me -- hence, I am asking for help in determining what the Kconfig option should actually be....

Quoted 5 lines
Quoted 3 lines

Something like "DesignWare USB2.0 HS OTG controller PHY interface width" ? The bit which this alters has to be described in the controller manual, so just call it the same.

( I don't have access to a manual )

Don't you work for broadcom ? You should have a manual for your own chip :) The SoCFPGA has the same core, so look at [1] chapter 18-17.

[1] https://www.altera.com/en_US/pdfs/literature/hb/cyclone-v/cv_5v4.pdf

Quoted 11 lines

In the kernel, it seems to be defined as:
GUSBCFG_PHYIF8
GUSBCFG_PHYIF16

Quoted 4 lines

btw the Kconfig option should be moved under the DWC2 controller entry, something like this will do:

OK

Quoted 2 lines
Quoted 6 lines
Quoted 4 lines

if USB_GADGET_DWC2
config USB_GADGET_DWC2_PHY_8_BIT

    .......

endif

I assume you mean USB_GADGET_DWC2_OTG (USB_GADGET_DWC2 does not exist)???

Sure

Quoted 11 lines
(quoted diff) +9 -0
+if USB_GADGET_DWC2_OTG
+
+config USB_GADGET_DWC2_OTG_PHY_8_BIT
+       bool "DesignWare USB2.0 HS OTG controller PHY interface width"
+       help
+         Set the Designware USB2.0 high-speed OTG controller
+         PHY interface width to 8 bits, rather that the default (16 bits).
+
+endif # USB_GADGET_DWC2_OTG

or USB_GADGET_DWC2_OTG_PHYIF8

Whatever you think makes sense.

Quoted 40 lines

or ????

Quoted 38 lines
Quoted 23 lines

Thanks in advance, Steve

Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
      if (dev->pdata->usb_gusbcfg)
(quoted diff) +0 -0
    b/include/configs/bcm28155_ap.h
    >>> index 889e5db..e04cfbe 100644
    >>> --- a/include/configs/bcm28155_ap.h
    >>> +++ b/include/configs/bcm28155_ap.h
    >>> @@ -134,6 +134,7 @@
    >>>  #define CONFIG_SYS_CACHELINE_SIZE    64
    >>>  #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE -
    SZ_1M)
    >>>  #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
    >>> +#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
    >>>  #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
    >>>  #define CONFIG_USBID_ADDR            0x34052c46
    >>>
    >>>
    >>
    >>
Quoted 10 lines
    >> --
    >> Best regards,
    >> Marek Vasut


    --
    Best regards,
    Marek Vasut

--
Best regards,
Marek Vasut

Signature · 2 lines
Best regards,
Marek Vasut