From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] usb: ehci: Take advantage of the new multi-controller feature for MXC
Date: Tue, 6 Nov 2012 00:52:26 +0100 (CET) [thread overview]
Message-ID: <1204803970.595037.1352159546113.JavaMail.root@advansee.com> (raw)
In-Reply-To: <201211052354.13036.marex@denx.de>
Dear Marek Vasut,
On Monday, November 5, 2012 11:54:12 PM, Marek Vasut wrote:
> Dear Beno?t Th?baudeau,
>
> > Hi Marek,
> >
> > Thanks to Lucas' series coming with commits c7e3b2b and 676ae06,
> > I'd like
> > to use the multi-controller feature on MXC since most of these SoCs
> > come
> > with a USB IP supporting an OTG controller and multiple host-only
> > controllers.
> >
> > Currently the MXC code in ehci-mx{c|5|6}.c just ignores the index
> > passed to
> > ehci_hcd_init() and the like, and there are 3 port-specific configs
> > (CONFIG_MXC_USB_PORT, CONFIG_MXC_USB_FLAGS and
> > CONFIG_MXC_USB_PORTSC).
> >
> > Not all USB ports from the USB IP will be available on each board
> > for a
> > given SoC, so we need a logical to physical USB port mapping.
> >
> > I would suggest something like the following.
> >
> > board.h:
> > #define CONFIG_MXC_USB { \
> > { \
> > 0, \
> > MXC_EHCI_INTERNAL_PHY, \
> > MXC_EHCI_UTMI_16BIT | MXC_EHCI_MODE_UTMI \
> > }, { \
> > 1, \
> > MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_PWR_PIN_ACTIVE_HIGH | \
> > MXC_EHCI_OC_PIN_ACTIVE_LOW, \
> > MXC_EHCI_MODE_ULPI \
> > }, \
> > }
> >
> > ehci-fsl.h:
> > struct mxc_ehci_cfg {
> > int port;
> > u32 flags;
> > u32 portsc;
> > };
> >
> > ehci-mx{c|5|6}.c:
> > static const struct mxc_ehci_cfg
> > cfg[CONFIG_USB_MAX_CONTROLLER_COUNT] =
> > CONFIG_MXC_USB;
> >
> > Then, in ehci_hcd_init(), there would be the following
> > replacements:
> > - CONFIG_MXC_USB_PORT -> cfg[index].port,
> > - CONFIG_MXC_USB_FLAGS -> cfg[index].flags,
> > - CONFIG_MXC_USB_PORTSC -> cfg[index].portsc.
> >
> > What do you think?
>
> What about passing port private / platform data instead of ID ?
The ID is already passed to ehci_hcd_init(), so we have to live with it if we
don't want to change the newly introduced multi-controller infrastructure.
Or, perhaps this is what you meant, we could have some:
int ehci_mxc_register(int index, const struct mxc_ehci_cfg *cfg);
This function would simply fill an entry in the cfg array in ehci-mx{c|5|6}.c,
this array becoming an array of pointers to struct mxc_ehci_cfg. This looks
nicer, but it needs more code to do just the same thing as the CONFIG_MXC_USB
would do, without adding any feature. The only benefit would be if index were
actually the same as port here, but ehci_hcd_init() would still be called for
all indexes, so it would have to fail e.g. if port 0 is unused but port 1 is
used, which would probably generate some error noise for the user.
Or did you mean something else?
Best regards,
Beno?t
next prev parent reply other threads:[~2012-11-05 23:52 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1242814866.587541.1352146777830.JavaMail.root@advansee.com>
2012-11-05 20:50 ` [U-Boot] usb: ehci: Take advantage of the new multi-controller feature for MXC Benoît Thébaudeau
2012-11-05 22:54 ` Marek Vasut
2012-11-05 23:52 ` Benoît Thébaudeau [this message]
2012-11-05 23:56 ` Marek Vasut
2012-11-06 7:43 ` Lucas Stach
2012-11-06 19:59 ` Benoît Thébaudeau
2012-11-06 22:38 ` Marek Vasut
2012-11-06 22:35 ` Marek Vasut
2012-11-06 23:03 ` Lucas Stach
2012-11-07 13:25 ` Marek Vasut
2012-11-07 13:57 ` Lucas Stach
2012-11-07 14:13 ` Marek Vasut
2012-11-18 16:19 ` Benoît Thébaudeau
2012-11-18 16:21 ` Marek Vasut
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=1204803970.595037.1352159546113.JavaMail.root@advansee.com \
--to=benoit.thebaudeau@advansee.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox