From: Stephen Warren <swarren@nvidia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 10/14] tegra: usb: Add support for USB peripheral
Date: Mon, 05 Dec 2011 15:15:58 -0700 [thread overview]
Message-ID: <4EDD429E.8010507@nvidia.com> (raw)
In-Reply-To: <CAPnjgZ0MTaPa4pq1VXk_XbmuDyWTfy-H33W4deNVn2ALUrcW_A@mail.gmail.com>
On 12/05/2011 02:46 PM, Simon Glass wrote:
> Hi Stephen,
>
> On Mon, Dec 5, 2011 at 1:33 PM, Stephen Warren <swarren@nvidia.com> wrote:
>> On 12/02/2011 05:59 PM, Simon Glass wrote:
>>> Hi Stephen,
>>>
>>> Here are my comments on the rest of your email.
>>>
>>> On Mon, Nov 28, 2011 at 11:21 AM, Stephen Warren <swarren@nvidia.com> wrote:
>>>> On 11/23/2011 08:54 PM, Simon Glass wrote:
>>>>> This adds basic support for the Tegra2 USB controller. Board files should
>>>>> call board_usb_init() to set things up.
>>
>>>>> + config->enabled = fdtdec_get_is_enabled(blob, node);
>>>>> + config->periph_id = fdtdec_get_int(blob, node, "periph-id", -1);
>>>>
>>>> periph-id is a U-Boot specific concept, not HW description. The DT
>>>> shouldn't contain that value.
>>>
>>> See my previous comments as to why this is desirable. We can change
>>> over to a clock-based approach once the kernel implements it.
>>
>> That will cause backwards-compatibility problems; older FDTs won't work
>> with newer U-Boots. We should avoid incompatible changes like this if at
>> all possible.
>
> At the moment the fdts are in the U-Boot tree, so we should be able to
> change them at the same time. But of course when we update the fdt we
> need to update the U-Boot code. Is there any alternative other than
> doing nothing until the kernel decides everything?
You can choose not to represent these parameters in the device tree at
all, but rather hard-code the values in the driver. This is what the
kernel currently does; as luck would have it, the required values are
identical for all the boards the kernel currently supports. Once that's
all in place and working, we can work on defining a binding for those
parameters and review/implement it in both U-Boot and the kernel.
>>>>> +int board_usb_init(const void *blob)
>>>>> +{
>>>>> +#ifdef CONFIG_OF_CONTROL
>>>>> + struct fdt_usb config;
>>>>> + int clk_done = 0;
>>>>> + int node, upto = 0;
>>>>> + unsigned osc_freq = clock_get_rate(CLOCK_ID_OSC);
>>>>> +
>>>>> + do {
>>>>> + node = fdtdec_next_alias(blob, "usb",
>>>>> + COMPAT_NVIDIA_TEGRA20_USB, &upto);
>>>>
>>>> Why only initialize USB controllers with aliases? Surely this should
>>>> enumerate all nodes with a specific compatible flag?
>>>
>>> See my other comments - we want to know that port 0 is USB3 on Seaboard.
>>
>> Why does U-Boot care? Everything should be enumerating which peripherals
>> happen to appear on the various USB busses, and not care which host
>> controller they're attached to.
>
> At present we do:
>
> 'usb start 0'
> 'usb start 1'
>
> to select between the ports. There is a patch in the works to change
> that but it hasn't gone upstream yet, or at least wasn't accepted.
Can you point out the patch that changes this, and what exactly it
changes. Hopefully it removes the parameter from the "usb start" command.
I'm still not convinced why U-Boot cares about this (as opposed to the
user using U-Boot).
--
nvpublic
next prev parent reply other threads:[~2011-12-05 22:15 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-24 3:54 [U-Boot] [PATCH 01/14] fdt: Tidy up a few fdtdec problems Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 02/14] fdt: Add functions to access phandles, arrays and bools Simon Glass
2011-11-28 18:41 ` Stephen Warren
2011-11-29 5:12 ` David Gibson
2011-12-02 1:01 ` Simon Glass
2011-12-02 15:55 ` Stephen Warren
2011-12-02 16:38 ` Simon Glass
2011-12-02 3:33 ` Jerry Van Baren
2011-12-02 4:58 ` Simon Glass
2011-12-02 17:22 ` Jerry Van Baren
2011-12-02 18:12 ` Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 03/14] arm: fdt: Ensure that an embedded fdt is word-aligned Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 04/14] arm: fdt: Add skeleton device tree file Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 05/14] tegra: fdt: Add Tegra2x " Simon Glass
2011-11-28 18:56 ` Stephen Warren
2011-12-02 1:24 ` Simon Glass
2011-12-02 15:58 ` Stephen Warren
2011-12-02 16:47 ` Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 06/14] tegra: fdt: Add device tree file for Tegra2 Seaboard Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 07/14] tegra: fdt: Add initial device tree definitions for USB ports Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 08/14] tegra: usb: Add USB definitions for Tegra2 Seaboard Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 09/14] tegra: usb: Add support for data alignment and txfifo threshold Simon Glass
2011-11-28 19:05 ` Stephen Warren
2011-12-02 1:42 ` Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 10/14] tegra: usb: Add support for USB peripheral Simon Glass
2011-11-28 19:21 ` Stephen Warren
2011-12-02 1:51 ` Simon Glass
2011-12-02 16:10 ` Stephen Warren
2011-12-02 17:00 ` Simon Glass
2011-12-02 20:40 ` Stephen Warren
2011-12-02 23:07 ` Simon Glass
2011-12-03 0:59 ` Simon Glass
2011-12-05 21:33 ` Stephen Warren
2011-12-05 21:46 ` Simon Glass
2011-12-05 22:15 ` Stephen Warren [this message]
2011-12-05 23:35 ` Simon Glass
2011-12-06 0:17 ` Stephen Warren
2011-12-06 1:14 ` Simon Glass
2011-12-06 20:42 ` Stephen Warren
2011-12-06 21:23 ` Simon Glass
2011-12-07 23:46 ` Stephen Warren
2011-12-08 21:24 ` Simon Glass
2011-12-12 18:18 ` Stephen Warren
2011-12-12 18:42 ` Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 11/14] tegra: usb: Add USB support to nvidia boards Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 12/14] tegra: usb: Add common USB defines for tegra2 boards Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 13/14] tegra: usb: Enable USB on Seaboard Simon Glass
2011-11-24 3:54 ` [U-Boot] [PATCH 14/14] tegra: fdt: Enable FDT support for Seaboard Simon Glass
2011-11-28 18:33 ` [U-Boot] [PATCH 01/14] fdt: Tidy up a few fdtdec problems Stephen Warren
2011-11-29 1:10 ` David Gibson
2011-12-01 20:59 ` 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=4EDD429E.8010507@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox