diff mbox series

[2/3,v4] drm/panel: Add DT bindings for Sony ACX424AKP

Message ID 20191024114305.15581-2-linus.walleij@linaro.org (mailing list archive)
State New, archived
Headers show
Series [1/3,v4] drm/panel: Add generic DSI panel YAML bindings | expand

Commit Message

Linus Walleij Oct. 24, 2019, 11:43 a.m. UTC
This adds device tree bindings for the Sony ACX424AKP panel.
Let's use YAML.

Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog v3->v4:
- Adjust to adjusted DSI bindings.
ChangeLog v2->v3:
- Put the example inside a dsi-controller so we have a complete
  example that verifies to the DSI panel generic binding.
ChangeLog v1->v2:
- Suggest a stand-alone YAML bindings file for DSI panels in
  a separate patch, and use that to reference the
  boolean "enforce-video-mode" attribute for DSI panels
---
 .../display/panel/sony,acx424akp.yaml         | 49 +++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml

Comments

Rob Herring (Arm) Oct. 25, 2019, 7:25 p.m. UTC | #1
On Thu, Oct 24, 2019 at 01:43:04PM +0200, Linus Walleij wrote:
> This adds device tree bindings for the Sony ACX424AKP panel.
> Let's use YAML.

Also broken. Run 'make dt_binding_check'.

> 
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v3->v4:
> - Adjust to adjusted DSI bindings.
> ChangeLog v2->v3:
> - Put the example inside a dsi-controller so we have a complete
>   example that verifies to the DSI panel generic binding.
> ChangeLog v1->v2:
> - Suggest a stand-alone YAML bindings file for DSI panels in
>   a separate patch, and use that to reference the
>   boolean "enforce-video-mode" attribute for DSI panels
> ---
>  .../display/panel/sony,acx424akp.yaml         | 49 +++++++++++++++++++
>  1 file changed, 49 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml b/Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
> new file mode 100644
> index 000000000000..a2f49b9a5958
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
> @@ -0,0 +1,49 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/sony,acx424akp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sony ACX424AKP 4" 480x864 AMOLED panel
> +
> +maintainers:
> +  - Linus Walleij <linus.walleij@linaro.org>
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +  - $ref: ../dsi-controller.yaml#

This is wrong now because it applies to the controller node, not the 
panel node. IOW, DSI controllers need to include it.

> +
> +properties:
> +  compatible:
> +    const: sony,acx424akp
> +  reg: true
> +  port: true
> +  reset-gpios: true
> +  vddi-supply:
> +     description: regulator that supplies the vddi voltage
> +  enforce-video-mode: true
> +
> +required:
> +  - compatible
> +  - reg
> +  - port
> +  - reset-gpios
> +  - power-supply
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    dsi-controller@0 {

unit-address without 'reg'...

> +        compatible = "foo";
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        panel@0 {
> +            compatible = "sony,acx424akp";
> +            reg = <0>;
> +            vddi-supply = <&foo>;
> +            reset-gpios = <&foo_gpio 0 GPIO_ACTIVE_LOW>;
> +        };
> +    };
> +
> +...
> \ No newline at end of file

Should fix this...

> -- 
> 2.21.0
>
Linus Walleij Oct. 30, 2019, 4:37 p.m. UTC | #2
On Fri, Oct 25, 2019 at 9:25 PM Rob Herring <robh@kernel.org> wrote:
> On Thu, Oct 24, 2019 at 01:43:04PM +0200, Linus Walleij wrote:
> > This adds device tree bindings for the Sony ACX424AKP panel.
> > Let's use YAML.
>
> Also broken. Run 'make dt_binding_check'.

That is what I'm doing.

make -f Makefile -j5 -l4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
KBUILD_OUTPUT=/home/linus/linux-stericsson/build-ux500
dt_binding_check
  CHKDT   Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
  CHKDT   Documentation/devicetree/bindings/display/dsi-controller.yaml
  SCHEMA  Documentation/devicetree/bindings/processed-schema.yaml
(...)

I'm a bit unsure how this thing works. Are the several passes?
Because later on this breaks because of an unrelated error in
the bindings upstream:
/home/linus/linux-stericsson/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml:
properties:compatible:enum:0: {'const': 'regulator-fixed'} is not of
type 'string'
/home/linus/linux-stericsson/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml:
properties:compatible:enum:1: {'const': 'regulator-fixed-clock'} is
not of type 'string'
(...)

This is v5.4-rc1.

Is there any way I can selectively make dt_bindings_check just target
the files I wanna check as any brokenness upstream cause problems
like this? (And I assume that will keep happening.)

Yours,
Linus Walleij
Rob Herring (Arm) Oct. 30, 2019, 7:41 p.m. UTC | #3
On Wed, Oct 30, 2019 at 11:38 AM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Fri, Oct 25, 2019 at 9:25 PM Rob Herring <robh@kernel.org> wrote:
> > On Thu, Oct 24, 2019 at 01:43:04PM +0200, Linus Walleij wrote:
> > > This adds device tree bindings for the Sony ACX424AKP panel.
> > > Let's use YAML.
> >
> > Also broken. Run 'make dt_binding_check'.
>
> That is what I'm doing.
>
> make -f Makefile -j5 -l4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
> KBUILD_OUTPUT=/home/linus/linux-stericsson/build-ux500
> dt_binding_check
>   CHKDT   Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
>   CHKDT   Documentation/devicetree/bindings/display/dsi-controller.yaml
>   SCHEMA  Documentation/devicetree/bindings/processed-schema.yaml
> (...)
>
> I'm a bit unsure how this thing works. Are the several passes?
> Because later on this breaks because of an unrelated error in
> the bindings upstream:
> /home/linus/linux-stericsson/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml:
> properties:compatible:enum:0: {'const': 'regulator-fixed'} is not of
> type 'string'
> /home/linus/linux-stericsson/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml:
> properties:compatible:enum:1: {'const': 'regulator-fixed-clock'} is
> not of type 'string'
> (...)
>
> This is v5.4-rc1.
>
> Is there any way I can selectively make dt_bindings_check just target
> the files I wanna check as any brokenness upstream cause problems
> like this? (And I assume that will keep happening.)

I pass '-k' to make so we don't stop. You can also set DT_SCHEMA_FILES
to the file you want to check. Linus' tree is fixed now (and next just
broke :( ).

Yes, it will keep happening as long as maintainers don't run checks
and/or take patches before I review them.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml b/Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
new file mode 100644
index 000000000000..a2f49b9a5958
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml
@@ -0,0 +1,49 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/sony,acx424akp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Sony ACX424AKP 4" 480x864 AMOLED panel
+
+maintainers:
+  - Linus Walleij <linus.walleij@linaro.org>
+
+allOf:
+  - $ref: panel-common.yaml#
+  - $ref: ../dsi-controller.yaml#
+
+properties:
+  compatible:
+    const: sony,acx424akp
+  reg: true
+  port: true
+  reset-gpios: true
+  vddi-supply:
+     description: regulator that supplies the vddi voltage
+  enforce-video-mode: true
+
+required:
+  - compatible
+  - reg
+  - port
+  - reset-gpios
+  - power-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    dsi-controller@0 {
+        compatible = "foo";
+        #address-cells = <1>;
+        #size-cells = <0>;
+        panel@0 {
+            compatible = "sony,acx424akp";
+            reg = <0>;
+            vddi-supply = <&foo>;
+            reset-gpios = <&foo_gpio 0 GPIO_ACTIVE_LOW>;
+        };
+    };
+
+...
\ No newline at end of file