All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh+dt@kernel.org>
To: Dario Binacchi <dariobin@libero.it>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Marc Kleine-Budde <mkl@pengutronix.de>,
	Wolfgang Grandegger <wg@grandegger.com>,
	devicetree@vger.kernel.org, linux-can@vger.kernel.org,
	netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH v3] dt-bindings: net: can: c_can: convert to json-schema
Date: Fri, 30 Jul 2021 18:55:53 -0600	[thread overview]
Message-ID: <CAL_JsqK0bVV7s3Pw5=_JSo171jnDrCTM5erKz5-dVWA0wR+b7g@mail.gmail.com> (raw)
In-Reply-To: <20210730171646.2406-1-dariobin@libero.it>

On Fri, Jul 30, 2021 at 11:16 AM Dario Binacchi <dariobin@libero.it> 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@libero.it>
>
> ---
>
> 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         | 85 +++++++++++++++++++
>  .../devicetree/bindings/net/can/c_can.txt     | 65 --------------
>  2 files changed, 85 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..416db97fbf9d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/can/bosch,c_can.yaml
> @@ -0,0 +1,85 @@
> +# 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@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:
> +    maxItems: 1
> +
> +  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
> +    maxItems: 2

Sorry, I misread that and counted 2, not 3 items. But you should have
run the checks.

> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    can@481d0000 {
> +        compatible = "bosch,d_can";
> +        reg = <0x481d0000 0x2000>;
> +        interrupts = <55>;
> +        interrupt-parent = <&intc>;
> +        status = "disabled";

Don't show 'status' in examples. Why would one want an example disabled?

> +    };
> +  - |
> +    can@0 {
> +        compatible = "ti,am3352-d_can";
> +        reg = <0x0 0x2000>;
> +        clocks = <&dcan1_fck>;
> +        clock-names = "fck";
> +        syscon-raminit = <&scm_conf 0x644 1>;
> +        interrupts = <55>;
> +        status = "disabled";
> +    };
> diff --git a/Documentation/devicetree/bindings/net/can/c_can.txt b/Documentation/devicetree/bindings/net/can/c_can.txt
> deleted file mode 100644
> index 366479806acb..000000000000
> --- a/Documentation/devicetree/bindings/net/can/c_can.txt
> +++ /dev/null
> @@ -1,65 +0,0 @@
> -Bosch C_CAN/D_CAN controller Device Tree Bindings
> --------------------------------------------------
> -
> -Required properties:
> -- compatible           : Should be "bosch,c_can" for C_CAN controllers and
> -                         "bosch,d_can" for D_CAN controllers.
> -                         Can be "ti,dra7-d_can", "ti,am3352-d_can" or
> -                         "ti,am4372-d_can".
> -- reg                  : physical base address and size of the C_CAN/D_CAN
> -                         registers map
> -- interrupts           : property with a value describing the interrupt
> -                         number
> -
> -The following are mandatory properties for DRA7x, AM33xx and AM43xx SoCs only:
> -- ti,hwmods            : Must be "d_can<n>" or "c_can<n>", n being the
> -                         instance number
> -
> -The following are mandatory properties for Keystone 2 66AK2G SoCs only:
> -- power-domains                : Should contain a phandle to a PM domain provider node
> -                         and an args specifier containing the DCAN device id
> -                         value. This property is as per the binding,
> -                         Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
> -- clocks               : CAN functional clock phandle. This property is as per the
> -                         binding,
> -                         Documentation/devicetree/bindings/clock/ti,sci-clk.yaml
> -
> -Optional properties:
> -- syscon-raminit       : Handle to system control region that contains the
> -                         RAMINIT register, register offset to the RAMINIT
> -                         register and the CAN instance number (0 offset).
> -
> -Note: "ti,hwmods" field is used to fetch the base address and irq
> -resources from TI, omap hwmod data base during device registration.
> -Future plan is to migrate hwmod data base contents into device tree
> -blob so that, all the required data will be used from device tree dts
> -file.
> -
> -Example:
> -
> -Step1: SoC common .dtsi file
> -
> -       dcan1: d_can@481d0000 {
> -               compatible = "bosch,d_can";
> -               reg = <0x481d0000 0x2000>;
> -               interrupts = <55>;
> -               interrupt-parent = <&intc>;
> -               status = "disabled";
> -       };
> -
> -(or)
> -
> -       dcan1: d_can@481d0000 {
> -               compatible = "bosch,d_can";
> -               ti,hwmods = "d_can1";
> -               reg = <0x481d0000 0x2000>;
> -               interrupts = <55>;
> -               interrupt-parent = <&intc>;
> -               status = "disabled";
> -       };
> -
> -Step 2: board specific .dts file
> -
> -       &dcan1 {
> -               status = "okay";
> -       };
> --
> 2.17.1
>

  parent reply	other threads:[~2021-07-31  0:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-30 17:16 [PATCH v3] dt-bindings: net: can: c_can: convert to json-schema Dario Binacchi
2021-07-30 22:28 ` Rob Herring
2021-07-31  0:55 ` Rob Herring [this message]
2021-08-01  7:51   ` Dario Binacchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAL_JsqK0bVV7s3Pw5=_JSo171jnDrCTM5erKz5-dVWA0wR+b7g@mail.gmail.com' \
    --to=robh+dt@kernel.org \
    --cc=dariobin@libero.it \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=wg@grandegger.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.