All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] CONFIG_DM_USB breakage on sunxi boards with musb?
@ 2018-12-19  7:53 Priit Laes
  2018-12-19  7:56 ` [U-Boot] [linux-sunxi] " Jagan Teki
  0 siblings, 1 reply; 7+ messages in thread
From: Priit Laes @ 2018-12-19  7:53 UTC (permalink / raw)
  To: u-boot

Heya!

I ran into following error when trying to fel-boot
A20 OLinuxino Lime2 eMMC board with latest u-boot:

[snip]
U-Boot 2019.01-rc2-00005-gbf60dae9dd (Dec 19 2018 - 09:47:08 +0200) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Model: Olimex A20-OLinuXino-LIME2-eMMC
I2C:   ready
DRAM:  1 GiB
Error binding driver 'sunxi-musb': -96
Some drivers failed to bind
Error binding driver 'generic_simple_bus': -96
Some drivers failed to bind
initcall sequence 7efbdfc8 failed at call 4a00d07b (err=-96)
### ERROR ### Please RESET the board ###
[/snip]


Could it be caused by a side effect of the upcoming CONFIG_DM_USB
changes?

Priit

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [linux-sunxi] CONFIG_DM_USB breakage on sunxi boards with musb?
  2018-12-19  7:53 [U-Boot] CONFIG_DM_USB breakage on sunxi boards with musb? Priit Laes
@ 2018-12-19  7:56 ` Jagan Teki
  2018-12-19 11:37   ` Priit Laes
  0 siblings, 1 reply; 7+ messages in thread
From: Jagan Teki @ 2018-12-19  7:56 UTC (permalink / raw)
  To: u-boot

On Wed, Dec 19, 2018 at 1:23 PM Priit Laes <plaes@plaes.org> wrote:
>
> Heya!
>
> I ran into following error when trying to fel-boot
> A20 OLinuxino Lime2 eMMC board with latest u-boot:
>
> [snip]
> U-Boot 2019.01-rc2-00005-gbf60dae9dd (Dec 19 2018 - 09:47:08 +0200) Allwinner Technology
>
> CPU:   Allwinner A20 (SUN7I)
> Model: Olimex A20-OLinuXino-LIME2-eMMC
> I2C:   ready
> DRAM:  1 GiB
> Error binding driver 'sunxi-musb': -96
> Some drivers failed to bind
> Error binding driver 'generic_simple_bus': -96
> Some drivers failed to bind
> initcall sequence 7efbdfc8 failed at call 4a00d07b (err=-96)
> ### ERROR ### Please RESET the board ###
> [/snip]
>
>
> Could it be caused by a side effect of the upcoming CONFIG_DM_USB
> changes?

No, board file change wrt this commit 0131162439508801b9f8a330fa731f04273c9337

Need to figure out.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [linux-sunxi] CONFIG_DM_USB breakage on sunxi boards with musb?
  2018-12-19  7:56 ` [U-Boot] [linux-sunxi] " Jagan Teki
@ 2018-12-19 11:37   ` Priit Laes
  2018-12-19 12:14     ` Jean-Jacques Hiblot
  0 siblings, 1 reply; 7+ messages in thread
From: Priit Laes @ 2018-12-19 11:37 UTC (permalink / raw)
  To: u-boot

On Wed, Dec 19, 2018 at 01:26:18PM +0530, Jagan Teki wrote:
> On Wed, Dec 19, 2018 at 1:23 PM Priit Laes <plaes@plaes.org> wrote:
> >
> > Heya!
> >
> > I ran into following error when trying to fel-boot
> > A20 OLinuxino Lime2 eMMC board with latest u-boot:
> >
> > [snip]
> > U-Boot 2019.01-rc2-00005-gbf60dae9dd (Dec 19 2018 - 09:47:08 +0200) Allwinner Technology
> >
> > CPU:   Allwinner A20 (SUN7I)
> > Model: Olimex A20-OLinuXino-LIME2-eMMC
> > I2C:   ready
> > DRAM:  1 GiB
> > Error binding driver 'sunxi-musb': -96
> > Some drivers failed to bind
> > Error binding driver 'generic_simple_bus': -96
> > Some drivers failed to bind
> > initcall sequence 7efbdfc8 failed at call 4a00d07b (err=-96)
> > ### ERROR ### Please RESET the board ###
> > [/snip]
> >
> >
> > Could it be caused by a side effect of the upcoming CONFIG_DM_USB
> > changes?
> 
> No, board file change wrt this commit 0131162439508801b9f8a330fa731f04273c9337
> 
> Need to figure out.

