I am having trouble getting the Waveshare 2-CH CAN HAT working with an RPI4. Channel 0 does not come up, channel 1 does, but it will only send one message (eventually reporting "write: No buffer space available”) and not receive anything.
Looking at the mcp2515-can0-overlay.dts and mcp2515-can1-overlay.dts device tree files in /tmp/work-shared/raspberrypi4/kernel-source/arch/arm/boot/dts/overlays/, it looks as if the interrupts are not mapped as required for the board.
DTS HAT
CAN0 brcm,pins = <25> PIN23
CAN1 brcm,pins = <25> PIN25
This doesn’t look right, and seems consistent with the behaviour I am seeing.
I would also like to check the device chip select signals, but I can't see how (if) they are mapped in the dts files.
How can I override these settings when I build the image?