HiI came across the wip/v5.x_can-test branch on the official GitHub repository (github.com/.../whitebox-sdk
and am interested in using it on the Spider platform. However, after trying it out, I noticed that it is configured for S4SK.
Could you please provide guidance on how to modify it for use on the Spider platform?
Thank you very much for your assistance.
I have tried to build ./build_xenhypervisor.sh spider
This is the dmesg information about can under domd
[ 0.092431] OF: /soc/can@dff50000: could not find phandle[ 0.092657] OF: /soc/can@dfd00000: could not find phandle[ 0.096951] OF: /soc/can@dff50000: could not find phandle[ 0.097267] OF: /soc/can@dfd00000: could not find phandle
Hi Steven,
The WIP branch above does not worked. We also don't have plan to support CA55 CAN driver in Whitebox SDK.
However, I have patches that enable CAN on CA55 Linux (without Xen) for your reference
trampoline_rh850_add_CAN_pre_config_sample_app.patch: This unlock memory protection from control domain to allow CA55 to access CAN registers. Apply it to TrampolineOS revision in Whitebox SDK v5.1, and build the app named "can_unlock"
meta-renesas_rcar-gateway_linux_Support_CANFD_driver.patch: Apply to meta-renesas to use CAN driver
meta-renesas_rcar-gateway_linux_Support_CANFD_driver.patchtrampoline_rh850_add_CAN_pre_config_sample_app.patch
Hi DuyDang,According to the patch you provided,we can use the CAN bus in CA55 Linux (SDK).The testing method involves internal CAN loopback (CAN8 to CAN9), which successfully achieves CAN transmission.However, when using an analyzer, such as an oscilloscope and a Vector CAN analyzer, it cannot recognize any data from the CAN ports, even though the baud rates of both are correct.Have you encountered a similar issue?
Hi,
CAN clock source is set by MD values. It might be different from 40MHz in devicetree. Could you try to modify the devicetree to set clock speed 20MHz as follows:
arch/arm64/boot/dts/renesas/r8a779f0.dtsi
/* External CAN clock - to be overridden by boards that provide it */ can_clk: can { compatible = "fixed-clock"; #clock-cells = <0>;- clock-frequency = <40000000>;+ clock-frequency = <20000000>; };
/* External CAN clock - to be overridden by boards that provide it */
can_clk: can {
compatible = "fixed-clock";
#clock-cells = <0>;
- clock-frequency = <40000000>;
+ clock-frequency = <20000000>;
};