Yup, bisecting points to the same commit and reverting fixes the issue.

0131162439508801b9f8a330fa731f04273c9337 is the first bad commit
commit 0131162439508801b9f8a330fa731f04273c9337
Author: Jean-Jacques Hiblot <jjhiblot@ti.com>
Date:   Thu Nov 29 10:52:46 2018 +0100

    dm: usb: create a new UCLASS ID for USB gadget devices
    
    UCLASS_USB_DEV_GENERIC was meant for USB devices connected to host
    controllers, not gadget devices.
    Adding a new UCLASS for gadget devices alone.
    
    Also move the generic DM code for USB gadgets in a separate file for
    clarity.
    
    Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

:040000 040000 5223a6058a0c4a1e877f32355c947d4a607fef1b d3f89658db63ec26d887163740cf5d974dd2c0e5 M	board
:040000 040000 67c4404917ada478595b408d7747a6f5c17c0c99 8c67ea39df65e4e982d9b9eeb984d66678a33fc8 M	drivers
:040000 040000 89243fd62729e128489d80e206db4fa9b946dc99 16783bd1f210ae3454255cb1c4eaa05fe7eaa6ed M	include

$ git bisect log
git bisect start
# bad: [058701534ffde8032649ba8421a0428959519b79] WIP
git bisect bad 058701534ffde8032649ba8421a0428959519b79
# bad: [d94604d558cda9f89722c967d6f8d6269a2db21c] Merge tag 'fsl-qoriq-for-v2019.01-rc2' of git://git.denx.de/u-boot-fsl-qoriq
git bisect bad d94604d558cda9f89722c967d6f8d6269a2db21c
# good: [c49aff3e66b930aa06936afee401cf5e19377958] Merge branch 'master' of git://git.denx.de/u-boot-sunxi
git bisect good c49aff3e66b930aa06936afee401cf5e19377958
# bad: [7ff485c68b7e5573e5a4a877066e98398283a24f] Merge branch 'master' of git://git.denx.de/u-boot-i2c
git bisect bad 7ff485c68b7e5573e5a4a877066e98398283a24f
# good: [19f8c4dfb6e744a31da59bdd23b24d144152f1dc] cmd: i2c: Fix help output of i2c command.
git bisect good 19f8c4dfb6e744a31da59bdd23b24d144152f1dc
# bad: [b491afa0f3c0df88027b08f18934cc034c40d659] configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
git bisect bad b491afa0f3c0df88027b08f18934cc034c40d659
# bad: [93991cf1969077108ae36e90acb3cd25a6a449ac] dwc3-generic: Add select_dr_mode operation
git bisect bad 93991cf1969077108ae36e90acb3cd25a6a449ac
# good: [20bebd866690bb09dd1c1cb8ac674c3b17b63c6d] dwc3_generic: do not probe the USB device driver when it's bound
git bisect good 20bebd866690bb09dd1c1cb8ac674c3b17b63c6d
# bad: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
git bisect bad 0131162439508801b9f8a330fa731f04273c9337
# good: [d648a50c0a27452a5439e7982b23b97c64820430] dwc3: move phy operation to core.c
git bisect good d648a50c0a27452a5439e7982b23b97c64820430
# first bad commit: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices


