[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0a56ad59-d83c-4697-a1ee-db25585050e3@kernel.org>
Date: Mon, 13 Oct 2025 20:44:59 +0900
From: Vincent Mailhol <mailhol@...nel.org>
To: Marc Kleine-Budde <mkl@...gutronix.de>,
Oliver Hartkopp <socketcan@...tkopp.net>
Cc: Stéphane Grosjean <stephane.grosjean@...-networks.com>,
Robert Nawrath <mbro1689@...il.com>, Minh Le <minh.le.aj@...esas.com>,
Duy Nguyen <duy.nguyen.rh@...esas.com>, linux-can@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/9] can: netlink: add CAN XL
On 13/10/2025 at 20:01, Vincent Mailhol wrote:
> Following all the refactoring on the CAN netlink done in series [1],
> [2] and [3], this is now time to finally introduce the CAN XL netlink
> interface.
I am sending this extra message to give a few additional hints on how
to test.
In addition to the mailing list, I also push this series and the
dummy_can driver to:
https://git.kernel.org/pub/scm/linux/kernel/git/mailhol/linux.git/log/?h=b4/canxl-netlink
I also have a work in progress for iproute2 here:
https://git.kernel.org/pub/scm/linux/kernel/git/mailhol/iproute2-next.git/log/?h=canxl-netlink
I will submit the iproute2 series later on, after receiving comments
on this series. For the moment, the iproute2 canxl is only available
through the link above.
To test, after cloning and compiling above branches, do:
modprobe dummy-can
to load the driver. Then configure it, for example, this is a 500 KB/s
nominal bittiming and a 10 MB/s XL databittiming with TMS on:
./ip/ip link set can0 up type can bitrate 500000 xl on xbitrate 10000000 tms on
If you have debug log enabled (e.g. with CONFIG_CAN_DEBUG_DEVICES),
this is what you should see in the kernel log:
can0: Clock frequency: 160000000
can0: Maximum bitrate: 20000000
can0: MTU: 2060
can0:
can0: Control modes:
can0: supported: 0x0001ba22
can0: enabled: 0x00009000
can0: list:
can0: listen-only: off
can0: fd: off
can0: fd-tdc-auto: off
can0: restricted-operation: off
can0: xl: on
can0: xl-tdc-auto: off
can0: xl-tms: on
can0: xl-error-signalling: off
can0:
can0: Classical CAN nominal bittiming:
can0: bitrate: 500000
can0: sample_point: 875
can0: tq: 12
can0: prop_seg: 69
can0: phase_seg1: 70
can0: phase_seg2: 20
can0: sjw: 10
can0: brp: 2
can0:
can0:
can0: CAN XL databittiming:
can0: bitrate: 10000000
can0: sample_point: 750
can0: tq: 6
can0: prop_seg: 5
can0: phase_seg1: 6
can0: phase_seg2: 4
can0: sjw: 2
can0: brp: 1
can0: CAN XL PWM:
can0: pwms: 4
can0: pwml: 12
can0: pwmo: 0
can0:
can0: dummy-can is up
Finally, you can use a recent version of can-utils to generate some
traffic. The driver will echo back anything it receives.
I will continue to update the above branches according to the comments
received. See these as work in progress. Use the series as posted on
the mailing if you want something more stable.
Yours sincerely,
Vincent Mailhol
Powered by blists - more mailing lists