# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/net/can/bosch,c_can.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Bosch C_CAN/D_CAN controller description: Bosch C_CAN/D_CAN controller for CAN bus maintainers: - Dario Binacchi allOf: - $ref: can-controller.yaml# properties: compatible: oneOf: - enum: - bosch,c_can - bosch,d_can - ti,dra7-d_can - ti,am3352-d_can - items: - enum: - ti,am4372-d_can - const: ti,am3352-d_can reg: maxItems: 1 interrupts: minItems: 1 maxItems: 4 power-domains: description: | Should contain a phandle to a PM domain provider node and an args specifier containing the DCAN device id value. It's mandatory for Keystone 2 66AK2G SoCs only. maxItems: 1 clocks: description: | CAN functional clock phandle. maxItems: 1 clock-names: maxItems: 1 syscon-raminit: description: | Handle to system control region that contains the RAMINIT register, register offset to the RAMINIT register and the CAN instance number (0 offset). $ref: /schemas/types.yaml#/definitions/phandle-array items: - items: - description: The phandle to the system control region. - description: The register offset. - description: The CAN instance number. resets: maxItems: 1 required: - compatible - reg - interrupts - clocks if: properties: compatible: contains: enum: - bosch,d_can then: properties: interrupts: items: - description: Error and status IRQ - description: Message object IRQ - description: RAM ECC correctable error IRQ - description: RAM ECC non-correctable error IRQ else: properties: interrupts: items: - description: Error and status IRQ additionalProperties: false examples: - | #include can@ffc00000 { compatible = "bosch,d_can"; reg = <0xffc00000 0x1000>; interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>; clocks = <&can0_clk>; resets = <&rst CAN0_RESET>; }; - | can@0 { compatible = "ti,am3352-d_can"; reg = <0x0 0x2000>; clocks = <&dcan1_fck>; clock-names = "fck"; syscon-raminit = <&scm_conf 0x644 1>; interrupts = <55>; };