> 
> -- 
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [linux-sunxi] CONFIG_DM_USB breakage on sunxi boards with musb?
  2018-12-19 11:37   ` Priit Laes
@ 2018-12-19 12:14     ` Jean-Jacques Hiblot
  2018-12-19 17:15       ` Priit Laes
  0 siblings, 1 reply; 7+ messages in thread
From: Jean-Jacques Hiblot @ 2018-12-19 12:14 UTC (permalink / raw)
  To: u-boot


On 19/12/2018 12:37, Priit Laes wrote:
> On Wed, Dec 19, 2018 at 01:26:18PM +0530, Jagan Teki wrote:
>> On Wed, Dec 19, 2018 at 1:23 PM Priit Laes <plaes@plaes.org> wrote:
>>> Heya!
>>>
>>> I ran into following error when trying to fel-boot
>>> A20 OLinuxino Lime2 eMMC board with latest u-boot:
>>>
>>> [snip]
>>> U-Boot 2019.01-rc2-00005-gbf60dae9dd (Dec 19 2018 - 09:47:08 +0200) Allwinner Technology
>>>
>>> CPU:   Allwinner A20 (SUN7I)
>>> Model: Olimex A20-OLinuXino-LIME2-eMMC
>>> I2C:   ready
>>> DRAM:  1 GiB
>>> Error binding driver 'sunxi-musb': -96
>>> Some drivers failed to bind
>>> Error binding driver 'generic_simple_bus': -96
>>> Some drivers failed to bind
>>> initcall sequence 7efbdfc8 failed at call 4a00d07b (err=-96)
>>> ### ERROR ### Please RESET the board ###
>>> [/snip]
>>>
>>>
>>> Could it be caused by a side effect of the upcoming CONFIG_DM_USB
>>> changes?
>> No, board file change wrt this commit 0131162439508801b9f8a330fa731f04273c9337
>>
>> Need to figure out.
> Yup, bisecting points to the same commit and reverting fixes the issue.

Can you try with  DM_USB_GADGET enabled?


>
> 0131162439508801b9f8a330fa731f04273c9337 is the first bad commit
> commit 0131162439508801b9f8a330fa731f04273c9337
> Author: Jean-Jacques Hiblot <jjhiblot@ti.com>
> Date:   Thu Nov 29 10:52:46 2018 +0100
>
>      dm: usb: create a new UCLASS ID for USB gadget devices
>      
>      UCLASS_USB_DEV_GENERIC was meant for USB devices connected to host
>      controllers, not gadget devices.
>      Adding a new UCLASS for gadget devices alone.
>      
>      Also move the generic DM code for USB gadgets in a separate file for
>      clarity.
>      
>      Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
>
> :040000 040000 5223a6058a0c4a1e877f32355c947d4a607fef1b d3f89658db63ec26d887163740cf5d974dd2c0e5 M	board
> :040000 040000 67c4404917ada478595b408d7747a6f5c17c0c99 8c67ea39df65e4e982d9b9eeb984d66678a33fc8 M	drivers
> :040000 040000 89243fd62729e128489d80e206db4fa9b946dc99 16783bd1f210ae3454255cb1c4eaa05fe7eaa6ed M	include
>
> $ git bisect log
> git bisect start
> # bad: [058701534ffde8032649ba8421a0428959519b79] WIP
> git bisect bad 058701534ffde8032649ba8421a0428959519b79
> # bad: [d94604d558cda9f89722c967d6f8d6269a2db21c] Merge tag 'fsl-qoriq-for-v2019.01-rc2' of git://git.denx.de/u-boot-fsl-qoriq
> git bisect bad d94604d558cda9f89722c967d6f8d6269a2db21c
> # good: [c49aff3e66b930aa06936afee401cf5e19377958] Merge branch 'master' of git://git.denx.de/u-boot-sunxi
> git bisect good c49aff3e66b930aa06936afee401cf5e19377958
> # bad: [7ff485c68b7e5573e5a4a877066e98398283a24f] Merge branch 'master' of git://git.denx.de/u-boot-i2c
> git bisect bad 7ff485c68b7e5573e5a4a877066e98398283a24f
> # good: [19f8c4dfb6e744a31da59bdd23b24d144152f1dc] cmd: i2c: Fix help output of i2c command.
> git bisect good 19f8c4dfb6e744a31da59bdd23b24d144152f1dc
> # bad: [b491afa0f3c0df88027b08f18934cc034c40d659] configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
> git bisect bad b491afa0f3c0df88027b08f18934cc034c40d659
> # bad: [93991cf1969077108ae36e90acb3cd25a6a449ac] dwc3-generic: Add select_dr_mode operation
> git bisect bad 93991cf1969077108ae36e90acb3cd25a6a449ac
> # good: [20bebd866690bb09dd1c1cb8ac674c3b17b63c6d] dwc3_generic: do not probe the USB device driver when it's bound
> git bisect good 20bebd866690bb09dd1c1cb8ac674c3b17b63c6d
> # bad: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
> git bisect bad 0131162439508801b9f8a330fa731f04273c9337
> # good: [d648a50c0a27452a5439e7982b23b97c64820430] dwc3: move phy operation to core.c
> git bisect good d648a50c0a27452a5439e7982b23b97c64820430
> # first bad commit: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
>
>
>> -- 
>> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [linux-sunxi] CONFIG_DM_USB breakage on sunxi boards with musb?
  2018-12-19 12:14     ` Jean-Jacques Hiblot
@ 2018-12-19 17:15       ` Priit Laes
  2018-12-20 15:50         ` Jean-Jacques Hiblot
  0 siblings, 1 reply; 7+ messages in thread
From: Priit Laes @ 2018-12-19 17:15 UTC (permalink / raw)
  To: u-boot

