linux-can.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marc Kleine-Budde <mkl@pengutronix.de>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, kuba@kernel.org, linux-can@vger.kernel.org,
	kernel@pengutronix.de,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Marc Kleine-Budde <mkl@pengutronix.de>
Subject: [PATCH net-next 28/39] dt-bindings: can: renesas,rcar-canfd: Fix number of channels for R-Car V3U
Date: Mon, 12 Dec 2022 12:30:34 +0100	[thread overview]
Message-ID: <20221212113045.222493-29-mkl@pengutronix.de> (raw)
In-Reply-To: <20221212113045.222493-1-mkl@pengutronix.de>

From: Geert Uytterhoeven <geert+renesas@glider.be>

According to the bindings, only two channels are supported.
However, R-Car V3U supports eight, leading to "make dtbs" failures:

        arch/arm64/boot/dts/renesas/r8a779a0-falcon.dtb: can@e6660000: Unevaluated properties are not allowed ('channel2', 'channel3', 'channel4', 'channel5', 'channel6', 'channel7' were unexpected)

Update the number of channels to 8 on R-Car V3U.
While at it, prevent adding more properties to the channel nodes, as
they must contain no other properties than a status property.

Fixes: d6254d52d70de530 ("dt-bindings: can: renesas,rcar-canfd: Document r8a779a0 support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/all/7d41d72cd7db2e90bae069ce57dbb672f17500ae.1670431681.git.geert+renesas@glider.be
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 .../bindings/net/can/renesas,rcar-canfd.yaml  | 133 ++++++++++--------
 1 file changed, 72 insertions(+), 61 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
index 8347053a96dc..1eb98c9a1a26 100644
--- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
+++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
@@ -9,9 +9,6 @@ title: Renesas R-Car CAN FD Controller
 maintainers:
   - Fabrizio Castro <fabrizio.castro.jz@renesas.com>
 
-allOf:
-  - $ref: can-controller.yaml#
-
 properties:
   compatible:
     oneOf:
@@ -77,12 +74,13 @@ properties:
     description: Maximum frequency of the CANFD clock.
 
 patternProperties:
-  "^channel[01]$":
+  "^channel[0-7]$":
     type: object
     description:
-      The controller supports two channels and each is represented as a child
-      node.  Each child node supports the "status" property only, which
-      is used to enable/disable the respective channel.
+      The controller supports multiple channels and each is represented as a
+      child node.  Each channel can be enabled/disabled individually.
+
+    additionalProperties: false
 
 required:
   - compatible
@@ -98,60 +96,73 @@ required:
   - channel0
   - channel1
 
-if:
-  properties:
-    compatible:
-      contains:
-        enum:
-          - renesas,rzg2l-canfd
-then:
-  properties:
-    interrupts:
-      items:
-        - description: CAN global error interrupt
-        - description: CAN receive FIFO interrupt
-        - description: CAN0 error interrupt
-        - description: CAN0 transmit interrupt
-        - description: CAN0 transmit/receive FIFO receive completion interrupt
-        - description: CAN1 error interrupt
-        - description: CAN1 transmit interrupt
-        - description: CAN1 transmit/receive FIFO receive completion interrupt
-
-    interrupt-names:
-      items:
-        - const: g_err
-        - const: g_recc
-        - const: ch0_err
-        - const: ch0_rec
-        - const: ch0_trx
-        - const: ch1_err
-        - const: ch1_rec
-        - const: ch1_trx
-
-    resets:
-      maxItems: 2
-
-    reset-names:
-      items:
-        - const: rstp_n
-        - const: rstc_n
-
-  required:
-    - reset-names
-else:
-  properties:
-    interrupts:
-      items:
-        - description: Channel interrupt
-        - description: Global interrupt
-
-    interrupt-names:
-      items:
-        - const: ch_int
-        - const: g_int
-
-    resets:
-      maxItems: 1
+allOf:
+  - $ref: can-controller.yaml#
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - renesas,rzg2l-canfd
+    then:
+      properties:
+        interrupts:
+          items:
+            - description: CAN global error interrupt
+            - description: CAN receive FIFO interrupt
+            - description: CAN0 error interrupt
+            - description: CAN0 transmit interrupt
+            - description: CAN0 transmit/receive FIFO receive completion interrupt
+            - description: CAN1 error interrupt
+            - description: CAN1 transmit interrupt
+            - description: CAN1 transmit/receive FIFO receive completion interrupt
+
+        interrupt-names:
+          items:
+            - const: g_err
+            - const: g_recc
+            - const: ch0_err
+            - const: ch0_rec
+            - const: ch0_trx
+            - const: ch1_err
+            - const: ch1_rec
+            - const: ch1_trx
+
+        resets:
+          maxItems: 2
+
+        reset-names:
+          items:
+            - const: rstp_n
+            - const: rstc_n
+
+      required:
+        - reset-names
+    else:
+      properties:
+        interrupts:
+          items:
+            - description: Channel interrupt
+            - description: Global interrupt
+
+        interrupt-names:
+          items:
+            - const: ch_int
+            - const: g_int
+
+        resets:
+          maxItems: 1
+
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              const: renesas,r8a779a0-canfd
+    then:
+      patternProperties:
+        "^channel[2-7]$": false
 
 unevaluatedProperties: false
 
-- 
2.35.1



  parent reply	other threads:[~2022-12-12 11:32 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-12 11:30 [PATCH net-next 0/39] pull-request: can-next 2022-12-12 Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 01/39] can: kvaser_usb: kvaser_usb_set_bittiming(): fix redundant initialization warning for err Marc Kleine-Budde
2022-12-12 12:20   ` patchwork-bot+netdevbpf
2022-12-12 11:30 ` [PATCH net-next 02/39] can: kvaser_usb: kvaser_usb_set_{,data}bittiming(): remove empty lines in variable declaration Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 03/39] can: rcar_canfd: rcar_canfd_probe: Add struct rcar_canfd_hw_info to driver data Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 04/39] can: m_can: sort header inclusion alphabetically Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 05/39] can: rcar_canfd: Add max_channels to struct rcar_canfd_hw_info Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 06/39] can: rcar_canfd: Add shared_global_irqs " Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 07/39] can: rcar_canfd: Add postdiv " Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 08/39] can: rcar_canfd: Add multi_channel_irqs " Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 09/39] can: ctucanfd: Drop obsolete dependency on COMPILE_TEST Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 10/39] can: etas_es58x: sort the includes by alphabetic order Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 11/39] can: flexcan: add auto stop mode for IMX93 to support wakeup Marc Kleine-Budde
2022-12-13  2:22   ` Bough Chen
2022-12-13  8:11     ` Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 12/39] can: etas_es58x: add devlink support Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 13/39] dt-bindings: can: fsl,flexcan: add imx93 compatible Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 14/39] can: etas_es58x: add devlink port support Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 15/39] dt-bindings: can: renesas,rcar-canfd: Document RZ/Five SoC Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 16/39] USB: core: export usb_cache_string() Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 17/39] can: c_can: use devm_platform_get_and_ioremap_resource() Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 18/39] net: devlink: add DEVLINK_INFO_VERSION_GENERIC_FW_BOOTLOADER Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 19/39] can: etas_es58x: export product information through devlink_ops::info_get() Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 20/39] can: etas_es58x: remove es58x_get_product_info() Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 21/39] Documentation: devlink: add devlink documentation for the etas_es58x driver Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 22/39] can: ucan: use strscpy() to instead of strncpy() Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 23/39] net: af_can: remove useless parameter 'err' in 'can_rx_register()' Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 24/39] can: ucan: remove unused ucan_priv::intf Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 25/39] can: gs_usb: remove gs_can::iface Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 26/39] can: m_can: Call the RAM init directly from m_can_chip_config Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 27/39] can: raw: add support for SO_MARK Marc Kleine-Budde
2022-12-12 11:30 ` Marc Kleine-Budde [this message]
2022-12-12 11:30 ` [PATCH net-next 29/39] can: m_can: Eliminate double read of TXFQS in tx_handler Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 30/39] can: m_can: Avoid reading irqstatus twice Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 31/39] can: m_can: Read register PSR only on error Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 32/39] can: m_can: Count TXE FIFO getidx in the driver Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 33/39] can: m_can: Count read getindex " Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 34/39] can: m_can: Batch acknowledge transmit events Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 35/39] can: m_can: Batch acknowledge rx fifo Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 36/39] can: tcan4x5x: Remove invalid write in clear_interrupts Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 37/39] can: tcan4x5x: Fix use of register error status mask Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 38/39] can: tcan4x5x: Fix register range of first two blocks Marc Kleine-Budde
2022-12-12 11:30 ` [PATCH net-next 39/39] can: tcan4x5x: Specify separate read/write ranges Marc Kleine-Budde

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=20221212113045.222493-29-mkl@pengutronix.de \
    --to=mkl@pengutronix.de \
    --cc=davem@davemloft.net \
    --cc=geert+renesas@glider.be \
    --cc=kernel@pengutronix.de \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).