All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/4] can: bxcan: add support for ST bxCAN controller
@ 2022-08-17 14:35 ` Dario Binacchi
  0 siblings, 0 replies; 18+ messages in thread
From: Dario Binacchi @ 2022-08-17 14:35 UTC (permalink / raw)
  To: linux-kernel
  Cc: Alexandre Torgue, Amarula patchwork, michael, Marc Kleine-Budde,
	Dario Binacchi, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Krzysztof Kozlowski, Maxime Coquelin, Paolo Abeni, Rob Herring,
	Wolfgang Grandegger, devicetree, linux-arm-kernel, linux-can,
	linux-stm32, netdev

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.


Dario Binacchi (4):
  dt-bindings: net: can: add STM32 bxcan DT bindings
  ARM: dts: stm32: add CAN support on stm32f429
  ARM: dts: stm32: add pin map for CAN controller on stm32f4
  can: bxcan: add support for ST bxCAN controller

 .../devicetree/bindings/net/can/st,bxcan.yaml | 139 +++
 arch/arm/boot/dts/stm32f4-pinctrl.dtsi        |  32 +
 arch/arm/boot/dts/stm32f429.dtsi              |  30 +
 drivers/net/can/Kconfig                       |   1 +
 drivers/net/can/Makefile                      |   1 +
 drivers/net/can/bxcan/Kconfig                 |  34 +
 drivers/net/can/bxcan/Makefile                |   4 +
 drivers/net/can/bxcan/bxcan-core.c            | 201 ++++
 drivers/net/can/bxcan/bxcan-core.h            |  33 +
 drivers/net/can/bxcan/bxcan-drv.c             | 980 ++++++++++++++++++
 10 files changed, 1455 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/can/st,bxcan.yaml
 create mode 100644 drivers/net/can/bxcan/Kconfig
 create mode 100644 drivers/net/can/bxcan/Makefile
 create mode 100644 drivers/net/can/bxcan/bxcan-core.c
 create mode 100644 drivers/net/can/bxcan/bxcan-core.h
 create mode 100644 drivers/net/can/bxcan/bxcan-drv.c

-- 
2.32.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-08-26  7:20 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-17 14:35 [RFC PATCH 0/4] can: bxcan: add support for ST bxCAN controller Dario Binacchi
2022-08-17 14:35 ` Dario Binacchi
2022-08-17 14:35 ` [RFC PATCH 1/4] dt-bindings: net: can: add STM32 bxcan DT bindings Dario Binacchi
2022-08-18  8:22   ` Krzysztof Kozlowski
2022-08-20  8:08     ` Dario Binacchi
2022-08-22 17:39       ` Krzysztof Kozlowski
2022-08-26  7:20         ` Dario Binacchi
2022-08-17 14:35 ` [RFC PATCH 2/4] ARM: dts: stm32: add CAN support on stm32f429 Dario Binacchi
2022-08-17 14:35   ` Dario Binacchi
2022-08-17 14:35 ` [RFC PATCH 3/4] ARM: dts: stm32: add pin map for CAN controller on stm32f4 Dario Binacchi
2022-08-17 14:35   ` Dario Binacchi
2022-08-18  8:22   ` Krzysztof Kozlowski
2022-08-18  8:22     ` Krzysztof Kozlowski
2022-08-17 14:35 ` [RFC PATCH 4/4] can: bxcan: add support for ST bxCAN controller Dario Binacchi
2022-08-18 10:30   ` Marc Kleine-Budde
2022-08-18 13:08     ` Marc Kleine-Budde
2022-08-17 21:16 ` [RFC PATCH 0/4] " Marc Kleine-Budde
2022-08-17 21:16   ` Marc Kleine-Budde

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.