On Wed, Dec 19, 2018 at 01:14:22PM +0100, Jean-Jacques Hiblot wrote:
> 
> On 19/12/2018 12:37, Priit Laes wrote:
> > On Wed, Dec 19, 2018 at 01:26:18PM +0530, Jagan Teki wrote:
> > > On Wed, Dec 19, 2018 at 1:23 PM Priit Laes <plaes@plaes.org> wrote:
> > > > Heya!
> > > > 
> > > > I ran into following error when trying to fel-boot
> > > > A20 OLinuxino Lime2 eMMC board with latest u-boot:
> > > > 
> > > > [snip]
> > > > U-Boot 2019.01-rc2-00005-gbf60dae9dd (Dec 19 2018 - 09:47:08 +0200) Allwinner Technology
> > > > 
> > > > CPU:   Allwinner A20 (SUN7I)
> > > > Model: Olimex A20-OLinuXino-LIME2-eMMC
> > > > I2C:   ready
> > > > DRAM:  1 GiB
> > > > Error binding driver 'sunxi-musb': -96
> > > > Some drivers failed to bind
> > > > Error binding driver 'generic_simple_bus': -96
> > > > Some drivers failed to bind
> > > > initcall sequence 7efbdfc8 failed at call 4a00d07b (err=-96)
> > > > ### ERROR ### Please RESET the board ###
> > > > [/snip]
> > > > 
> > > > 
> > > > Could it be caused by a side effect of the upcoming CONFIG_DM_USB
> > > > changes?
> > > No, board file change wrt this commit 0131162439508801b9f8a330fa731f04273c9337
> > > 
> > > Need to figure out.
> > Yup, bisecting points to the same commit and reverting fixes the issue.
> 
> Can you try with  DM_USB_GADGET enabled?

Yes, the result is:

drivers/usb/gadget/udc/udc-uclass.c:52: undefined reference to `dm_usb_gadget_handle_interrupts

u-boot configuration file is A20-OLinuXino-Lime2-eMMC_defconfig

> 
> 
> > 
> > 0131162439508801b9f8a330fa731f04273c9337 is the first bad commit
> > commit 0131162439508801b9f8a330fa731f04273c9337
> > Author: Jean-Jacques Hiblot <jjhiblot@ti.com>
> > Date:   Thu Nov 29 10:52:46 2018 +0100
> > 
> >      dm: usb: create a new UCLASS ID for USB gadget devices
> >      UCLASS_USB_DEV_GENERIC was meant for USB devices connected to host
> >      controllers, not gadget devices.
> >      Adding a new UCLASS for gadget devices alone.
> >      Also move the generic DM code for USB gadgets in a separate file for
> >      clarity.
> >      Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> > 
> > :040000 040000 5223a6058a0c4a1e877f32355c947d4a607fef1b d3f89658db63ec26d887163740cf5d974dd2c0e5 M	board
> > :040000 040000 67c4404917ada478595b408d7747a6f5c17c0c99 8c67ea39df65e4e982d9b9eeb984d66678a33fc8 M	drivers
> > :040000 040000 89243fd62729e128489d80e206db4fa9b946dc99 16783bd1f210ae3454255cb1c4eaa05fe7eaa6ed M	include
> > 
> > $ git bisect log
> > git bisect start
> > # bad: [058701534ffde8032649ba8421a0428959519b79] WIP
> > git bisect bad 058701534ffde8032649ba8421a0428959519b79
> > # bad: [d94604d558cda9f89722c967d6f8d6269a2db21c] Merge tag 'fsl-qoriq-for-v2019.01-rc2' of git://git.denx.de/u-boot-fsl-qoriq
> > git bisect bad d94604d558cda9f89722c967d6f8d6269a2db21c
> > # good: [c49aff3e66b930aa06936afee401cf5e19377958] Merge branch 'master' of git://git.denx.de/u-boot-sunxi
> > git bisect good c49aff3e66b930aa06936afee401cf5e19377958
> > # bad: [7ff485c68b7e5573e5a4a877066e98398283a24f] Merge branch 'master' of git://git.denx.de/u-boot-i2c
> > git bisect bad 7ff485c68b7e5573e5a4a877066e98398283a24f
> > # good: [19f8c4dfb6e744a31da59bdd23b24d144152f1dc] cmd: i2c: Fix help output of i2c command.
> > git bisect good 19f8c4dfb6e744a31da59bdd23b24d144152f1dc
> > # bad: [b491afa0f3c0df88027b08f18934cc034c40d659] configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
> > git bisect bad b491afa0f3c0df88027b08f18934cc034c40d659
> > # bad: [93991cf1969077108ae36e90acb3cd25a6a449ac] dwc3-generic: Add select_dr_mode operation
> > git bisect bad 93991cf1969077108ae36e90acb3cd25a6a449ac
> > # good: [20bebd866690bb09dd1c1cb8ac674c3b17b63c6d] dwc3_generic: do not probe the USB device driver when it's bound
> > git bisect good 20bebd866690bb09dd1c1cb8ac674c3b17b63c6d
> > # bad: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
> > git bisect bad 0131162439508801b9f8a330fa731f04273c9337
> > # good: [d648a50c0a27452a5439e7982b23b97c64820430] dwc3: move phy operation to core.c
> > git bisect good d648a50c0a27452a5439e7982b23b97c64820430
> > # first bad commit: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
> > 
> > 
> > > -- 
> > > You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
> > > For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [linux-sunxi] CONFIG_DM_USB breakage on sunxi boards with musb?
  2018-12-19 17:15       ` Priit Laes
