forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: net: can: c_can: convert to json-schema
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
1 parent
812270e
commit 06fc143
Showing
2 changed files
with
119 additions
and
65 deletions.
There are no files selected for viewing
119 changes: 119 additions & 0 deletions
119
Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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>; | ||
}; |
This file was deleted.
Oops, something went wrong.