[U-Boot] [PATCH V3 6/6] T210: Add support for 64-bit T210-based P2571 board

Stephen Warren
2015-07-29T16:09:57Z

On 07/29/2015 05:07 AM, Thierry Reding wrote:
> On Tue, Jul 28, 2015 at 01:27:07PM -0600, Stephen Warren wrote:
>> On 07/24/2015 04:01 PM, Tom Warren wrote:
>>> Based on Venice2, incorporates Stephen Warren's
>>> latest P2571 pinmux table.
>>>
>>> With Thierry Reding's 64-bit build fixes, this
>>> will build and and boot in 64-bit on my P2571
>>> (when used with a 32-bit AVP loader).
>>
>>> diff --git a/board/nvidia/p2571/max77620_init.c b/board/nvidia/p2571/max77620_init.c
>>
>>> +void pmic_enable_cpu_vdd(void)
>>
>> This function is never called, or even linked into the binary. For previous
>> Tegra SoCs, it was called from the SPL before booting the CCPLEX. Since
>> there is no SPL for Tegra210, nothing calls this.
>>
>>> + debug("%s: Set LDO2 for VDDIO_SDMMC_AP power to 3.3V\n", __func__);
>>> + /* 0xF2 for 3.3v, enabled: bit7:6 = 11 = enable, bit5:0 = voltage */
>>> + reg = 0xF200 | MAX77620_CNFG1_L2_REG;
>>> + tegra_i2c_ll_write_addr(MAX77620_I2C_ADDR, 2);
>>> + tegra_i2c_ll_write_data(reg, I2C_SEND_2_BYTES);
>>> + udelay(10 * 1000);
>>
>> This explains why the SD card isn't working for me on p2371-2180; I guess
>> the PMIC OTP on that board has this regulator disabled, and since this code
>> never runs, it never gets turned on. If I manually turn it on using the i2c
>> command, then "mmc dev 1" works.
>>
>> For p2571, I think we should either delete this file entirely. Or, at least
>> strip it down so that it's not touching global PMIC configuration but rather
>> just enabling any non-CCPLEX rails that U-Boot might need such as SD card
>> and USB, then rename the function and arrange for it to be called from
>> somewhere. I'm not sure what a good name and call-site would be yet.
>
> Have you looked at my P2371 support patches? Specifically commit "ARM:
> tegra: Add NVIDIA P2371 support" has the board-level code that I've used
> to boot upstream on the device. There's a board_mmc_power_init()
> implementation which overrides the weak dummy provided in
> drivers/mmc/mmc.c.

Do you have a git repo and branch link?

I wasn't aware that U-Boot had been ported to either p2371, so I
re-created the support for those boards yesterday for L4T's U-Boot, and
I was planning to cherry-pick them into upstream U-Boot and retest that
today.