[PATCH v1] Revert "ARM: dts: imx7: Fix NAND controller size-cells"
Marek Vasut
marex at denx.de
Mon Dec 5 10:52:08 PST 2022
On 12/5/22 19:18, Miquel Raynal wrote:
> Hi Marek,
>
> marex at denx.de wrote on Mon, 5 Dec 2022 19:07:14 +0100:
>
>> On 12/5/22 18:58, Miquel Raynal wrote:
>>> Hi Marek,
>>
>> Hi,
>>
>>> marex at denx.de wrote on Mon, 5 Dec 2022 17:26:53 +0100:
>>>
>>>> On 12/5/22 16:23, Francesco Dolcini wrote:
>>>>> From: Francesco Dolcini <francesco.dolcini at toradex.com>
>>>>>
>>>>> This reverts commit 753395ea1e45c724150070b5785900b6a44bd5fb.
>>>>>
>>>>> It introduced a boot regression on colibri-imx7, and potentially any
>>>>> other i.MX7 boards with MTD partition list generated into the fdt by
>>>>> U-Boot.
>>>>>
>>>>> While the commit we are reverting here is not obviously wrong, it fixes
>>>>> only a dt binding checker warning that is non-functional, while it
>>>>> introduces a boot regression and there is no obvious fix ready.
>>>>>
>>>>> Cc: stable at vger.kernel.org
>>>>> Fixes: 753395ea1e45 ("ARM: dts: imx7: Fix NAND controller size-cells")
>>>>> Link: https://lore.kernel.org/all/Y4dgBTGNWpM6SQXI@francesco-nb.int.toradex.com/
>>>>> Link: https://lore.kernel.org/all/20221205144917.6514168a@xps-13/
>>>>> Signed-off-by: Francesco Dolcini <francesco.dolcini at toradex.com>
>>>>> ---
>>>>> arch/arm/boot/dts/imx7s.dtsi | 4 ++--
>>>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi
>>>>> index 03d2e8544a4e..0fc9e6b8b05d 100644
>>>>> --- a/arch/arm/boot/dts/imx7s.dtsi
>>>>> +++ b/arch/arm/boot/dts/imx7s.dtsi
>>>>> @@ -1270,10 +1270,10 @@ dma_apbh: dma-apbh at 33000000 {
>>>>> clocks = <&clks IMX7D_NAND_USDHC_BUS_RAWNAND_CLK>;
>>>>> };
>>>>> > - gpmi: nand-controller at 33002000 {
>>>>> + gpmi: nand-controller at 33002000{
>>>>> compatible = "fsl,imx7d-gpmi-nand";
>>>>> #address-cells = <1>;
>>>>> - #size-cells = <0>;
>>>>> + #size-cells = <1>;
>>>>> reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
>>>>> reg-names = "gpmi-nand", "bch";
>>>>> interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
>>>>
>>>> I suspect this fix should eventually be reverted again, once a proper fix is agreed upon in the MTD OF parser, right ?
>>>
>>> I guess it's time to migrate to a more modern definition
>>
>> Is that the nand-chip at N { status="disabled"; } part ?
>
> I would prefer the controller to be disabled if useless, but otherwise
> yes.
ACK, but see below.
>>> , it's not
>>> complex to do, there are plenty of examples. This would be IMHO a
>>> better step ahead rather than just a cell change. Anyway, I don't mind
>>> reverting this once we've sorted this mess out and fixed U-Boot.
>>
>> Won't we still have issues with older bootloader versions which paste partitions directly into this &gpmi {} node, and which needs to be fixed up in the parser in the end ?
>
> I believe fdt_fixup_mtdparts() should be killed, so we should no longer
> have this problem.
The fdt_fixup_mtdparts is U-Boot code. If contemporary Linux kernel is
booted with ancient U-Boot, then you would still get defective DT passed
to Linux, and that should be fixed up by Linux. Removing
fdt_fixup_mtdparts() from current mainline U-Boot won't solve this problem.
I think this is also what Francesco is trying to convey (please correct
me if I'm wrong).
More information about the linux-mtd
mailing list