[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230423172528.1398158-1-dario.binacchi@amarulasolutions.com>
Date: Sun, 23 Apr 2023 19:25:24 +0200
From: Dario Binacchi <dario.binacchi@...rulasolutions.com>
To: linux-kernel@...r.kernel.org
Cc: Amarula patchwork <linux-amarula@...rulasolutions.com>,
michael@...rulasolutions.com,
Dario Binacchi <dario.binacchi@...rulasolutions.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Lee Jones <lee@...nel.org>,
Marc Kleine-Budde <mkl@...gutronix.de>,
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: [PATCH 0/4] can: bxcan: add support for single peripheral configuration
The series adds support for managing bxCAN controllers in single peripheral
configuration.
Unlike stm32f4 SOCs, where bxCAN controllers are only in dual peripheral
configuration, stm32f7 SOCs contain three CAN peripherals, CAN1 and CAN2
in dual peripheral configuration and CAN3 in single peripheral
configuration:
- Dual CAN peripheral configuration:
* CAN1: Primary bxCAN for managing the communication between a secondary
bxCAN and the 512-byte SRAM memory.
* CAN2: Secondary bxCAN with no direct access to the SRAM memory.
This means that the two bxCAN cells share the 512-byte SRAM memory and
CAN2 can't be used without enabling CAN1.
- Single CAN peripheral configuration:
* CAN3: Primary bxCAN with dedicated Memory Access Controller unit and
512-byte SRAM memory.
The driver has been tested on the stm32f769i-discovery board with a
kernel version 5.19.0-rc2 in loopback + silent mode:
ip link set can[0-2] type can bitrate 125000 loopback on listen-only on
ip link set up can0
candump can[0-2] -L &
cansend can[0-2] 300#AC.AB.AD.AE.75.49.AD.D1
Dario Binacchi (4):
dt-bindings: mfd: stm32f7: add binding definition for CAN3
ARM: dts: stm32: add CAN support on stm32f746
ARM: dts: stm32: add pin map for CAN controller on stm32f7
can: bxcan: add support for single peripheral configuration
arch/arm/boot/dts/stm32f7-pinctrl.dtsi | 82 ++++++++++++++++++++++++++
arch/arm/boot/dts/stm32f746.dtsi | 39 ++++++++++++
drivers/net/can/bxcan.c | 20 ++++++-
include/dt-bindings/mfd/stm32f7-rcc.h | 1 +
4 files changed, 139 insertions(+), 3 deletions(-)
--
2.32.0
Powered by blists - more mailing lists