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

Tom Warren twarren.nvidia at gmail.com
Thu Feb 21 16:38:13 CET 2013


Stephen,

On Wed, Feb 20, 2013 at 5:15 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> 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.
Since I have to touch the dts files yet again to put the cd-gpios flag
change in, I'll change all the ARCH_CPU_DTS occurrences to
"tegra20.dtsi". Sigh. ;)

>
>>>> 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