From: Geert Uytterhoeven <geert+renesas@glider.be> To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, Thomas Zimmermann <tzimmermann@suse.de>, Magnus Damm <magnus.damm@gmail.com> Cc: linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven <geert+renesas@glider.be>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, devicetree@vger.kernel.org Subject: [PATCH v2 02/41] dt-bindings: display: Add Renesas SH-Mobile LCDC bindings Date: Tue, 18 Jul 2023 18:54:07 +0200 [thread overview] Message-ID: <3333e8e50572480dd57d7f0388ca7f06d76155d9.1689698048.git.geert+renesas@glider.be> (raw) In-Reply-To: <cover.1689698048.git.geert+renesas@glider.be> Add device tree bindings for the LCD Controller (LCDC) found in Renesas SuperH SH-Mobile and ARM SH/R-Mobile SOCs. Based on a plain text prototype by Laurent Pinchart. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- Cc: Rob Herring <robh+dt@kernel.org> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Cc: Conor Dooley <conor+dt@kernel.org> Cc: devicetree@vger.kernel.org v2: - Add myself as co-maintainer, - Make fck clock required, - Drop ports description referring to obsolete graph.txt, - Condition ports to compatible strings, - Drop label and status from example. Changes compared to Laurent's original: - Convert to json-schema, - Rename compatible values from "renesas,lcdc-<SoC>" to "renesas,<SoC>-lcdc", - Add power-domains property, - Add MIPI-DSI port on SH-Mobile AG5, - Update example to reflect reality, - Add to MAINTAINERS. --- .../display/renesas,shmobile-lcdc.yaml | 130 ++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 131 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml diff --git a/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml b/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml new file mode 100644 index 0000000000000000..9816c4cacc7d9a7f --- /dev/null +++ b/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml @@ -0,0 +1,130 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/renesas,shmobile-lcdc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Renesas SH-Mobile LCD Controller (LCDC) + +maintainers: + - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> + - Geert Uytterhoeven <geert+renesas@glider.be> + +properties: + compatible: + enum: + - renesas,r8a7740-lcdc # R-Mobile A1 + - renesas,sh73a0-lcdc # SH-Mobile AG5 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 5 + description: + Only the functional clock is mandatory. + Some of the optional clocks are model-dependent (e.g. "video" (a.k.a. + "vou" or "dv_clk") is available on R-Mobile A1 only). + + clock-names: + minItems: 1 + items: + - const: fck + - enum: [ media, lclk, hdmi, video ] + - enum: [ media, lclk, hdmi, video ] + - enum: [ media, lclk, hdmi, video ] + - enum: [ media, lclk, hdmi, video ] + + power-domains: + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: LCD port (R-Mobile A1 and SH-Mobile AG5) + unevaluatedProperties: false + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: HDMI port (R-Mobile A1 LCDC1 and SH-Mobile AG5) + unevaluatedProperties: false + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: MIPI-DSI port (SH-Mobile AG5) + unevaluatedProperties: false + + required: + - port@0 + + unevaluatedProperties: false + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - power-domains + - ports + +additionalProperties: false + +allOf: + - if: + properties: + compatible: + contains: + const: renesas,r8a7740-lcdc + then: + properties: + ports: + properties: + port@2: false + + - if: + properties: + compatible: + contains: + const: renesas,sh73a0-lcdc + then: + properties: + ports: + required: + - port@1 + - port@2 + +examples: + - | + #include <dt-bindings/clock/r8a7740-clock.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + lcd-controller@fe940000 { + compatible = "renesas,r8a7740-lcdc"; + reg = <0xfe940000 0x4000>; + interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&mstp1_clks R8A7740_CLK_LCDC0>, + <&cpg_clocks R8A7740_CLK_M3>, <&lcdlclk0_clk>, + <&vou_clk>; + clock-names = "fck", "media", "lclk", "video"; + power-domains = <&pd_a4lc>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + lcdc0_rgb: endpoint { + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index dc6bef7738f50741..1d12c07efae1c347 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6993,6 +6993,7 @@ M: Geert Uytterhoeven <geert+renesas@glider.be> L: dri-devel@lists.freedesktop.org L: linux-renesas-soc@vger.kernel.org S: Supported +F: Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml F: drivers/gpu/drm/renesas/shmobile/ F: include/linux/platform_data/shmob_drm.h -- 2.34.1
WARNING: multiple messages have this Message-ID (diff)
From: Geert Uytterhoeven <geert+renesas@glider.be> To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, Thomas Zimmermann <tzimmermann@suse.de>, Magnus Damm <magnus.damm@gmail.com> Cc: devicetree@vger.kernel.org, Conor Dooley <conor+dt@kernel.org>, Geert Uytterhoeven <geert+renesas@glider.be>, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Subject: [PATCH v2 02/41] dt-bindings: display: Add Renesas SH-Mobile LCDC bindings Date: Tue, 18 Jul 2023 18:54:07 +0200 [thread overview] Message-ID: <3333e8e50572480dd57d7f0388ca7f06d76155d9.1689698048.git.geert+renesas@glider.be> (raw) In-Reply-To: <cover.1689698048.git.geert+renesas@glider.be> Add device tree bindings for the LCD Controller (LCDC) found in Renesas SuperH SH-Mobile and ARM SH/R-Mobile SOCs. Based on a plain text prototype by Laurent Pinchart. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- Cc: Rob Herring <robh+dt@kernel.org> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Cc: Conor Dooley <conor+dt@kernel.org> Cc: devicetree@vger.kernel.org v2: - Add myself as co-maintainer, - Make fck clock required, - Drop ports description referring to obsolete graph.txt, - Condition ports to compatible strings, - Drop label and status from example. Changes compared to Laurent's original: - Convert to json-schema, - Rename compatible values from "renesas,lcdc-<SoC>" to "renesas,<SoC>-lcdc", - Add power-domains property, - Add MIPI-DSI port on SH-Mobile AG5, - Update example to reflect reality, - Add to MAINTAINERS. --- .../display/renesas,shmobile-lcdc.yaml | 130 ++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 131 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml diff --git a/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml b/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml new file mode 100644 index 0000000000000000..9816c4cacc7d9a7f --- /dev/null +++ b/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml @@ -0,0 +1,130 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/renesas,shmobile-lcdc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Renesas SH-Mobile LCD Controller (LCDC) + +maintainers: + - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> + - Geert Uytterhoeven <geert+renesas@glider.be> + +properties: + compatible: + enum: + - renesas,r8a7740-lcdc # R-Mobile A1 + - renesas,sh73a0-lcdc # SH-Mobile AG5 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 5 + description: + Only the functional clock is mandatory. + Some of the optional clocks are model-dependent (e.g. "video" (a.k.a. + "vou" or "dv_clk") is available on R-Mobile A1 only). + + clock-names: + minItems: 1 + items: + - const: fck + - enum: [ media, lclk, hdmi, video ] + - enum: [ media, lclk, hdmi, video ] + - enum: [ media, lclk, hdmi, video ] + - enum: [ media, lclk, hdmi, video ] + + power-domains: + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: LCD port (R-Mobile A1 and SH-Mobile AG5) + unevaluatedProperties: false + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: HDMI port (R-Mobile A1 LCDC1 and SH-Mobile AG5) + unevaluatedProperties: false + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: MIPI-DSI port (SH-Mobile AG5) + unevaluatedProperties: false + + required: + - port@0 + + unevaluatedProperties: false + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - power-domains + - ports + +additionalProperties: false + +allOf: + - if: + properties: + compatible: + contains: + const: renesas,r8a7740-lcdc + then: + properties: + ports: + properties: + port@2: false + + - if: + properties: + compatible: + contains: + const: renesas,sh73a0-lcdc + then: + properties: + ports: + required: + - port@1 + - port@2 + +examples: + - | + #include <dt-bindings/clock/r8a7740-clock.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + lcd-controller@fe940000 { + compatible = "renesas,r8a7740-lcdc"; + reg = <0xfe940000 0x4000>; + interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&mstp1_clks R8A7740_CLK_LCDC0>, + <&cpg_clocks R8A7740_CLK_M3>, <&lcdlclk0_clk>, + <&vou_clk>; + clock-names = "fck", "media", "lclk", "video"; + power-domains = <&pd_a4lc>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + lcdc0_rgb: endpoint { + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index dc6bef7738f50741..1d12c07efae1c347 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6993,6 +6993,7 @@ M: Geert Uytterhoeven <geert+renesas@glider.be> L: dri-devel@lists.freedesktop.org L: linux-renesas-soc@vger.kernel.org S: Supported +F: Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml F: drivers/gpu/drm/renesas/shmobile/ F: include/linux/platform_data/shmob_drm.h -- 2.34.1
next prev parent reply other threads:[~2023-07-18 16:57 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-07-18 16:54 [PATCH v2 00/41] drm: renesas: shmobile: Atomic conversion + DT support Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 01/41] MAINTAINER: Create entry for Renesas SH-Mobile DRM drivers Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven [this message] 2023-07-18 16:54 ` [PATCH v2 02/41] dt-bindings: display: Add Renesas SH-Mobile LCDC bindings Geert Uytterhoeven 2023-07-19 22:08 ` Rob Herring 2023-07-19 22:08 ` Rob Herring 2023-07-18 16:54 ` [PATCH v2 03/41] media: uapi: Add MEDIA_BUS_FMT_RGB666_2X9_BE format Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 04/41] drm: renesas: shmobile: Fix overlay plane disable Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 05/41] drm: renesas: shmobile: Fix ARGB32 overlay format typo Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 06/41] drm: renesas: shmobile: Correct encoder/connector types Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 07/41] drm: renesas: shmobile: Add support for Runtime PM Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 08/41] drm: renesas: shmobile: Restore indentation of shmob_drm_setup_clocks() Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 09/41] drm: renesas: shmobile: Use %p4cc to print fourcc code Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 10/41] drm: renesas: shmobile: Add missing YCbCr formats Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 11/41] drm: renesas: shmobile: Improve shmob_drm_format_info table Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 12/41] drm: renesas: shmobile: Remove backlight support Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 13/41] drm: renesas: shmobile: Don't set display info width and height twice Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 14/41] drm: renesas: shmobile: Rename input clocks Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 15/41] drm: renesas: shmobile: Remove support for SYS panels Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 16/41] drm: renesas: shmobile: Improve error handling Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 17/41] drm: renesas: shmobile: Convert to use devm_request_irq() Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 18/41] drm: renesas: shmobile: Remove custom plane destroy callback Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 19/41] drm: renesas: shmobile: Use drmm_universal_plane_alloc() Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 20/41] drm: renesas: shmobile: Embed drm_device in shmob_drm_device Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 21/41] drm: renesas: shmobile: Convert container helpers to static inline functions Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 22/41] drm: renesas: shmobile: Replace .dev_private with container_of() Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 23/41] drm: renesas: shmobile: Use struct videomode in platform data Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 24/41] drm: renesas: shmobile: Use media bus formats " Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 25/41] drm: renesas: shmobile: Move interface handling to connector setup Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 26/41] drm: renesas: shmobile: Unify plane allocation Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 27/41] drm: renesas: shmobile: Rename shmob_drm_crtc.crtc Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 28/41] drm: renesas: shmobile: Rename shmob_drm_connector.connector Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 29/41] drm: renesas: shmobile: Rename shmob_drm_plane.plane Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 30/41] drm: renesas: shmobile: Use drm_crtc_handle_vblank() Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 31/41] drm: renesas: shmobile: Move shmob_drm_crtc_finish_page_flip() Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 32/41] drm: renesas: shmobile: Wait for page flip when turning CRTC off Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 33/41] drm: renesas: shmobile: Turn vblank on/off when enabling/disabling CRTC Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 34/41] drm: renesas: shmobile: Shutdown the display on remove Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 35/41] drm: renesas: shmobile: Cleanup encoder Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 36/41] drm: renesas: shmobile: Atomic conversion part 1 Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 37/41] drm: renesas: shmobile: Atomic conversion part 2 Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 38/41] drm: renesas: shmobile: Use suspend/resume helpers Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 39/41] drm: renesas: shmobile: Remove internal CRTC state tracking Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 40/41] drm: renesas: shmobile: Atomic conversion part 3 Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven 2023-07-18 16:54 ` [PATCH v2 41/41] drm: renesas: shmobile: Add DT support Geert Uytterhoeven 2023-07-18 16:54 ` Geert Uytterhoeven
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=3333e8e50572480dd57d7f0388ca7f06d76155d9.1689698048.git.geert+renesas@glider.be \ --to=geert+renesas@glider.be \ --cc=airlied@gmail.com \ --cc=conor+dt@kernel.org \ --cc=daniel@ffwll.ch \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=kieran.bingham+renesas@ideasonboard.com \ --cc=krzysztof.kozlowski+dt@linaro.org \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=magnus.damm@gmail.com \ --cc=robh+dt@kernel.org \ --cc=tzimmermann@suse.de \ /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: linkBe 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.