Re: [PATCH v4] dt-bindings: net: can: c_can: convert to json-schema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Aug 01, 2021 at 09:53:22AM +0200, Dario Binacchi wrote:
> 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.
> Correct nodename in the example.
> 
> Signed-off-by: Dario Binacchi <dariobin@xxxxxxxxx>
> 
> ---
> 
> Changes in v4:
>  - Fix 'syscon-raminit' property to pass checks.
>  - Drop 'status' property from CAN node of examples.
>  - Replace CAN node of examples (compatible = "bosch,d_can")  with a
>    recent version taken from socfpga.dtsi dts.
>  - Update the 'interrupts' property due to the examples updating.
>  - Add 'resets' property due to the examples updating.
> 
> Changes in v3:
>  - Add type (phandle-array) and size (maxItems: 2) to syscon-raminit
>    property.
> 
> Changes in v2:
>  - Drop Documentation references.
> 
>  .../bindings/net/can/bosch,c_can.yaml         | 94 +++++++++++++++++++
>  .../devicetree/bindings/net/can/c_can.txt     | 65 -------------
>  2 files changed, 94 insertions(+), 65 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/can/c_can.txt
> 
> diff --git a/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
> new file mode 100644
> index 000000000000..9f1028fe58d5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
> @@ -0,0 +1,94 @@
> +# 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 <dariobin@xxxxxxxxx>
> +
> +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

Well, now you have to define what each interrupt is.

> +
> +  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
> +
> +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>;
> +    };



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux