mbox series

[0/2] drm/panel: add support for the Visionox VTDR6130 AMOLED DSI panel

Message ID 20230103-topic-sm8550-upstream-vtdr6130-panel-v1-0-9b746b858378@linaro.org
Headers show
Series drm/panel: add support for the Visionox VTDR6130 AMOLED DSI panel | expand

Message

Neil Armstrong Jan. 3, 2023, 2:22 p.m. UTC
Add support for the 1080x2400 Visionox VTDR6130 AMOLED DSI panel
found on the Qualcomm SM8550 MTP board.

By default the the panel is configured to work with DSI compressed
streams, but can work in uncompressed video mode since 1080x2400 in
RGB888 fits in the 4 DSI lanes bandwidth.

While display compression is preferred for performance and power
reasons, let's start with the uncompressed video mode support and
add the DSC support later on.

To: Thierry Reding <thierry.reding@gmail.com>
To: Sam Ravnborg <sam@ravnborg.org>
To: David Airlie <airlied@gmail.com>
To: Daniel Vetter <daniel@ffwll.ch>
To: Rob Herring <robh+dt@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: devicetree@vger.kernel.org
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>

---
Neil Armstrong (2):
      dt-bindings: display: panel: document the Visionox VTDR6130 AMOLED DSI Panel bindings
      drm/panel: add visionox vtdr6130 DSI panel driver

 .../bindings/display/panel/visionox,vtdr6130.yaml  |  53 +++
 drivers/gpu/drm/panel/Kconfig                      |   8 +
 drivers/gpu/drm/panel/Makefile                     |   1 +
 drivers/gpu/drm/panel/panel-visionox-vtdr6130.c    | 366 +++++++++++++++++++++
 4 files changed, 428 insertions(+)
---
base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
change-id: 20230103-topic-sm8550-upstream-vtdr6130-panel-f81dad976abd

Best regards,

Comments

Sam Ravnborg Jan. 3, 2023, 5:57 p.m. UTC | #1
Hi Neil,

On Tue, Jan 03, 2023 at 03:22:27PM +0100, Neil Armstrong wrote:
> Document the 1080x2400 Visionox VTDR6130 AMOLED DSI Panel bindings.
> 
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
>  .../bindings/display/panel/visionox,vtdr6130.yaml  | 53 ++++++++++++++++++++++
>  1 file changed, 53 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/visionox,vtdr6130.yaml b/Documentation/devicetree/bindings/display/panel/visionox,vtdr6130.yaml
> new file mode 100644
> index 000000000000..49e2fd4b4e99
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/visionox,vtdr6130.yaml
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/visionox,vtdr6130.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Visionox VTDR6130 AMOLED DSI Panel
> +
> +maintainers:
> +  - Neil Armstrong <neil.armstrong@linaro.org>
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    const: visionox,vtdr6130
> +
> +  vddio-supply: true
> +  vci-supply: true
> +  vdd-supply: true
These 3 looks wrong to me, as the above are not documented in panel-common.
But maybe I miss something and this is OK?

	Sam

> +  port: true
> +  reset-gpios: true
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - vddio-supply
> +  - vci-supply
> +  - vdd-supply
> +  - reset-gpios
> +  - port
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    panel {
> +        compatible = "visionox,vtdr6130";
> +
> +        vddio-supply = <&vreg_l12b_1p8>;
> +        vci-supply = <&vreg_l13b_3p0>;
> +        vdd-supply = <&vreg_l11b_1p2>;
> +
> +        reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
> +
> +        port {
> +            panel0_in: endpoint {
> +                remote-endpoint = <&dsi0_out>;
> +            };
> +        };
> +    };
> +...
> 
> -- 
> 2.34.1
Neil Armstrong Jan. 5, 2023, 9:55 a.m. UTC | #2
On 03/01/2023 18:57, Sam Ravnborg wrote:
> Hi Neil,
> 
> On Tue, Jan 03, 2023 at 03:22:27PM +0100, Neil Armstrong wrote:
>> Document the 1080x2400 Visionox VTDR6130 AMOLED DSI Panel bindings.
>>
>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>> ---
>>   .../bindings/display/panel/visionox,vtdr6130.yaml  | 53 ++++++++++++++++++++++
>>   1 file changed, 53 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/visionox,vtdr6130.yaml b/Documentation/devicetree/bindings/display/panel/visionox,vtdr6130.yaml
>> new file mode 100644
>> index 000000000000..49e2fd4b4e99
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/visionox,vtdr6130.yaml
>> @@ -0,0 +1,53 @@
>> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/panel/visionox,vtdr6130.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Visionox VTDR6130 AMOLED DSI Panel
>> +
>> +maintainers:
>> +  - Neil Armstrong <neil.armstrong@linaro.org>
>> +
>> +allOf:
>> +  - $ref: panel-common.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    const: visionox,vtdr6130
>> +
>> +  vddio-supply: true
>> +  vci-supply: true
>> +  vdd-supply: true
> These 3 looks wrong to me, as the above are not documented in panel-common.
> But maybe I miss something and this is OK?

It should be OK, the XXXX-supply properties are standard properties

Neil

> 
> 	Sam
> 
>> +  port: true
>> +  reset-gpios: true
>> +
>> +additionalProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - vddio-supply
>> +  - vci-supply
>> +  - vdd-supply
>> +  - reset-gpios
>> +  - port
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/gpio/gpio.h>
>> +    panel {
>> +        compatible = "visionox,vtdr6130";
>> +
>> +        vddio-supply = <&vreg_l12b_1p8>;
>> +        vci-supply = <&vreg_l13b_3p0>;
>> +        vdd-supply = <&vreg_l11b_1p2>;
>> +
>> +        reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
>> +
>> +        port {
>> +            panel0_in: endpoint {
>> +                remote-endpoint = <&dsi0_out>;
>> +            };
>> +        };
>> +    };
>> +...
>>
>> -- 
>> 2.34.1
Sam Ravnborg Jan. 6, 2023, 1:04 p.m. UTC | #3
Hi Neil,

> > > +properties:
> > > +  compatible:
> > > +    const: visionox,vtdr6130
> > > +
> > > +  vddio-supply: true
> > > +  vci-supply: true
> > > +  vdd-supply: true
> > These 3 looks wrong to me, as the above are not documented in panel-common.
> > But maybe I miss something and this is OK?
> 
> It should be OK, the XXXX-supply properties are standard properties
Thanks for the explanation - patch is then:
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>