All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@nvidia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 16/20] tegra: usb: Add support for Tegra USB peripheral
Date: Wed, 18 Jan 2012 17:43:59 -0700	[thread overview]
Message-ID: <4F17674F.9050103@nvidia.com> (raw)
In-Reply-To: <1326342789-5781-17-git-send-email-sjg@chromium.org>

On 01/11/2012 09:33 PM, Simon Glass wrote:
> This adds basic support for the Tegra2 USB controller. Board files should
> call board_usb_init() to set things up.

> diff --git a/arch/arm/cpu/armv7/tegra2/usb.c b/arch/arm/cpu/armv7/tegra2/usb.c

> +/* Record which controller can switch from host to device mode */
> +static struct fdt_usb *host_dev_ctlr;

As you'll note from my comments on the DT bindings, it doesn't make
sense to have a single global variable for that; both USB1 and USB3 can
switch at run-time apparently, and USB2 at initialization time.

> +void usbf_reset_controller(enum periph_id id, struct usb_ctlr *usbctlr)
...
> +       /*
> +        * Set USB1_NO_LEGACY_MODE to 1, Registers are accessible under
> +        * base address
> +        */
> +       if (id == PERIPH_ID_USBD)
> +               setbits_le32(&usbctlr->usb1_legacy_ctrl, USB1_NO_LEGACY_MODE);
...
> +       /* Set USB3 to use UTMIP PHY */
> +       if (id == PERIPH_ID_USB3)
> +               setbits_le32(&usbctlr->susp_ctrl, UTMIP_PHY_ENB);
...
> +static void init_usb_controller(enum periph_id id, struct usb_ctlr *usbctlr,
> +               const u32 timing[])
...
> +       /*
> +        * To Use the A Session Valid for cable detection logic, VBUS_WAKEUP
> +        * mux must be switched to actually use a_sess_vld threshold.
> +        */
> +       if (id == PERIPH_ID_USBD) {
> +               clrsetbits_le32(&usbctlr->usb1_legacy_ctrl,
> +                       VBUS_SENSE_CTL_MASK, VBUS_SENSE_CTL_A_SESS_VLD);
> +       }

Uggh. The driver shouldn't really be altering its behaviour based on
knowledge of the instance number. Can those conditions be modified to
test something else instead?

For the first (USBD) condition, it seems like if the registers are
different, we should really have either different compatible values, or
a flag in the DT to indicate this.

For the second (USB3) condition, shouldn't this be testing the phy type
field, not the instance ID?

For the third (USBD) condition, can it test whether there's a VBUS GPIO
defined, or whether an appropriate combination of my proposed
enable-host-mode/enable-device-mode properties are present?

