Inconsistent "compatible" string for Terasic DE0-Nano-SoC / Atlas SoC Kit
Sascha Hauer
sha at pengutronix.de
Thu Nov 4 12:55:00 PDT 2021
Hi Ian,
On Tue, Nov 02, 2021 at 02:22:51PM +0000, Ian Abbott wrote:
> Hi there!
>
> I have a slight issue getting BootLoaderSpec entries for Terasic
> DE0-Nano-SoC to work:
>
> barebox at Terasic DE0-Nano-SoC/Atlas-SoC Kit:/ boot mmc0
> blspec: ignoring entry with incompatible devicetree "terasic,de0-atlas"
> Nothing bootable found on 'mmc0'
> Nothing bootable found
>
> From the (recent) Linux kernel sources
> "arch/arm/boot/dts/socfpga_cyclone5_de0_nano_soc.dts":
>
> model = "Terasic DE-0(Atlas)";
> compatible = "terasic,de0-atlas", "altr,socfpga-cyclone5", "altr,socfpga";
>
> Of course, the above compatible string matches the barebox source
> "dts/src/arm/socfpga_cyclone5_de0_nano_soc.dts" file.
>
> However the "model" and "compatible" strings get overridden by the barebox
> source "arch/arm/dts/socfpga_cyclone5_de0_nano_soc.dts":
>
> model = "Terasic DE0-Nano-SoC/Atlas-SoC Kit";
> compatible = "terasic,de0-nano-soc","altr,socfpga-cyclone5",
> "altr,socfpga";
>
> The socfpga_init() function in
> "arch/arm/boards/terasic-de0-nano-soc/board.c" also checks the "compatible"
> string for registering a PHY fixup:
>
> static int socfpga_init(void)
> {
> if (!of_machine_is_compatible("terasic,de0-nano-soc"))
> return 0;
>
> if (IS_ENABLED(CONFIG_PHYLIB))
> phy_register_fixup_for_uid(PHY_ID_KSZ9031, MICREL_PHY_ID_MASK, phy_fixup);
>
> return 0;
> }
>
> I think I can get everything working by changing barebox's "compatible"
> string to the following:
>
> compatible = "terasic,de0-atlas", "terasic,de0-nano-soc",
> "altr,socfpga-cyclone5", "altr,socfpga";
You can drop the model and compatible properties from
arch/arm/dts/socfpga_cyclone5_de0_nano_soc.dts and change the
of_machine_is_compatible check to the upstream dts string. I don't think
we have a good reason to keep the terasic,de0-nano-soc compatible.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list