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