[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220817143529.257908-1-dario.binacchi@amarulasolutions.com>
Date: Wed, 17 Aug 2022 16:35:25 +0200
From: Dario Binacchi <dario.binacchi@...rulasolutions.com>
To: linux-kernel@...r.kernel.org
Cc: Alexandre Torgue <alexandre.torgue@...s.st.com>,
Amarula patchwork <linux-amarula@...rulasolutions.com>,
michael@...rulasolutions.com,
Marc Kleine-Budde <mkl@...gutronix.de>,
Dario Binacchi <dario.binacchi@...rulasolutions.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh+dt@...nel.org>,
Wolfgang Grandegger <wg@...ndegger.com>,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-can@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com, netdev@...r.kernel.org
Subject: [RFC PATCH 0/4] can: bxcan: add support for ST bxCAN controller
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
Powered by blists - more mailing lists