-- 
nvpublic

  parent reply	other threads:[~2012-01-19  0:43 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-12  4:32 [U-Boot] [PATCH v4 0/20] tegra: Add fdt definitions and USB driver Simon Glass
2012-01-12  4:32 ` [PATCH v4 02/20] fdt: Add functions to access phandles, arrays and bools Simon Glass
2012-01-12  4:32   ` [U-Boot] " Simon Glass
     [not found]   ` <1326342789-5781-3-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:01     ` Stephen Warren
2012-01-18 22:01       ` [U-Boot] " Stephen Warren
2012-01-23  2:03     ` Jerry Van Baren
2012-01-23  2:03       ` Jerry Van Baren
2012-01-12  4:32 ` [PATCH v4 05/20] arm: fdt: Add skeleton device tree file from kernel Simon Glass
2012-01-12  4:32   ` [U-Boot] " Simon Glass
     [not found] ` <1326342789-5781-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-12  4:32   ` [PATCH v4 01/20] fdt: Tidy up a few fdtdec problems Simon Glass
2012-01-12  4:32     ` [U-Boot] " Simon Glass
     [not found]     ` <1326342789-5781-2-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 21:58       ` Stephen Warren
2012-01-18 21:58         ` [U-Boot] " Stephen Warren
2012-01-23  2:03       ` Jerry Van Baren
2012-01-23  2:03         ` Jerry Van Baren
2012-01-12  4:32   ` [PATCH v4 03/20] fdt: Add basic support for decoding GPIO definitions Simon Glass
2012-01-12  4:32     ` [U-Boot] " Simon Glass
2012-01-18 22:17     ` Stephen Warren
2012-01-18 22:17       ` [U-Boot] " Stephen Warren
2012-01-21 17:08       ` Simon Glass
2012-01-21 17:08         ` [U-Boot] " Simon Glass
     [not found]         ` <CAPnjgZ0TCNTZjR_Fc1+UvYxyjH-a-Bxtkz60OERR7YmC5tbuug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-23 18:18           ` Stephen Warren
2012-01-23 18:18             ` [U-Boot] " Stephen Warren
     [not found]             ` <4F1DA490.6090903-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-01-24 23:11               ` Simon Glass
2012-01-24 23:11                 ` [U-Boot] " Simon Glass
     [not found]                 ` <CAPnjgZ0eNXhWYtkb+4-FswpByAE7NHXoLz-ngp7Af_P0+u4GiQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-24 23:14                   ` Stephen Warren
2012-01-24 23:14                     ` [U-Boot] " Stephen Warren
     [not found]                     ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81F0D-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-24 23:17                       ` Simon Glass
2012-01-24 23:17                         ` [U-Boot] " Simon Glass
2012-01-12  4:32   ` [PATCH v4 04/20] arm: fdt: Ensure that an embedded fdt is word-aligned Simon Glass
2012-01-12  4:32     ` [U-Boot] " Simon Glass
2012-02-18 11:51     ` Albert ARIBAUD
2012-02-18 11:51       ` [U-Boot] " Albert ARIBAUD
2012-02-18 18:09       ` Simon Glass
2012-02-18 18:09         ` [U-Boot] " Simon Glass
2012-02-19  8:27         ` Albert ARIBAUD
2012-02-19  8:27           ` [U-Boot] " Albert ARIBAUD
2012-02-19 16:23           ` Simon Glass
2012-02-19 16:23             ` [U-Boot] " Simon Glass
2012-02-19 18:33             ` Albert ARIBAUD
2012-02-19 18:33               ` [U-Boot] " Albert ARIBAUD
2012-02-27 20:27               ` Simon Glass
2012-02-27 20:27                 ` [U-Boot] " Simon Glass
2012-01-12  4:32   ` [PATCH v4 06/20] tegra: fdt: Add Tegra2x device tree file from kernel Simon Glass
2012-01-12  4:32     ` [U-Boot] " Simon Glass
     [not found]     ` <1326342789-5781-7-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:24       ` Stephen Warren
2012-01-18 22:24         ` [U-Boot] " Stephen Warren
2012-01-19 23:51         ` Simon Glass
2012-01-19 23:51           ` [U-Boot] " Simon Glass
2012-01-20  0:06           ` Stephen Warren
2012-01-20  0:06             ` [U-Boot] " Stephen Warren
2012-01-12  4:32   ` [PATCH v4 07/20] tegra: fdt: Add device tree file for Tegra2 Seaboard " Simon Glass
2012-01-12  4:32     ` [U-Boot] " Simon Glass
2012-01-18 22:28     ` Stephen Warren
2012-01-18 22:28       ` [U-Boot] " Stephen Warren
2012-01-21 17:20       ` Simon Glass
2012-01-21 17:20         ` [U-Boot] " Simon Glass
2012-01-12  4:32   ` [PATCH v4 08/20] fdt: Add staging area for device tree binding documentation Simon Glass
2012-01-12  4:32     ` [U-Boot] " Simon Glass
     [not found]     ` <1326342789-5781-9-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:30       ` Stephen Warren
2012-01-18 22:30         ` [U-Boot] " Stephen Warren
2012-01-19 23:52         ` Simon Glass
2012-01-19 23:52           ` [U-Boot] " Simon Glass
2012-01-12  4:32   ` [PATCH v4 09/20] fdt: Add tegra-usb bindings file from linux Simon Glass
2012-01-12  4:32     ` [U-Boot] " Simon Glass
2012-01-12  4:33   ` [PATCH v4 11/20] tegra: fdt: Add clock bindings Simon Glass
2012-01-12  4:33     ` [U-Boot] " Simon Glass
     [not found]     ` <1326342789-5781-12-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-19  0:16       ` [PATCH] ARM: tegra: Define Tegra20 CAR binding Stephen Warren
2012-01-19  0:16         ` [U-Boot] " Stephen Warren
     [not found]         ` <1326932212-30346-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-01-19  5:31           ` Olof Johansson
2012-01-19  5:31             ` [U-Boot] " Olof Johansson
     [not found]             ` <20120119053143.GA27447-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2012-01-19 17:17               ` Stephen Warren
2012-01-19 17:17                 ` [U-Boot] " Stephen Warren
     [not found]                 ` <74CDBE0F657A3D45AFBB94109FB122FF1780DAB0CA-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-21  7:32                   ` Olof Johansson
2012-01-21  7:32                     ` [U-Boot] " Olof Johansson
     [not found]                     ` <CAOesGMh=i3EED-XhOpwGj8Vuma3xA0WehRL1iK1LSZfEuetP6Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-21  8:31                       ` Mitch Bradley
2012-01-21  8:31                         ` [U-Boot] " Mitch Bradley
2012-01-23 16:18                       ` Stephen Warren
2012-01-23 16:18                         ` [U-Boot] " Stephen Warren
     [not found]                         ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81A90-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-23 17:45                           ` Mitch Bradley
2012-01-23 17:45                             ` [U-Boot] " Mitch Bradley
2012-01-23 18:16                       ` Grant Likely
2012-01-23 18:16                         ` [U-Boot] " Grant Likely
2012-01-22 18:03           ` Simon Glass
2012-01-22 18:03             ` [U-Boot] " Simon Glass
     [not found]             ` <CAPnjgZ2t9FnEubWmLyNMGGhr=jEmfb1qzK=SAzRopjbCbHKdrA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-23 16:29               ` Stephen Warren
2012-01-23 16:29                 ` [U-Boot] " Stephen Warren
2012-01-24  9:52           ` Peter De Schrijver
2012-01-24  9:52             ` [U-Boot] " Peter De Schrijver
     [not found]             ` <20120124095241.GO10446-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>
2012-01-24 22:08               ` Stephen Warren
2012-01-24 22:08                 ` [U-Boot] " Stephen Warren
     [not found]                 ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81EC4-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-24 22:32                   ` Colin Cross
2012-01-24 22:32                     ` [U-Boot] " Colin Cross
     [not found]                     ` <CAMbhsRQYt7RoXTDDPxCgGG2UX5_T86saOyns_0f_Sz-p7-gMTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-24 22:43                       ` Stephen Warren
2012-01-24 22:43                         ` [U-Boot] " Stephen Warren
     [not found]                         ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81EEB-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-24 22:59                           ` Colin Cross
2012-01-24 22:59                             ` [U-Boot] " Colin Cross
     [not found]                             ` <CAMbhsRScz4edCr4Cxa=QbBhuYW1M3GsbKhCbFuo5Zu9PRdNfSg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-25  9:50                               ` Peter De Schrijver
2012-01-25  9:50                                 ` [U-Boot] " Peter De Schrijver
2012-01-12  4:33   ` [PATCH v4 12/20] tegra: usb: fdt: Add additional device tree definitions for USB ports Simon Glass
2012-01-12  4:33     ` [U-Boot] " Simon Glass
     [not found]     ` <1326342789-5781-13-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-19  0:19       ` Stephen Warren
2012-01-19  0:19         ` [U-Boot] " Stephen Warren
2012-01-19 23:53         ` Simon Glass
2012-01-19 23:53           ` [U-Boot] " Simon Glass
2012-01-12  4:33   ` [PATCH v4 13/20] tegra: usb: fdt: Add USB definitions for Tegra2 Seaboard Simon Glass
2012-01-12  4:33     ` [U-Boot] " Simon Glass
2012-01-12  4:33   ` [PATCH v4 15/20] fdt: Add function to return peripheral/clock ID Simon Glass
2012-01-12  4:33     ` [U-Boot] " Simon Glass
2012-01-12  4:33   ` [PATCH v4 20/20] tegra: fdt: Enable FDT support for Seaboard Simon Glass
2012-01-12  4:33     ` [U-Boot] " Simon Glass
2012-01-12  4:32 ` [PATCH v4 10/20] tegra: fdt: Add additional USB binding Simon Glass
2012-01-12  4:32   ` [U-Boot] " Simon Glass
     [not found]   ` <1326342789-5781-11-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:48     ` Stephen Warren
2012-01-18 22:48       ` [U-Boot] " Stephen Warren
     [not found]       ` <4F174C3E.2090403-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-01-19  5:35         ` Olof Johansson
2012-01-19  5:35           ` [U-Boot] " Olof Johansson
     [not found]           ` <20120119053523.GB27447-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2012-01-19  5:55             ` Simon Glass
2012-01-19  5:55               ` [U-Boot] " Simon Glass
     [not found]               ` <CAPnjgZ0JAyV8+0kLv=EcM-AhBxE-YSyG-Y7rYPS8PhOAOnq6dw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19  6:41                 ` Olof Johansson
2012-01-19  6:41                   ` [U-Boot] " Olof Johansson
     [not found]                   ` <CAOesGMjCxryS+3yQZqCP3JYeHpCbUuNHM+rtDBoOQjF6rwLv5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19  6:59                     ` Simon Glass
2012-01-19  6:59                       ` [U-Boot] " Simon Glass
     [not found]                       ` <CAPnjgZ10mwQJ7RubrO_VFdHF+39cHOjLPmQNbYBeERjTWJMU4Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19  7:13                         ` Olof Johansson
2012-01-19  7:13                           ` [U-Boot] " Olof Johansson
     [not found]                           ` <CAOesGMhOe6enf9BFgpCbvEgtT3F-p5rEsxp8=PG57sxBaQvawQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19 17:33                             ` Stephen Warren
2012-01-19 17:33                               ` [U-Boot] " Stephen Warren
2012-01-19 23:55                               ` Simon Glass
2012-01-19 23:55                                 ` [U-Boot] " Simon Glass
2012-01-12  4:33 ` [U-Boot] [PATCH v4 14/20] usb: Add support for txfifo threshold Simon Glass
2012-01-15 19:50   ` Remy Bohmer
2012-01-12  4:33 ` [U-Boot] [PATCH v4 16/20] tegra: usb: Add support for Tegra USB peripheral Simon Glass
2012-01-15 20:40   ` Remy Bohmer
2012-01-19  0:43   ` Stephen Warren [this message]
2012-01-19 23:54     ` Simon Glass
2012-01-12  4:33 ` [U-Boot] [PATCH v4 17/20] tegra: usb: Add USB support to nvidia boards Simon Glass
2012-01-19  0:30   ` Stephen Warren
2012-01-19 23:53     ` Simon Glass
2012-01-12  4:33 ` [U-Boot] [PATCH v4 18/20] tegra: usb: Add common USB defines for tegra2 boards Simon Glass
2012-01-12  4:33 ` [U-Boot] [PATCH v4 19/20] tegra: usb: Enable USB on Seaboard Simon Glass
2012-01-24 23:09 ` [U-Boot] [PATCH v4 0/20] tegra: Add fdt definitions and USB driver Simon Glass

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=4F17674F.9050103@nvidia.com \
    --to=swarren@nvidia.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 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.