@ 2018-12-20 15:50         ` Jean-Jacques Hiblot
  2018-12-21  6:47           ` Priit Laes
  0 siblings, 1 reply; 7+ messages in thread
From: Jean-Jacques Hiblot @ 2018-12-20 15:50 UTC (permalink / raw)
  To: u-boot


On 19/12/2018 18:15, Priit Laes wrote:
> On Wed, Dec 19, 2018 at 01:14:22PM +0100, Jean-Jacques Hiblot wrote:
>> On 19/12/2018 12:37, Priit Laes wrote:
>>> On Wed, Dec 19, 2018 at 01:26:18PM +0530, Jagan Teki wrote:
>>>> On Wed, Dec 19, 2018 at 1:23 PM Priit Laes <plaes@plaes.org> wrote:
>>>>> Heya!
>>>>>
>>>>> I ran into following error when trying to fel-boot
>>>>> A20 OLinuxino Lime2 eMMC board with latest u-boot:
>>>>>
>>>>> [snip]
>>>>> U-Boot 2019.01-rc2-00005-gbf60dae9dd (Dec 19 2018 - 09:47:08 +0200) Allwinner Technology
>>>>>
>>>>> CPU:   Allwinner A20 (SUN7I)
>>>>> Model: Olimex A20-OLinuXino-LIME2-eMMC
>>>>> I2C:   ready
>>>>> DRAM:  1 GiB
>>>>> Error binding driver 'sunxi-musb': -96
>>>>> Some drivers failed to bind
>>>>> Error binding driver 'generic_simple_bus': -96
>>>>> Some drivers failed to bind
>>>>> initcall sequence 7efbdfc8 failed at call 4a00d07b (err=-96)
>>>>> ### ERROR ### Please RESET the board ###
>>>>> [/snip]
>>>>>
>>>>>
>>>>> Could it be caused by a side effect of the upcoming CONFIG_DM_USB
>>>>> changes?
>>>> No, board file change wrt this commit 0131162439508801b9f8a330fa731f04273c9337
>>>>
>>>> Need to figure out.
>>> Yup, bisecting points to the same commit and reverting fixes the issue.
>> Can you try with  DM_USB_GADGET enabled?
> Yes, the result is:
>
> drivers/usb/gadget/udc/udc-uclass.c:52: undefined reference to `dm_usb_gadget_handle_interrupts
>
> u-boot configuration file is A20-OLinuXino-Lime2-eMMC_defconfig

Thanks for testing.

Can you try with the following modifications?

It should provide the missing  UCLASS_DRIVER() without having to enable 
DM_USB_GADGET.

If that fixes your problem, I'll run it through buildman and submit a 
proper the patch.


diff --git a/drivers/usb/gadget/udc/Makefile 
b/drivers/usb/gadget/udc/Makefile
index 38ac2dd..73cf84f 100644
--- a/drivers/usb/gadget/udc/Makefile
+++ b/drivers/usb/gadget/udc/Makefile
@@ -6,4 +6,6 @@ ifndef CONFIG_$(SPL_)DM_USB_GADGET
  obj-$(CONFIG_USB_DWC3_GADGET)  += udc-core.o
  endif

-obj-$(CONFIG_$(SPL_)DM_USB_GADGET)     += udc-uclass.o udc-core.o
+obj-$(CONFIG_$(SPL_)DM_USB_GADGET)     += udc-core.o
+obj-$(CONFIG_$(SPL_)DM) += udc-uclass.o
+
diff --git a/drivers/usb/gadget/udc/udc-uclass.c 
b/drivers/usb/gadget/udc/udc-uclass.c
index e9f8f5f..8d78647 100644
--- a/drivers/usb/gadget/udc/udc-uclass.c
+++ b/drivers/usb/gadget/udc/udc-uclass.c
@@ -9,6 +9,7 @@
  #include <dm/device-internal.h>
  #include <linux/usb/gadget.h>

+#if CONFIG_IS_ENABLED(DM_USB_GADGET)
  #define MAX_UDC_DEVICES 4
  static struct udevice *dev_array[MAX_UDC_DEVICES];
  int usb_gadget_initialize(int index)
@@ -51,6 +52,7 @@ int usb_gadget_handle_interrupts(int index)
                 return -EINVAL;
         return dm_usb_gadget_handle_interrupts(dev_array[index]);
  }
+#endif

  UCLASS_DRIVER(usb_gadget_generic) = {
         .id             = UCLASS_USB_GADGET_GENERIC,


>
>>
>>> 0131162439508801b9f8a330fa731f04273c9337 is the first bad commit
>>> commit 0131162439508801b9f8a330fa731f04273c9337
>>> Author: Jean-Jacques Hiblot <jjhiblot@ti.com>
>>> Date:   Thu Nov 29 10:52:46 2018 +0100
>>>
>>>       dm: usb: create a new UCLASS ID for USB gadget devices
>>>       UCLASS_USB_DEV_GENERIC was meant for USB devices connected to host
>>>       controllers, not gadget devices.
>>>       Adding a new UCLASS for gadget devices alone.
>>>       Also move the generic DM code for USB gadgets in a separate file for
>>>       clarity.
>>>       Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
>>>
>>> :040000 040000 5223a6058a0c4a1e877f32355c947d4a607fef1b d3f89658db63ec26d887163740cf5d974dd2c0e5 M	board
>>> :040000 040000 67c4404917ada478595b408d7747a6f5c17c0c99 8c67ea39df65e4e982d9b9eeb984d66678a33fc8 M	drivers
>>> :040000 040000 89243fd62729e128489d80e206db4fa9b946dc99 16783bd1f210ae3454255cb1c4eaa05fe7eaa6ed M	include
>>>
>>> $ git bisect log
>>> git bisect start
>>> # bad: [058701534ffde8032649ba8421a0428959519b79] WIP
>>> git bisect bad 058701534ffde8032649ba8421a0428959519b79
>>> # bad: [d94604d558cda9f89722c967d6f8d6269a2db21c] Merge tag 'fsl-qoriq-for-v2019.01-rc2' of git://git.denx.de/u-boot-fsl-qoriq
>>> git bisect bad d94604d558cda9f89722c967d6f8d6269a2db21c
>>> # good: [c49aff3e66b930aa06936afee401cf5e19377958] Merge branch 'master' of git://git.denx.de/u-boot-sunxi
>>> git bisect good c49aff3e66b930aa06936afee401cf5e19377958
>>> # bad: [7ff485c68b7e5573e5a4a877066e98398283a24f] Merge branch 'master' of git://git.denx.de/u-boot-i2c
>>> git bisect bad 7ff485c68b7e5573e5a4a877066e98398283a24f
>>> # good: [19f8c4dfb6e744a31da59bdd23b24d144152f1dc] cmd: i2c: Fix help output of i2c command.
>>> git bisect good 19f8c4dfb6e744a31da59bdd23b24d144152f1dc
>>> # bad: [b491afa0f3c0df88027b08f18934cc034c40d659] configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
>>> git bisect bad b491afa0f3c0df88027b08f18934cc034c40d659
>>> # bad: [93991cf1969077108ae36e90acb3cd25a6a449ac] dwc3-generic: Add select_dr_mode operation
>>> git bisect bad 93991cf1969077108ae36e90acb3cd25a6a449ac
>>> # good: [20bebd866690bb09dd1c1cb8ac674c3b17b63c6d] dwc3_generic: do not probe the USB device driver when it's bound
>>> git bisect good 20bebd866690bb09dd1c1cb8ac674c3b17b63c6d
>>> # bad: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
>>> git bisect bad 0131162439508801b9f8a330fa731f04273c9337
>>> # good: [d648a50c0a27452a5439e7982b23b97c64820430] dwc3: move phy operation to core.c
>>> git bisect good d648a50c0a27452a5439e7982b23b97c64820430
>>> # first bad commit: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
>>>
>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [U-Boot] [linux-sunxi] CONFIG_DM_USB breakage on sunxi boards with musb?
  2018-12-20 15:50         ` Jean-Jacques Hiblot
