117 lines
2.5 KiB
YAML
117 lines
2.5 KiB
YAML
|
# 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 <dariobin@libero.it>
|
||
|
|
||
|
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 <dt-bindings/reset/altr,rst-mgr.h>
|
||
|
|
||
|
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>;
|
||
|
};
|