[v2,1/2] dt-bindings: display: panel: Add Novatek NT36523 bindings
Commit Message
Novatek NT36523 is a display driver IC used to drive DSI panels.
Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
---
Changes in v2:
- Drop unnecessary description
- dsi0 -> dsi
- Correct indentation
.../display/panel/novatek,nt36523.yaml | 95 +++++++++++++++++++
1 file changed, 95 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/panel/novatek,nt36523.yaml
Comments
On 20/02/2023 13:12, Jianhua Lu wrote:
> Novatek NT36523 is a display driver IC used to drive DSI panels.
>
> Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
> ---
> Changes in v2:
> - Drop unnecessary description
> - dsi0 -> dsi
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
On Mon, Feb 20, 2023 at 1:13 PM Jianhua Lu <lujianhua000@gmail.com> wrote:
> Novatek NT36523 is a display driver IC used to drive DSI panels.
>
> Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
> ---
> Changes in v2:
> - Drop unnecessary description
> - dsi0 -> dsi
> - Correct indentation
I'd like Konrad and Neil to look at this before we merge it.
> +required:
> + - compatible
> + - reg
> + - vddio-supply
> + - vddpos-supply
> + - vddneg-supply
It appears vddpos and vddneg are not necessary on
all variants, can they be made non-required?
It is also possible to do some - if -construction of course
based on the compatible, if we want to be fancy.
Yours,
Linus Walleij
On Tue, Mar 07, 2023 at 11:22:35PM +0100, Linus Walleij wrote:
> On Mon, Feb 20, 2023 at 1:13 PM Jianhua Lu <lujianhua000@gmail.com> wrote:
>
> > Novatek NT36523 is a display driver IC used to drive DSI panels.
> >
> > Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
> > ---
> > Changes in v2:
> > - Drop unnecessary description
> > - dsi0 -> dsi
> > - Correct indentation
>
> I'd like Konrad and Neil to look at this before we merge it.
>
> > +required:
> > + - compatible
> > + - reg
> > + - vddio-supply
> > + - vddpos-supply
> > + - vddneg-supply
>
> It appears vddpos and vddneg are not necessary on
> all variants, can they be made non-required?
It can be non-required, this panel's positive regulator and negative
regulator are supplied by backlight IC, the both regulator of Konrad's
NT36523W panel are supplied by secure firmware layer.
>
> It is also possible to do some - if -construction of course
> based on the compatible, if we want to be fancy.
>
> Yours,
> Linus Walleij
new file mode 100644
@@ -0,0 +1,95 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/novatek,nt36523.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Novatek NT36523 based DSI display Panels
+
+maintainers:
+ - Jianhua Lu <lujianhua000@gmail.com>
+
+description: |
+ The Novatek NT36523 is a generic DSI Panel IC used to drive dsi
+ panels. Support video mode panels from China Star Optoelectronics
+ Technology (CSOT) and BOE Technology.
+
+allOf:
+ - $ref: panel-common.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - xiaomi,elish-boe-nt36523
+ - xiaomi,elish-csot-nt36523
+ - const: novatek,nt36523
+
+ reset-gpios:
+ maxItems: 1
+ description: phandle of gpio for reset line - This should be 8mA
+
+ vddio-supply:
+ description: regulator that supplies the I/O voltage
+
+ vddpos-supply:
+ description: positive boost supply regulator
+
+ vddneg-supply:
+ description: negative boost supply regulator
+
+ reg: true
+ ports: true
+ backlight: true
+
+required:
+ - compatible
+ - reg
+ - vddio-supply
+ - vddpos-supply
+ - vddneg-supply
+ - reset-gpios
+ - ports
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ dsi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "xiaomi,elish-csot-nt36523", "novatek,nt36523";
+ reg = <0>;
+ vddio-supply = <&vreg_l14a_1p88>;
+ vddpos-supply = <&lcd_vddpos_5p5>;
+ vddneg-supply = <&lcd_vddneg_5p5>;
+
+ backlight = <&backlight>;
+ reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ panel_in_0: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@1{
+ reg = <1>;
+ panel_in_1: endpoint {
+ remote-endpoint = <&dsi1_out>;
+ };
+ };
+ };
+ };
+ };
+
+...