[U-Boot] [PATCH v5 3/4] Tegra: fdt: Add/enhance sdhci (mmc) nodes for all T20 DT files

Stephen Warren swarren at wwwdotorg.org
Thu Feb 21 01:15:35 CET 2013


On 02/20/2013 04:01 PM, Tom Warren wrote:
> Stephen,
> 
> On Wed, Feb 20, 2013 at 3:35 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
>> On 02/20/2013 02:05 PM, Tom Warren wrote:
>>> Linux dts files were used for those boards that didn't already
>>> have sdhci info populated. Tamonten has their own dtsi file with
>>> common sdhci nodes (sourced from Linux).
>>
>> So this patch now does a two unrelated things:
>>
>> a) Switches from /include/ to #include.
>> b) A bunch of changes for the SDHCI properties.
>>
>> Those should really be separate patches.
> I'll split 'em.
> 
>>
>>> diff --git a/board/compal/dts/tegra20-paz00.dts b/board/compal/dts/tegra20-paz00.dts
>>
>>> -/include/ ARCH_CPU_DTS
>>> +#include ARCH_CPU_DTS
>>
>> I think we should get rid of ARCH_CPU_DTS too. The only reason it ever
>> existed was because we were using dtc's include processing and had to
>> work around some issue with that (I can't remember exactly what, but
>> Simon will). Now that we're using cpp's include processing, we can
>> simply write:
>>
>> #include "tegra20.dtsi".
> That can be done later in a dts include file cleanup patch for all the
> DT builds/files. What is there now works fine.

Sigh. But if you're using cpp now, then removing the use of ARCH_CPU_DTS
is logically part of that.

I agree it works now, but it's far more important to get it right than
just make it work.

>>> diff --git a/board/nvidia/dts/tegra20-seaboard.dts b/board/nvidia/dts/tegra20-seaboard.dts
>>
>>>  /memreserve/ 0x1c000000 0x04000000;
>>
>> Unrelated to this series, but we should remove that line. It's unlikely
>> to be remotely correct.
> Yep, saw those (tegra30, too), but didn't want to fix 'em here. I'll
> do it in a separate patch later.
> 
>>
>>>       sdhci at c8000400 {
>>> +             status = "okay";
>>>               cd-gpios = <&gpio 69 0>; /* gpio PI5 */
>>>               wp-gpios = <&gpio 57 0>; /* gpio PH1 */
>>>               power-gpios = <&gpio 70 0>; /* gpio PI6 */
>>> +             bus-width = <4>;
>>>       };
>>
>> In an earlier version of these patches, I think you'd made the cd-gpios
>> flags be "3" not "0", and I'd pointed out that doesn't match the
>> kernel's. It turns out that on most (if not all) boards, cd-gpios should
>> actually be marked active-low, so the flags should likely be "1" (not 3;
>> bit 1 isn't defined to mean anything). This is true for all the NVIDIA
>> boards, and Paz00 and TrimSlice. Joseph Lo is waiting for confirmation
>> from Thierry and Lucas on their boards before re-spinning the patch to
>> update them too.
> 
> Card-detect works fine (at least, on Seaboard).

That's likely because nothing in the code actually uses the GPIO flags
field, but rather assumes that the GPIO is active low.

We should still correct this error in the DT so that what the DT asserts
is true actually is true.

> There never was an
> earlier version with cd-gpios flags with anything other than 0. It was
> power-gpios for Seaboard that had its flags set to 3 in a ChromeOS
> version of U-Boot that I originally copied the DT sdhci info from, and
> I've fixed that.

Ah, OK.


More information about the U-Boot mailing list