imx8mp: issues getting dtb with pcie enabled to boot

Hi, I am working on the imxmp-verdin platform. One of the quirks with this particular som is that it uses an internal pcie_phy clock instead of an external one like most imx8mp boards do. To get this working on mainline linux, the way clocks are defined for the pcie_phy is `clocks = <&hsio_blk_ctrl>;` However this causes u-boot to completely fail to boot with this error `Device tree error at node '__symbols__'` .
My end goal is to boot a generic arm image over pcie nvme, I don't know if this would be possible but atleast a compatible device tree would be a good starting point.
Thanks.

Adding Marcel and Francesco.
On Fri, Jul 7, 2023 at 5:30 PM Sahaj Sarup sahaj.sarup@linaro.org wrote:
Hi, I am working on the imxmp-verdin platform. One of the quirks with this particular som is that it uses an internal pcie_phy clock instead of an external one like most imx8mp boards do. To get this working on mainline linux, the way clocks are defined for the pcie_phy is `clocks = <&hsio_blk_ctrl>;` However this causes u-boot to completely fail to boot with this error `Device tree error at node '__symbols__'` .
My end goal is to boot a generic arm image over pcie nvme, I don't know if this would be possible but atleast a compatible device tree would be a good starting point.
Thanks.

On Sat, 8 Jul 2023 at 02:04, Fabio Estevam festevam@gmail.com wrote:
Adding Marcel and Francesco.
On Fri, Jul 7, 2023 at 5:30 PM Sahaj Sarup sahaj.sarup@linaro.org wrote:
Hi, I am working on the imxmp-verdin platform. One of the quirks with this particular som is that it uses an internal pcie_phy clock instead of an external one like most imx8mp boards do. To get this working on mainline linux, the way clocks are defined for the pcie_phy is `clocks = <&hsio_blk_ctrl>;` However this causes u-boot to completely fail to boot with this error `Device tree error at node '__symbols__'` .
For now the fix seems to be `clocks = <&hsio_blk_ctrl 0>;` this gets pcie working under linux but not under u-boot, i'm guessing pcie for imx8 is not yet implemented?
My end goal is to boot a generic arm image over pcie nvme, I don't know if
this would be possible but atleast a compatible device tree would be a
good
starting point.
Thanks.

On Fri, Jul 7, 2023 at 8:48 PM Sahaj Sarup sahajsarup@gmail.com wrote:
For now the fix seems to be `clocks = <&hsio_blk_ctrl 0>;`
Please submit the fix to Linux.
this gets pcie working under linux but not under u-boot, i'm guessing pcie for imx8 is not yet implemented?
That's correct.

Hi,
On Fri, 7 Jul 2023 at 14:34, Fabio Estevam festevam@gmail.com wrote:
Adding Marcel and Francesco.
On Fri, Jul 7, 2023 at 5:30 PM Sahaj Sarup sahaj.sarup@linaro.org wrote:
Hi, I am working on the imxmp-verdin platform. One of the quirks with this particular som is that it uses an internal pcie_phy clock instead
of
an external one like most imx8mp boards do. To get this working on mainline linux, the way clocks are defined for
the
pcie_phy is `clocks = <&hsio_blk_ctrl>;` However this causes u-boot to completely fail to boot with this error `Device tree error at node '__symbols__'` .
That looks like a strange error was found when trying to read the compatible string from the node. It wasn't -FDT_ERR_NOTFOUND. See lists_bind_fdt().
Perhaps we need to ignore the __symbols__ node?
My end goal is to boot a generic arm image over pcie nvme, I don't know
if
this would be possible but atleast a compatible device tree would be a
good
starting point.
Thanks.
Regards, Simon

Hi Simon,
On Sat, Jul 8, 2023, 06:36 Simon Glass sjg@google.com wrote:
Hi,
On Fri, 7 Jul 2023 at 14:34, Fabio Estevam festevam@gmail.com wrote:
Adding Marcel and Francesco.
On Fri, Jul 7, 2023 at 5:30 PM Sahaj Sarup sahaj.sarup@linaro.org
wrote:
Hi, I am working on the imxmp-verdin platform. One of the quirks with this particular som is that it uses an internal pcie_phy clock instead
of
an external one like most imx8mp boards do. To get this working on mainline linux, the way clocks are defined for
the
pcie_phy is `clocks = <&hsio_blk_ctrl>;` However this causes u-boot to completely fail to boot with this error `Device tree error at node '__symbols__'` .
That looks like a strange error was found when trying to read the compatible string from the node. It wasn't -FDT_ERR_NOTFOUND. See lists_bind_fdt().
Perhaps we need to ignore the __symbols__ node?
For now the fix seems to be `clocks = <&hsio_blk_ctrl 0>;` This let's uboot proceed and pcie is working under linux as well.
My end goal is to boot a generic arm image over pcie nvme, I don't
know if
this would be possible but atleast a compatible device tree would be a
good
starting point.
Thanks.
Regards, Simon
participants (4)
-
Fabio Estevam
-
Sahaj Sarup
-
Sahaj Sarup
-
Simon Glass