Hi! I'm creating a custom OS based on Kirkstone. I want to run it in dom0 on Raspberry Pi 4B device with Xen virtualization enabled. Therefore I include both meta-virtualization and meta-raspberrypi (Kirkstone branch for both).
I attach a PICAN-M HAT ( https://copperhilltech.com/blog/pican2-pican3-and-picanm-driver-installation-for-raspberry-pi/ ) to the Raspberry Pi 4B. I expect the OS to discover the CAN0 device in dom0, but it's not available : Cannot find device "can0". Using meta-virtualization and meta-raspberrypi layers means that I'm actually using linux-yocto kernel and not linux-raspberrypi. I suspect that there's an issue with the device-tree / kernel configuration of linux-yocto. When I run e.g. 2023-08-04-OpenPlotter-v3-Starting-stable-64bit-img on this device, the problem disappears, i.e. can0 is available. I know that CAN works via SPI converters on Raspberry Pi 4B, therefore I've added the following lines to my boot/config.txt file that lies on the boot partition on the SD card: *dtparam=spi=on dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25* However, the can0 device still cannot be recognized. Moreover, all SPIs are disabled in the /proc/device-tree when I check them with `cat spi\@7e204*/status`. I tried to pull the device-tree file from the 2023-08-04-OpenPlotter-v3-Starting-stable-64bit-img, but the OS doesn't boot up. I can see that the file from here: https://github.com/raspberrypi/linux/blob/rpi-5.15.y/arch/arm/boot/dts/bcm2711-rpi-4-b.dts (the one I'd expect to compile) is completely different that I've got from the bitbake build directory:./tmp/work-shared/ raspberrypi4-64/kernel-source/ arch/arm/boot/dts/bcm2711-rpi- 4-b.dts.(File attached) Even if I merge these lines: > > &spi0 { > pinctrl-names = "default"; > pinctrl-0 = <&spi0_pins &spi0_cs_pins>; > cs-gpios = <&gpio 8 1>, <&gpio 7 1>; > > spidev0: spidev@0{ > compatible = "spidev"; > reg = <0>; /* CE0 */ > #address-cells = <1>; > #size-cells = <0>; > spi-max-frequency = <125000000>; > }; > > spidev1: spidev@1{ > compatible = "spidev"; > reg = <1>; /* CE1 */ > #address-cells = <1>; > #size-cells = <0>; > spi-max-frequency = <125000000>; > }; > }; > + include needed .dtsi files, it compiles, but it still doesn't work properly. Is there any problem with the device-tree? Do you have any suggestions how to make the OS to recognize CAN0 device from the HAT?
bcm2711-rpi-4-b.dts
Description: Binary data
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8672): https://lists.yoctoproject.org/g/meta-virtualization/message/8672 Mute This Topic: https://lists.yoctoproject.org/mt/105444955/21656 Group Owner: meta-virtualization+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-