@ 2018-12-21  6:47           ` Priit Laes
  0 siblings, 0 replies; 7+ messages in thread
From: Priit Laes @ 2018-12-21  6:47 UTC (permalink / raw)
  To: u-boot

On Thu, Dec 20, 2018 at 04:50:01PM +0100, Jean-Jacques Hiblot wrote:
> 
> On 19/12/2018 18:15, Priit Laes wrote:
> > On Wed, Dec 19, 2018 at 01:14:22PM +0100, Jean-Jacques Hiblot wrote:
> > > On 19/12/2018 12:37, Priit Laes wrote:
> > > > On Wed, Dec 19, 2018 at 01:26:18PM +0530, Jagan Teki wrote:
> > > > > On Wed, Dec 19, 2018 at 1:23 PM Priit Laes <plaes@plaes.org> wrote:
> > > > > > Heya!
> > > > > > 
> > > > > > I ran into following error when trying to fel-boot
> > > > > > A20 OLinuxino Lime2 eMMC board with latest u-boot:
> > > > > > 
> > > > > > [snip]
> > > > > > U-Boot 2019.01-rc2-00005-gbf60dae9dd (Dec 19 2018 - 09:47:08 +0200) Allwinner Technology
> > > > > > 
> > > > > > CPU:   Allwinner A20 (SUN7I)
> > > > > > Model: Olimex A20-OLinuXino-LIME2-eMMC
> > > > > > I2C:   ready
> > > > > > DRAM:  1 GiB
> > > > > > Error binding driver 'sunxi-musb': -96
> > > > > > Some drivers failed to bind
> > > > > > Error binding driver 'generic_simple_bus': -96
> > > > > > Some drivers failed to bind
> > > > > > initcall sequence 7efbdfc8 failed at call 4a00d07b (err=-96)
> > > > > > ### ERROR ### Please RESET the board ###
> > > > > > [/snip]
> > > > > > 
> > > > > > 
> > > > > > Could it be caused by a side effect of the upcoming CONFIG_DM_USB
> > > > > > changes?
> > > > > No, board file change wrt this commit 0131162439508801b9f8a330fa731f04273c9337
> > > > > 
> > > > > Need to figure out.
> > > > Yup, bisecting points to the same commit and reverting fixes the issue.
> > > Can you try with  DM_USB_GADGET enabled?
> > Yes, the result is:
> > 
> > drivers/usb/gadget/udc/udc-uclass.c:52: undefined reference to `dm_usb_gadget_handle_interrupts
> > 
> > u-boot configuration file is A20-OLinuXino-Lime2-eMMC_defconfig
> 
> Thanks for testing.
> 
> Can you try with the following modifications?

