Skip to content

Commit

Permalink
dt-bindings: net: can: c_can: convert to json-schema
Browse files Browse the repository at this point in the history
Convert the Bosch C_CAN/D_CAN controller device tree binding
documentation to json-schema.

Document missing properties.
Remove "ti,hwmods" as it is no longer used in TI dts.
Make "clocks" required as it is used in all dts.
Update the examples.

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Dario Binacchi <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
  • Loading branch information
passgat authored and marckleinebudde committed Aug 19, 2021
1 parent 812270e commit 06fc143
Show file tree
Hide file tree
Showing 2 changed files with 119 additions and 65 deletions.
119 changes: 119 additions & 0 deletions Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# 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 Device Tree Bindings

description: Bosch C_CAN/D_CAN controller for CAN bus

maintainers:
- Dario Binacchi <[email protected]>

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:
minItems: 4
maxItems: 4
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:
maxItems: 1
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>;
};
65 changes: 0 additions & 65 deletions Documentation/devicetree/bindings/net/can/c_can.txt

This file was deleted.

0 comments on commit 06fc143

Please sign in to comment.