xref: /linux/Documentation/devicetree/bindings/net/can/st,stm32-bxcan.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
1e43250c0SDario Binacchi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e43250c0SDario Binacchi%YAML 1.2
3e43250c0SDario Binacchi---
4e43250c0SDario Binacchi$id: http://devicetree.org/schemas/net/can/st,stm32-bxcan.yaml#
5e43250c0SDario Binacchi$schema: http://devicetree.org/meta-schemas/core.yaml#
6e43250c0SDario Binacchi
7e43250c0SDario Binacchititle: STMicroelectronics bxCAN controller
8e43250c0SDario Binacchi
9e43250c0SDario Binacchidescription: STMicroelectronics BxCAN controller for CAN bus
10e43250c0SDario Binacchi
11e43250c0SDario Binacchimaintainers:
12e43250c0SDario Binacchi  - Dario Binacchi <dario.binacchi@amarulasolutions.com>
13e43250c0SDario Binacchi
14e43250c0SDario BinacchiallOf:
15e43250c0SDario Binacchi  - $ref: can-controller.yaml#
16e43250c0SDario Binacchi
17e43250c0SDario Binacchiproperties:
18e43250c0SDario Binacchi  compatible:
19e43250c0SDario Binacchi    enum:
20e43250c0SDario Binacchi      - st,stm32f4-bxcan
21e43250c0SDario Binacchi
22e43250c0SDario Binacchi  st,can-primary:
23e43250c0SDario Binacchi    description:
24caf78f0fSDario Binacchi      Primary mode of the bxCAN peripheral is only relevant if the chip has
25caf78f0fSDario Binacchi      two CAN peripherals in dual CAN configuration. In that case they share
26caf78f0fSDario Binacchi      some of the required logic.
27caf78f0fSDario Binacchi      Not to be used if the peripheral is in single CAN configuration.
28e43250c0SDario Binacchi      To avoid misunderstandings, it should be noted that ST documentation
29caf78f0fSDario Binacchi      uses the terms master instead of primary.
30caf78f0fSDario Binacchi    type: boolean
31caf78f0fSDario Binacchi
32caf78f0fSDario Binacchi  st,can-secondary:
33caf78f0fSDario Binacchi    description:
34caf78f0fSDario Binacchi      Secondary mode of the bxCAN peripheral is only relevant if the chip
35caf78f0fSDario Binacchi      has two CAN peripherals in dual CAN configuration. In that case they
36caf78f0fSDario Binacchi      share some of the required logic.
37caf78f0fSDario Binacchi      Not to be used if the peripheral is in single CAN configuration.
38caf78f0fSDario Binacchi      To avoid misunderstandings, it should be noted that ST documentation
39caf78f0fSDario Binacchi      uses the terms slave instead of secondary.
40e43250c0SDario Binacchi    type: boolean
41e43250c0SDario Binacchi
42e43250c0SDario Binacchi  reg:
43e43250c0SDario Binacchi    maxItems: 1
44e43250c0SDario Binacchi
45e43250c0SDario Binacchi  interrupts:
46e43250c0SDario Binacchi    items:
47e43250c0SDario Binacchi      - description: transmit interrupt
48e43250c0SDario Binacchi      - description: FIFO 0 receive interrupt
49e43250c0SDario Binacchi      - description: FIFO 1 receive interrupt
50e43250c0SDario Binacchi      - description: status change error interrupt
51e43250c0SDario Binacchi
52e43250c0SDario Binacchi  interrupt-names:
53e43250c0SDario Binacchi    items:
54e43250c0SDario Binacchi      - const: tx
55e43250c0SDario Binacchi      - const: rx0
56e43250c0SDario Binacchi      - const: rx1
57e43250c0SDario Binacchi      - const: sce
58e43250c0SDario Binacchi
59e43250c0SDario Binacchi  resets:
60e43250c0SDario Binacchi    maxItems: 1
61e43250c0SDario Binacchi
62e43250c0SDario Binacchi  clocks:
63e43250c0SDario Binacchi    maxItems: 1
64e43250c0SDario Binacchi
65e43250c0SDario Binacchi  st,gcan:
66*7e0c2f13SDario Binacchi    $ref: /schemas/types.yaml#/definitions/phandle
67e43250c0SDario Binacchi    description:
68e43250c0SDario Binacchi      The phandle to the gcan node which allows to access the 512-bytes
69e43250c0SDario Binacchi      SRAM memory shared by the two bxCAN cells (CAN1 primary and CAN2
70e43250c0SDario Binacchi      secondary) in dual CAN peripheral configuration.
71e43250c0SDario Binacchi
72e43250c0SDario Binacchirequired:
73e43250c0SDario Binacchi  - compatible
74e43250c0SDario Binacchi  - reg
75e43250c0SDario Binacchi  - interrupts
76e43250c0SDario Binacchi  - resets
77e43250c0SDario Binacchi  - clocks
78e43250c0SDario Binacchi  - st,gcan
79e43250c0SDario Binacchi
80e43250c0SDario BinacchiadditionalProperties: false
81e43250c0SDario Binacchi
82e43250c0SDario Binacchiexamples:
83e43250c0SDario Binacchi  - |
84e43250c0SDario Binacchi    #include <dt-bindings/clock/stm32fx-clock.h>
85e43250c0SDario Binacchi    #include <dt-bindings/mfd/stm32f4-rcc.h>
86e43250c0SDario Binacchi
87e43250c0SDario Binacchi    can1: can@40006400 {
88e43250c0SDario Binacchi        compatible = "st,stm32f4-bxcan";
89e43250c0SDario Binacchi        reg = <0x40006400 0x200>;
90e43250c0SDario Binacchi        interrupts = <19>, <20>, <21>, <22>;
91e43250c0SDario Binacchi        interrupt-names = "tx", "rx0", "rx1", "sce";
92e43250c0SDario Binacchi        resets = <&rcc STM32F4_APB1_RESET(CAN1)>;
93e43250c0SDario Binacchi        clocks = <&rcc 0 STM32F4_APB1_CLOCK(CAN1)>;
94e43250c0SDario Binacchi        st,can-primary;
95e43250c0SDario Binacchi        st,gcan = <&gcan>;
96e43250c0SDario Binacchi    };
97