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

Message ID 20191024114305.15581-2-linus.walleij@linaro.org
State New
Headers show
Series
  • [1/3,v4] drm/panel: Add generic DSI panel YAML bindings
Related show

Commit Message

Linus Walleij Oct. 24, 2019, 11:43 a.m.
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

-- 
2.21.0

Comments

Rob Herring Oct. 25, 2019, 7:25 p.m. | #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. | #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

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