rockchip: rk3288: dts: remove 'vmmc' from emmc node
PATCH 1/1 rockchip: rk3288: dts: remove 'vmmc' from emmc node
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.
---
arch/arm/dts/rk3288-evb.dtsi | 2 -- arch/arm/dts/rk3288-firefly.dtsi | 2 -- arch/arm/dts/rk3288-miqi.dtsi | 2 -- arch/arm/dts/rk3288-popmetal.dtsi | 2 -- 4 files changed, 8 deletions(-)
arch/arm/dts/rk3288-evb.dtsi +0 -2
@@ -150,8 +150,6 @@ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; - vmmc-supply = <&vcc_io>; - vqmmc-supply = <&vcc_flash>; status = "okay"; };
arch/arm/dts/rk3288-firefly.dtsi +0 -2
@@ -138,8 +138,6 @@ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; - vmmc-supply = <&vcc_io>; - vqmmc-supply = <&vcc_flash>; status = "okay"; };
arch/arm/dts/rk3288-miqi.dtsi +0 -2
@@ -102,8 +102,6 @@ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; - vmmc-supply = <&vcc_io>; - vqmmc-supply = <&vcc_flash>; status = "okay"; };
arch/arm/dts/rk3288-popmetal.dtsi +0 -2
@@ -171,8 +171,6 @@ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; - vmmc-supply = <&vcc_io>; - vqmmc-supply = <&vcc_flash>; status = "okay"; };
Signature · 1 line
2.18.0
PATCH 1/1 rockchip: rk3288: dts: remove 'vmmc' from emmc node
Hi Kever,
Quoted 5 lines · Kever Yang
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?
PATCH 1/1 rockchip: rk3288: dts: remove 'vmmc' from emmc node
Hi Fabio,
Quoted 7 lines · Fabio Estevam
Hi Kever,
Quoted 4 lines · Kever Yang
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.
Quoted 7 lines
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
Quoted 1 line
PATCH 1/1 rockchip: rk3288: dts: remove 'vmmc' from emmc node
Kever,
Quoted 21 lines · Kever Yang
Hi Fabio,
Quoted 7 lines · Fabio Estevam
Hi Kever,
Quoted 4 lines · Kever Yang
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.
Quoted 7 lines
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?
Quoted 12 lines
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.
These boards should have their own DTS, as that’s the main function of the DTS (i.e. to describe the actual hardware).
Why is it not possible to add these boards?
Thanks,
Philipp.
PATCH 1/1 rockchip: rk3288: dts: remove 'vmmc' from emmc node
Am Dienstag, 4. Dezember 2018, 10:35:48 CET schrieb Philipp Tomsich:
Quoted 36 lines
Kever,
Quoted 21 lines · Kever Yang
Hi Fabio,
Quoted 7 lines · Fabio Estevam
Hi Kever,
Quoted 4 lines · Kever Yang
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.
Quoted 7 lines
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?
Quoted 12 lines
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.
Quoted 4 lines
These boards should have their own DTS, as that’s the main function of the DTS (i.e. to describe the actual hardware).
Why is it not possible to add these boards?
I'd also like to have each board represented correctly.
I think the main issue for Kever is, that each marketed device (hundreds?) is largely following a reference design for the soc with smallish per- board changes for their relevant features. So I guess the hope is that it will save effort if there is common devicetree/board.
While these largely similar dts are somewhat of a concern, on the kernel- side I try to only allow shared files for boards of the same vendor ... aka when it really is safe to assume that everybody knows what really is shared like the Vamrs Ficus+Rock960 or of course the Google-Gru series of devices.
Heiko
PATCH 1/1 rockchip: rk3288: dts: remove 'vmmc' from emmc node
Hi Heiko and Philipp,
Quoted 39 lines · Heiko Stuebner
Am Dienstag, 4. Dezember 2018, 10:35:48 CET schrieb Philipp Tomsich:
Quoted 38 lines
Kever,
Quoted 20 lines · Kever Yang
Hi Fabio,
Quoted 7 lines · Fabio Estevam
Hi Kever,
Quoted 4 lines · Kever Yang
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.
Quoted 7 lines
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?
Quoted 12 lines
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.These boards should have their own DTS, as that’s the main function of the DTS (i.e. to describe the actual hardware).
Why is it not possible to add these boards?
Theobroma system only have very few boards, so you think every board must have its own dts, because you can maintain all of them. But I can be sure that rk3288 have more than 100 boards, maybe around thousands of them, but only very few boards will send their dts upstream, and many board vendor even don't want to touch the U-Boot. I would update the patch and only touch the evb, and I would like this dts more easy to boot into kernel even if
there are some kind of error happen in U-Boot, how do you think?
So, no body care about the robust of the U-Boot:
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.
Quoted 6 lines
I'd also like to have each board represented correctly.
I think the main issue for Kever is, that each marketed device (hundreds?) is largely following a reference design for the soc with smallish per- board changes for their relevant features. So I guess the hope is that it will save effort if there is common devicetree/board.
Yes, I add a feature to re-use the kernel dtb and share a per chip common dts for
Rockchip private U-Boot, because there are too much cases, and I want the eMMC driver
to be more stand alone so that not be affect by other module like pmic.
Quoted 4 lines
While these largely similar dts are somewhat of a concern, on the kernel- side I try to only allow shared files for boards of the same vendor ... aka when it really is safe to assume that everybody knows what really is shared like the Vamrs Ficus+Rock960 or of course the Google-Gru series of devices.
As I have said, there are much more boards out of mainline and your method can only resolve those already upstream.
Thanks,
- Kever
Quoted 5 lines
Heiko