Re: ARM iMX6sx board fails to boot with kernel 6.17
From: Sergey Organov
Date: Mon Oct 27 2025 - 16:43:10 EST
Hi Fabio,
Sergey Organov <sorganov@xxxxxxxxx> writes:
> Hi Fabio,
>
> Fabio Estevam <festevam@xxxxxxxxx> writes:
>
>> Hi Sergey,
>>
>> On Sat, Oct 11, 2025 at 5:57 PM Sergey Organov <sorganov@xxxxxxxxx>
>> wrote:
>>
>>> I'm not familiar with the code and can't figure what exactly I'm
>>> expected to check. Could you please prepare a patch, and I'll be
>>> happy to apply and check it.
>>
>> Here is a patch you can try.
>>
>> It's not a formal patch yet, as it needs to be split.
>
> No, this patch doesn't help.
[...]
> I'm going to dig into imx_4.9.11_1.0.0_ga branch again more carefully to
> try to figure what's going on, and what actually either fixes or
> work-arounds the problem at hand.
Well, that activity ended up being almost useless. Even though I've
found yet another patch that "fixes" the build for my board in
imx_4.9.11_1.0.0_ga branch, it happens to cure neither latest mainstream
kernel nor NXP lf-6.12.y branch.
For reference, the patch is:
https://github.com/nxp-imx/linux-imx/commit/fe3aca041b0b8042d59bcf1d9169109c9220e783
I figure the only sensible option that is left is to try to actually
debug the issue on my board using either the latest mainstream kernel,
or lf-6.12.y by NXP (which one is more promising BTW?), but right
now I have no idea where to start. Any hints?
Also, could you please comment on the issues I've raised earlier, to help
me better understand the state of iMX6SX support:
1. Documentation/usage-model.rst suggests "interrupt-parent = <&intc>;"
to be root node property, not of /soc as in imx6sx.dtsi. Is this
essential? Anyway, shouldn't either documentation or implementation be
fixed to agree on this?
2. intc: in imx6sx.dtsi is interrupt-parent of itself? Is it a mistake?
If not, this asks for an explanation in a comment?
intc: interrupt-controller@a01000 {
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x00a01000 0x1000>,
<0x00a00100 0x100>;
interrupt-parent = <&intc>;
};
3. Some nodes have <&intc>, and some <&gpc> as interrupt-parent. Could
somebody please re-check if it makes sense? Besides, "gpc" is not true
interrupt controller, right, so what's the matter of having it as
interrupt-parent for some nodes?
4. Suspect cycles in DTS:
/soc/bus@2000000/clock-controller@20c4000: Fixed dependency cycle(s) with /soc/bus@2000000/gpc@20dc000
/soc/bus@2000000/gpc@20dc000: Fixed dependency cycle(s) with /soc/bus@2000000/clock-controller@20c4000
/soc/bus@2000000/clock-controller@20c4000: Fixed dependency cycle(s) with /soc/bus@2000000/gpc@20dc000
/soc/bus@2000000/gpc@20dc000: Fixed dependency cycle(s) with /soc/bus@2000000/clock-controller@20c4000
/soc/bus@2000000/gpc@20dc000: Fixed dependency cycle(s) with /soc/bus@2000000/clock-controller@20c4000
Are they to better be manually fixed?
Thanks,
-- Sergey Organov