From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 06/13] drivers: usb: dwc3: add ti dwc3 peripheral driver with driver model support
Date: Wed, 21 Jun 2017 10:09:01 +0200 [thread overview]
Message-ID: <20170621100901.035e3b6f@jawa> (raw)
In-Reply-To: <6bb10110-255d-c320-d47e-430902ab90f7@ti.com>
Hi Vignesh,
> Hi,
>
> On Tuesday 20 June 2017 07:14 PM, Lukasz Majewski wrote:
> > Hi Marek, Vignesh,
> [...]
> >>>
> >>> All gadget drivers like ether.c or f_mass_storage.c call
> >>> usb_gadget_handle_interrupts() just passing the index of the USB
> >>> instance. This does not help at all in dm case. What we would need
> >>> is usb_gadget_handle_interrupts() to provide at least the
> >>> usb_gadget instance as parameter from which we could derive
> >>> controller specific structure using container_of(). And then, we
> >>> could call the SoC specific isr callback.
> >>> This would require modifying all gadget driver like ether.c to
> >>> call a different function instead of
> >>> usb_gadget_handle_interrupts() when DM_USB is used.
> >>
> >> This is something to consult with Lukasz then.
> >
> > And it seems that we are heading to adding "gadget" infrastructure
> > to DM.....
> >
>
> Yes, U-Boot is moving to DM for good and this has cascading effect.
> I was actually trying to enable DM_ETH on some TI platforms which
> forced me to move USB_ETH to DM as well and therefore seems like USB
> gadget framework needs tweaks to adapt to DM...
I've sketched following plan for gadget conversion:
1. Each u-boot command (dfu, ums, thor and in the future rockchip I
hope), which uses gadget goes through g_dnl_{register|unregister}, so
the idea is to add this driver first to DM.
2. Afterwards, we could add functions as children of g_dnl.
This would be easily modeled in Kconfig (to have g_dnl - gadget - menu
with submenu to chose the USB function - e.g. f_dfu*).
However, we also need to take care of several UDC (USB device
controller) drivers including also the "composite" usb layer.
This would be tougher to do since there are many udc drivers - but it
should be possible to separate DM's UDC drivers and g_dnl/function
code.
Another problem is that some archs use gadgets (RNDIS?) without g_dnl
and composite - on top of UDC driver (like musb).....
For example:
board/ti/beagle/beagle.c -> board_eth_init()
|
\|/
drivers/usb/gadget/ether.c -> usb_eth_initialize()
[ether.c seems to partially support DM]
|
\|/
(also in the ether.c)
_usb_eth_init() in which we loop on
usb_gadget_handle_interrupts()
From what I see, the ether.c now supports DM and legacy code, so some
work has been already done for DM....
>
> > I will do my best to provide some ideas for this task.....
> >
>
> Thanks!
>
>
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
next prev parent reply other threads:[~2017-06-21 8:09 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-13 12:09 [U-Boot] [PATCH v2 00/13] driver model bring-up of dwc3 usb peripheral Vignesh R
2017-06-13 12:09 ` [U-Boot] [PATCH v2 01/13] drivers: usb: dwc3: remove devm_zalloc from linux_compact Vignesh R
2017-06-13 13:58 ` Marek Vasut
2017-06-14 9:05 ` Vignesh R
2017-06-15 16:55 ` Marek Vasut
2017-06-13 12:09 ` [U-Boot] [PATCH v2 02/13] drivers: usb: dwc3-omap: move usb_gadget_handle_interrupts from board files to drivers Vignesh R
2017-06-13 12:09 ` [U-Boot] [PATCH v2 03/13] am437x: board: do not register usb devices when CONFIG_DM_USB is defined Vignesh R
2017-06-13 12:10 ` [U-Boot] [PATCH v2 04/13] omap5/am57xx/dra7xx: " Vignesh R
2017-06-13 12:10 ` [U-Boot] [PATCH v2 05/13] drivers: usb: common: add support to get maximum speed from dt Vignesh R
2017-06-13 14:01 ` Marek Vasut
2017-06-14 9:16 ` Vignesh R
2017-06-15 17:07 ` Marek Vasut
2017-06-13 12:10 ` [U-Boot] [PATCH v2 06/13] drivers: usb: dwc3: add ti dwc3 peripheral driver with driver model support Vignesh R
2017-06-13 14:03 ` Marek Vasut
2017-06-14 12:25 ` Vignesh R
2017-06-15 16:57 ` Marek Vasut
2017-06-20 12:00 ` Vignesh R
2017-06-20 12:04 ` Marek Vasut
2017-06-20 13:44 ` Lukasz Majewski
2017-06-21 5:12 ` Vignesh R
2017-06-21 8:09 ` Lukasz Majewski [this message]
2017-06-22 12:12 ` Vignesh R
2017-06-22 13:00 ` Lukasz Majewski
2017-06-27 9:08 ` Vignesh R
2017-06-27 9:53 ` Lukasz Majewski
2018-01-08 17:57 ` Vignesh R
2017-06-13 12:10 ` [U-Boot] [PATCH v2 07/13] drivers: usb: dwc3: add ti dwc3 misc driver for wrapper Vignesh R
2017-06-13 14:05 ` Marek Vasut
2017-06-14 11:01 ` Vignesh R
2017-06-13 12:10 ` [U-Boot] [PATCH v2 08/13] usb: gadget: ether: Provide a way to read MAC address Vignesh R
2017-06-13 14:06 ` Marek Vasut
2017-06-14 12:24 ` Vignesh R
2017-06-15 16:58 ` Marek Vasut
2017-06-19 11:03 ` Vignesh R
2017-06-21 7:33 ` Lukasz Majewski
2017-07-06 4:48 ` Simon Glass
2017-06-13 12:10 ` [U-Boot] [PATCH v2 09/13] usb: gadget: ether: Populate DM_FLAG_PRE_RELOC flag Vignesh R
2017-06-17 3:42 ` Simon Glass
2017-06-13 12:10 ` [U-Boot] [PATCH v2 10/13] usb: gadget: add DWC3 USB gadget support Vignesh R
2017-06-17 3:42 ` Simon Glass
2017-06-13 12:10 ` [U-Boot] [PATCH v2 11/13] am43xx: Add USB device boot support Vignesh R
2017-06-17 3:42 ` Simon Glass
2017-06-13 12:10 ` [U-Boot] [PATCH v2 12/13] configs: am43xx: Enable configs to support USB device boot Vignesh R
2017-06-17 3:42 ` Simon Glass
2017-06-13 12:10 ` [U-Boot] [PATCH v2 13/13] ARM: am437x-gp-evm-u-boot.dtsi: Enable nodes for " Vignesh R
2017-06-13 13:03 ` Lokesh Vutla
2017-06-14 8:53 ` Vignesh R
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170621100901.035e3b6f@jawa \
--to=lukma@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.