+Peter Robinson +Matthias Brugger Hi Romain,
On Sat, 17 Aug 2024 at 07:01, Romain Crausaz <crausaz.rom...@gmail.com> wrote: > > Hi all, > > > > I am currently facing an issue with U-Boot and a raspberry pi CM4. Here is > the setup: > > > > 1. Yocto Scarthgap > > 2. U-Boot 2024.01 > > 3. rpi_arm64_defconfig > > > > I am trying to access the i2c bus from U-Boot. I have been trying to modify > the device tree which is referenced as > “CONFIG_DEFAULT_DEVICE_TREE="bcm2711-rpi-4-b”” in the defconfig without > success. I can remove everything, set all nodes to disabled and I see no > change in U-Boot (I am using dm commands to check the status of the > peripherals). > > > > It seems that with the rpi, U-Boot will only configure itself against the > device tree passed by the bootloader of RPI. Could someone confirm this ? Yes. It isn't quite obvious, but this is a clue: Core: 211 devices, 16 uclasses, devicetree: board 'board' means that the board can do whatever it wants. > > > > Is there a way to configure / modify U-Boot to use its own devicetree and > simply pass the device tree generated by the rpi bootloader to the kernel ? > > > > Because the second issue is that the i2c driver defined in the device tree > passed to u-boot is not available in u-boot. > > > > Thanks for your help Since OF_HAS_PRIOR_STAGE is a hidden option, you cannot disable it in the defconfig. The only way I know of is to comment out the 'imply OF_HAS_PRIOR_STAGE' in ARCH_BCM283X in arch/arm/Kconfig For me, that stops the rpi_4 booting, so perhaps the devicetree is out-of-date or ft_board_setup() is doing something strange, or something else. The in-tree devicetree may have got out-of-date, so perhaps use the Linux one. Regards, Simon