From: Biju Das <biju.das.jz@bp.renesas.com>
The RZ/{G2L,G3E} and R-Car Gen4 SoCs support additional CAN FD mode called
FD-only mode. In this mode, communication in Classical CAN frame format is
disabled. Update binding/driver to support this mode.
v3->v4:
* Dropped the node added in example for just testing.
* Dropped the dependencies from covering letter.
v2->v3:
* Added check to disallow the usage of both fd-only and no-can-fd.
v1->v2:
* Added conditional check to disallow fd-only mode for R-Car Gen3 in
bindings.
* Dropped has_fd_only_mode variable from the struct rcar_canfd_hw_info
as it is checked by the dt schema validation.
Logs:
root@smarc-rzg3e:~# /cip-test-scripts/canfd_validation.sh FD-ONLY
[ 13.914196] rcar_canfd 12440000.can: global operational state (canfd clk, fd-only mode)
FD-ONLY
[INFO] Testing can0<->can1 with bitrate 1000000 and dbitrate 4000000
[INFO] Bringing down can0 can1
[INFO] Bringing up can0 can1
[INFO] Testing can1 as producer and can0 as consumer
[INFO] Testing can0 as producer and can1 as consumer
FD-ONLY
[INFO] Testing can0<->can1 with bitrate 500000 and dbitrate 2000000
[INFO] Bringing down can0 can1
[INFO] Bringing up can0 can1
[INFO] Testing can1 as producer and can0 as consumer
[INFO] Testing can0 as producer and can1 as consumer
FD-ONLY
[INFO] Testing can0<->can1 with bitrate 250000 and dbitrate 1000000
[INFO] Bringing down can0 can1
[INFO] Bringing up can0 can1
[INFO] Testing can1 as producer and can0 as consumer
[INFO] Testing can0 as producer and can1 as consumer
EXIT|PASS|canfd_validation.sh|[00:00:19] ||
root@smarc-rzg3e:~# /cip-test-scripts/canfd_validation.sh CANFD
[ 13.914196] rcar_canfd 12440000.can: global operational state (canfd clk, fd-only mode)
CANFD
[INFO] Testing can0<->can1 with bitrate 1000000 and dbitrate 4000000
[INFO] Bringing down can0 can1
[INFO] Bringing up can0 can1
[INFO] Testing can1 as producer and can0 as consumer
[ 37.246104] can: controller area network core
[ 37.250607] NET: Registered PF_CAN protocol family
[ 37.291606] can: raw protocol
EXIT|FAIL|canfd_validation.sh|[00:00:04] Problems while producing data from can1 and consuming from can0||
root@smarc-rzg3e:~# /cip-test-scripts/canfd_validation.sh CAN
[ 13.914196] rcar_canfd 12440000.can: global operational state (canfd clk, fd-only mode)
CAN
[INFO] Testing can0<->can1 with bitrate 1000000
[INFO] Bringing down can0 can1
[INFO] Bringing up can0 can1
[INFO] Testing can1 as producer and can0 as consumer
EXIT|FAIL|canfd_validation.sh|[00:00:03] Problems sending data from can1 to can0||
root@smarc-rzg3e:~#
Biju Das (2):
dt-bindings: can: renesas,rcar-canfd: Document renesas,fd-only
property
can: rcar_canfd: Add support for FD-Only mode
.../bindings/net/can/renesas,rcar-canfd.yaml | 38 +++++++++++++++++--
drivers/net/can/rcar/rcar_canfd.c | 14 ++++++-
2 files changed, 48 insertions(+), 4 deletions(-)
--
2.43.0