Works!

Tested-by: Priit Laes <plaes@plaes.org>

> 
> It should provide the missing  UCLASS_DRIVER() without having to enable
> DM_USB_GADGET.
> 
> If that fixes your problem, I'll run it through buildman and submit a proper
> the patch.
> 
> 
> diff --git a/drivers/usb/gadget/udc/Makefile
> b/drivers/usb/gadget/udc/Makefile
> index 38ac2dd..73cf84f 100644
> --- a/drivers/usb/gadget/udc/Makefile
> +++ b/drivers/usb/gadget/udc/Makefile
> @@ -6,4 +6,6 @@ ifndef CONFIG_$(SPL_)DM_USB_GADGET
>  obj-$(CONFIG_USB_DWC3_GADGET)  += udc-core.o
>  endif
> 
> -obj-$(CONFIG_$(SPL_)DM_USB_GADGET)     += udc-uclass.o udc-core.o
> +obj-$(CONFIG_$(SPL_)DM_USB_GADGET)     += udc-core.o
> +obj-$(CONFIG_$(SPL_)DM) += udc-uclass.o
> +
> diff --git a/drivers/usb/gadget/udc/udc-uclass.c
> b/drivers/usb/gadget/udc/udc-uclass.c
> index e9f8f5f..8d78647 100644
> --- a/drivers/usb/gadget/udc/udc-uclass.c
> +++ b/drivers/usb/gadget/udc/udc-uclass.c
> @@ -9,6 +9,7 @@
>  #include <dm/device-internal.h>
>  #include <linux/usb/gadget.h>
> 
> +#if CONFIG_IS_ENABLED(DM_USB_GADGET)
>  #define MAX_UDC_DEVICES 4
>  static struct udevice *dev_array[MAX_UDC_DEVICES];
>  int usb_gadget_initialize(int index)
> @@ -51,6 +52,7 @@ int usb_gadget_handle_interrupts(int index)
>                 return -EINVAL;
>         return dm_usb_gadget_handle_interrupts(dev_array[index]);
>  }
> +#endif
> 
>  UCLASS_DRIVER(usb_gadget_generic) = {
>         .id             = UCLASS_USB_GADGET_GENERIC,
> 
> 
> > 
> > > 
> > > > 0131162439508801b9f8a330fa731f04273c9337 is the first bad commit
> > > > commit 0131162439508801b9f8a330fa731f04273c9337
> > > > Author: Jean-Jacques Hiblot <jjhiblot@ti.com>
> > > > Date:   Thu Nov 29 10:52:46 2018 +0100
> > > > 
> > > >       dm: usb: create a new UCLASS ID for USB gadget devices
> > > >       UCLASS_USB_DEV_GENERIC was meant for USB devices connected to host
> > > >       controllers, not gadget devices.
> > > >       Adding a new UCLASS for gadget devices alone.
> > > >       Also move the generic DM code for USB gadgets in a separate file for
> > > >       clarity.
> > > >       Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> > > > 
> > > > :040000 040000 5223a6058a0c4a1e877f32355c947d4a607fef1b d3f89658db63ec26d887163740cf5d974dd2c0e5 M	board
> > > > :040000 040000 67c4404917ada478595b408d7747a6f5c17c0c99 8c67ea39df65e4e982d9b9eeb984d66678a33fc8 M	drivers
> > > > :040000 040000 89243fd62729e128489d80e206db4fa9b946dc99 16783bd1f210ae3454255cb1c4eaa05fe7eaa6ed M	include
> > > > 
> > > > $ git bisect log
> > > > git bisect start
> > > > # bad: [058701534ffde8032649ba8421a0428959519b79] WIP
> > > > git bisect bad 058701534ffde8032649ba8421a0428959519b79
> > > > # bad: [d94604d558cda9f89722c967d6f8d6269a2db21c] Merge tag 'fsl-qoriq-for-v2019.01-rc2' of git://git.denx.de/u-boot-fsl-qoriq
> > > > git bisect bad d94604d558cda9f89722c967d6f8d6269a2db21c
> > > > # good: [c49aff3e66b930aa06936afee401cf5e19377958] Merge branch 'master' of git://git.denx.de/u-boot-sunxi
> > > > git bisect good c49aff3e66b930aa06936afee401cf5e19377958
> > > > # bad: [7ff485c68b7e5573e5a4a877066e98398283a24f] Merge branch 'master' of git://git.denx.de/u-boot-i2c
> > > > git bisect bad 7ff485c68b7e5573e5a4a877066e98398283a24f
> > > > # good: [19f8c4dfb6e744a31da59bdd23b24d144152f1dc] cmd: i2c: Fix help output of i2c command.
> > > > git bisect good 19f8c4dfb6e744a31da59bdd23b24d144152f1dc
> > > > # bad: [b491afa0f3c0df88027b08f18934cc034c40d659] configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
> > > > git bisect bad b491afa0f3c0df88027b08f18934cc034c40d659
> > > > # bad: [93991cf1969077108ae36e90acb3cd25a6a449ac] dwc3-generic: Add select_dr_mode operation
> > > > git bisect bad 93991cf1969077108ae36e90acb3cd25a6a449ac
> > > > # good: [20bebd866690bb09dd1c1cb8ac674c3b17b63c6d] dwc3_generic: do not probe the USB device driver when it's bound
> > > > git bisect good 20bebd866690bb09dd1c1cb8ac674c3b17b63c6d
> > > > # bad: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
> > > > git bisect bad 0131162439508801b9f8a330fa731f04273c9337
> > > > # good: [d648a50c0a27452a5439e7982b23b97c64820430] dwc3: move phy operation to core.c
> > > > git bisect good d648a50c0a27452a5439e7982b23b97c64820430
> > > > # first bad commit: [0131162439508801b9f8a330fa731f04273c9337] dm: usb: create a new UCLASS ID for USB gadget devices
> > > > 
> > > > 
> > > > > -- 
> > > > > You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> > > > > To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
> > > > > For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-12-21  6:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-19  7:53 [U-Boot] CONFIG_DM_USB breakage on sunxi boards with musb? Priit Laes
2018-12-19  7:56 ` [U-Boot] [linux-sunxi] " Jagan Teki
2018-12-19 11:37   ` Priit Laes
2018-12-19 12:14     ` Jean-Jacques Hiblot
2018-12-19 17:15       ` Priit Laes
2018-12-20 15:50         ` Jean-Jacques Hiblot
2018-12-21  6:47           ` Priit Laes

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.