[U-Boot] [PATCH] rockchip: rk3288: dts: remove 'vmmc' from emmc node

Kever Yang
2018-12-04T07:06:34Z

Hi Fabio,

On 12/03/2018 07:27 PM, Fabio Estevam wrote:
> Hi Kever,
>
> On Mon, Dec 3, 2018 at 2:00 AM Kever Yang <kever.yang@rock-chips.com> wrote:
>> The U-Boot eMMC does not need to care about the power for Rockchip
>> SoC, because if the board is using eMMC, the power will default on
>> (for bootrom), and we do not do power management for it like kernel,
>> so the 'vmmc', 'vqmmc' is only useful for SD in U-Boot.
> Devicetree should represent the hardware and should not rely on
> details of BootROM / kernel / U-Boot.
>
> If these supplies are present in the hardware, they should be
> represented in the devicetree.
>
> What is the exact issue you are trying to solve?

The U-Boot will fail to boot if eMMC driver try to enable the regulator
with error return.
These two nodes makes the eMMC driver need depends on pmic/regulator driver
works good.
My case is I have two similar boards, but have different pmic or pmic
config,
then only the one with correct config can boot successful.
I know you would ask me to commit a new dts with correct pmic config,
but please
note that there are much much more boards then what the upstream already
have.
We are not possible to add every board, and I don't think we have to.

After sync with rockchip eMMC maintainer, we think if a board wants eMMC
as main storage,
the power will default on, only the SD is the one need to take care
about default power.

The basic functionality of a boot loader is to load next stage firmware
to RAM and
boot into it, the only driver mucs work is eMMC(if this is main
storage), so that the CPU
and eMMC works then we can boot into kernel even if the pmic driver is
broken.

I understand the Device tree 'should' represent the hardware, but you
'should' know every
program has different requirement to dts, many nodes are U-Boot only,
and many nodes
are kernel only. In this case, I choose not to use these two nodes in
U-Boot.

Thanks,
- Kever
>