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/bosch,c_can.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Bosch C_CAN/D_CAN controller Device Tree Bindings 8 9description: Bosch C_CAN/D_CAN controller for CAN bus 10 11maintainers: 12 - Dario Binacchi <dariobin@libero.it> 13 14allOf: 15 - $ref: can-controller.yaml# 16 17properties: 18 compatible: 19 oneOf: 20 - enum: 21 - bosch,c_can 22 - bosch,d_can 23 - ti,dra7-d_can 24 - ti,am3352-d_can 25 - items: 26 - enum: 27 - ti,am4372-d_can 28 - const: ti,am3352-d_can 29 30 reg: 31 maxItems: 1 32 33 interrupts: 34 minItems: 1 35 maxItems: 4 36 37 power-domains: 38 description: | 39 Should contain a phandle to a PM domain provider node and an args 40 specifier containing the DCAN device id value. It's mandatory for 41 Keystone 2 66AK2G SoCs only. 42 maxItems: 1 43 44 clocks: 45 description: | 46 CAN functional clock phandle. 47 maxItems: 1 48 49 clock-names: 50 maxItems: 1 51 52 syscon-raminit: 53 description: | 54 Handle to system control region that contains the RAMINIT register, 55 register offset to the RAMINIT register and the CAN instance number (0 56 offset). 57 $ref: /schemas/types.yaml#/definitions/phandle-array 58 items: 59 - items: 60 - description: The phandle to the system control region. 61 - description: The register offset. 62 - description: The CAN instance number. 63 64 resets: 65 maxItems: 1 66 67required: 68 - compatible 69 - reg 70 - interrupts 71 - clocks 72 73if: 74 properties: 75 compatible: 76 contains: 77 enum: 78 - bosch,d_can 79 80then: 81 properties: 82 interrupts: 83 items: 84 - description: Error and status IRQ 85 - description: Message object IRQ 86 - description: RAM ECC correctable error IRQ 87 - description: RAM ECC non-correctable error IRQ 88 89else: 90 properties: 91 interrupts: 92 items: 93 - description: Error and status IRQ 94 95additionalProperties: false 96 97examples: 98 - | 99 #include <dt-bindings/reset/altr,rst-mgr.h> 100 101 can@ffc00000 { 102 compatible = "bosch,d_can"; 103 reg = <0xffc00000 0x1000>; 104 interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>; 105 clocks = <&can0_clk>; 106 resets = <&rst CAN0_RESET>; 107 }; 108 - | 109 can@0 { 110 compatible = "ti,am3352-d_can"; 111 reg = <0x0 0x2000>; 112 clocks = <&dcan1_fck>; 113 clock-names = "fck"; 114 syscon-raminit = <&scm_conf 0x644 1>; 115 interrupts = <55>; 116 }; 117