Message ID | 20230328073328.3949796-1-dario.binacchi@amarulasolutions.com (mailing list archive) |
---|---|
Headers | show |
Series | can: bxcan: add support for ST bxCAN controller | expand |
On 28.03.2023 09:33:23, Dario Binacchi wrote: > The series adds support for the basic extended CAN controller (bxCAN) > found in many low- to middle-end STM32 SoCs. > > The driver has been tested on the stm32f469i-discovery board with a > kernel version 5.19.0-rc2 in loopback + silent mode: > > ip link set can0 type can bitrate 125000 loopback on listen-only on > ip link set up can0 > candump can0 -L & > cansend can0 300#AC.AB.AD.AE.75.49.AD.D1 > > For uboot and kernel compilation, as well as for rootfs creation I used > buildroot: > > make stm32f469_disco_sd_defconfig > make > > but I had to patch can-utils and busybox as can-utils and iproute are > not compiled for MMU-less microcotrollers. In the case of can-utils, > replacing the calls to fork() with vfork(), I was able to compile the > package with working candump and cansend applications, while in the > case of iproute, I ran into more than one problem and finally I decided > to extend busybox's ip link command for CAN-type devices. I'm still > wondering if it was really necessary, but this way I was able to test > the driver. Applied to linux-can-next. Thanks, Marc
Hi Marc, On Tue, Mar 28, 2023 at 10:47 AM Marc Kleine-Budde <mkl@pengutronix.de> wrote: > > On 28.03.2023 09:33:23, Dario Binacchi wrote: > > The series adds support for the basic extended CAN controller (bxCAN) > > found in many low- to middle-end STM32 SoCs. > > > > The driver has been tested on the stm32f469i-discovery board with a > > kernel version 5.19.0-rc2 in loopback + silent mode: > > > > ip link set can0 type can bitrate 125000 loopback on listen-only on > > ip link set up can0 > > candump can0 -L & > > cansend can0 300#AC.AB.AD.AE.75.49.AD.D1 > > > > For uboot and kernel compilation, as well as for rootfs creation I used > > buildroot: > > > > make stm32f469_disco_sd_defconfig > > make > > > > but I had to patch can-utils and busybox as can-utils and iproute are > > not compiled for MMU-less microcotrollers. In the case of can-utils, > > replacing the calls to fork() with vfork(), I was able to compile the > > package with working candump and cansend applications, while in the > > case of iproute, I ran into more than one problem and finally I decided > > to extend busybox's ip link command for CAN-type devices. I'm still > > wondering if it was really necessary, but this way I was able to test > > the driver. > > Applied to linux-can-next. Just one last question: To test this series, as described in the cover letter, I could not use the iproute2 package since the microcontroller is without MMU. I then extended busybox for the ip link command. I actually also added the rtnl-link-can.c application to the libmnl library. So now I find myself with two applications that have been useful to me for this type of use case. Did I do useless work because I could use other tools? If instead the tools for this use case are missing, what do you think is better to do? Submit to their respective repos or add this functionality to another project that I haven't considered ? Thanks and regards, Dario > > Thanks, > Marc > > -- > Pengutronix e.K. | Marc Kleine-Budde | > Embedded Linux | https://www.pengutronix.de | > Vertretung Nürnberg | Phone: +49-5121-206917-129 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
On 28.03.2023 11:28:59, Dario Binacchi wrote: > > Applied to linux-can-next. > > Just one last question: To test this series, as described in the cover > letter, I could not use the iproute2 package since the microcontroller > is without MMU. I then extended busybox for the ip link command. I > actually also added the rtnl-link-can.c application to the libmnl > library. So now I find myself with two applications that have been > useful to me for this type of use case. > > Did I do useless work because I could use other tools? systemd-networkd also supports CAN configuration, but I this will probably not work on no-MMU systemd, too. Then there is: | https://git.pengutronix.de/cgit/tools/canutils | https://git.pengutronix.de/cgit/tools/libsocketcan that contains canconfig, but it lacks CAN-FD support. > If instead the tools for this use case are missing, what do you think > is better to do? Submit to their respective repos or add this > functionality to another project that I haven't considered ? Yes, go ahead and upstream your changes! Marc