| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/can/st,stm32-bxcan.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: STMicroelectronics bxCAN controller |
| |
| description: STMicroelectronics BxCAN controller for CAN bus |
| |
| maintainers: |
| - Dario Binacchi <dario.binacchi@amarulasolutions.com> |
| |
| allOf: |
| - $ref: can-controller.yaml# |
| |
| properties: |
| compatible: |
| enum: |
| - st,stm32f4-bxcan |
| |
| st,can-primary: |
| description: |
| Primary mode of the bxCAN peripheral is only relevant if the chip has |
| two CAN peripherals in dual CAN configuration. In that case they share |
| some of the required logic. |
| Not to be used if the peripheral is in single CAN configuration. |
| To avoid misunderstandings, it should be noted that ST documentation |
| uses the terms master instead of primary. |
| type: boolean |
| |
| st,can-secondary: |
| description: |
| Secondary mode of the bxCAN peripheral is only relevant if the chip |
| has two CAN peripherals in dual CAN configuration. In that case they |
| share some of the required logic. |
| Not to be used if the peripheral is in single CAN configuration. |
| To avoid misunderstandings, it should be noted that ST documentation |
| uses the terms slave instead of secondary. |
| type: boolean |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| items: |
| - description: transmit interrupt |
| - description: FIFO 0 receive interrupt |
| - description: FIFO 1 receive interrupt |
| - description: status change error interrupt |
| |
| interrupt-names: |
| items: |
| - const: tx |
| - const: rx0 |
| - const: rx1 |
| - const: sce |
| |
| resets: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| |
| st,gcan: |
| $ref: /schemas/types.yaml#/definitions/phandle-array |
| description: |
| The phandle to the gcan node which allows to access the 512-bytes |
| SRAM memory shared by the two bxCAN cells (CAN1 primary and CAN2 |
| secondary) in dual CAN peripheral configuration. |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - resets |
| - clocks |
| - st,gcan |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/stm32fx-clock.h> |
| #include <dt-bindings/mfd/stm32f4-rcc.h> |
| |
| can1: can@40006400 { |
| compatible = "st,stm32f4-bxcan"; |
| reg = <0x40006400 0x200>; |
| interrupts = <19>, <20>, <21>, <22>; |
| interrupt-names = "tx", "rx0", "rx1", "sce"; |
| resets = <&rcc STM32F4_APB1_RESET(CAN1)>; |
| clocks = <&rcc 0 STM32F4_APB1_CLOCK(CAN1)>; |
| st,can-primary; |
| st,gcan = <&gcan>; |
| }; |