* [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback
@ 2024-10-29 19:16 Fabio Estevam
2024-10-29 19:16 ` [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks Fabio Estevam
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Fabio Estevam @ 2024-10-29 19:16 UTC (permalink / raw)
To: shawnguo
Cc: marex, a.fatoum, andreas, kernel, robh, krzk+dt, conor+dt,
devicetree, imx, linux-arm-kernel, dri-devel, Fabio Estevam
From: Fabio Estevam <festevam@denx.de>
imx6sx.dtsi has the following lcdif entries:
compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
This causes the following dt-schema warning:
['fsl,imx6sx-lcdif', 'fsl,imx28-lcdif'] is too long
To keep DT compatibility, document 'fsl,imx28-lcdif' as a possible
'fsl,imx6sx-lcdif' fallback.
Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v2:
- Only document fsl,imx6sx-lcdif with a fallback.
Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
index 8e3a98aeec32..ad0cca562463 100644
--- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
+++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
@@ -19,7 +19,6 @@ properties:
- enum:
- fsl,imx23-lcdif
- fsl,imx28-lcdif
- - fsl,imx6sx-lcdif
- fsl,imx8mp-lcdif
- fsl,imx93-lcdif
- items:
@@ -32,6 +31,10 @@ properties:
- fsl,imx8mn-lcdif
- fsl,imx8mq-lcdif
- const: fsl,imx6sx-lcdif
+ - items:
+ - enum:
+ - fsl,imx6sx-lcdif
+ - const: fsl,imx28-lcdif
reg:
maxItems: 1
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks
2024-10-29 19:16 [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback Fabio Estevam
@ 2024-10-29 19:16 ` Fabio Estevam
2024-10-29 20:16 ` Marek Vasut
2024-10-29 19:16 ` [PATCH v3 3/3] ARM: dts: imx6sl: Provide a more specific lcdif compatible Fabio Estevam
2024-10-29 20:27 ` [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback Rob Herring (Arm)
2 siblings, 1 reply; 7+ messages in thread
From: Fabio Estevam @ 2024-10-29 19:16 UTC (permalink / raw)
To: shawnguo
Cc: marex, a.fatoum, andreas, kernel, robh, krzk+dt, conor+dt,
devicetree, imx, linux-arm-kernel, dri-devel, Fabio Estevam
From: Fabio Estevam <festevam@denx.de>
mx6sl.dtsi and imx6sll.dtsi have the following lcdif entries:
compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
This causes dt-schema warnings as the current binding only
allow 'fsl,imx6sx-lcdif' as fallback.
['fsl,imx6sl-lcdif', 'fsl,imx28-lcdif'] is too long
['fsl,imx6sll-lcdif', 'fsl,imx28-lcdif'] is too long
The imx6sx-lcdif programming model has more advanced features, such
as overlay plane and the CRC32 support than the imx28-lcdif IP.
Expand the imx6sl/imx6sll lcdif fallbacks to accept a less specific
fsl,imx28-lcdif fallback:
compatible = "fsl,imx6sl-lcdif", "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
This helps keeping DT compatibility as well as using the more advanced
lcdif features found on imx6sl and imx6sll.
Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v2:
- Make the three compatible entres the only valid combination
for imx6sl and imx6sll (Andreas).
Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
index ad0cca562463..72e509bc975b 100644
--- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
+++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
@@ -23,14 +23,18 @@ properties:
- fsl,imx93-lcdif
- items:
- enum:
- - fsl,imx6sl-lcdif
- - fsl,imx6sll-lcdif
- fsl,imx6ul-lcdif
- fsl,imx7d-lcdif
- fsl,imx8mm-lcdif
- fsl,imx8mn-lcdif
- fsl,imx8mq-lcdif
- const: fsl,imx6sx-lcdif
+ - items:
+ - enum:
+ - fsl,imx6sl-lcdif
+ - fsl,imx6sll-lcdif
+ - const: fsl,imx6sx-lcdif
+ - const: fsl,imx28-lcdif
- items:
- enum:
- fsl,imx6sx-lcdif
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 3/3] ARM: dts: imx6sl: Provide a more specific lcdif compatible
2024-10-29 19:16 [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback Fabio Estevam
2024-10-29 19:16 ` [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks Fabio Estevam
@ 2024-10-29 19:16 ` Fabio Estevam
2024-10-29 20:27 ` [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback Rob Herring (Arm)
2 siblings, 0 replies; 7+ messages in thread
From: Fabio Estevam @ 2024-10-29 19:16 UTC (permalink / raw)
To: shawnguo
Cc: marex, a.fatoum, andreas, kernel, robh, krzk+dt, conor+dt,
devicetree, imx, linux-arm-kernel, dri-devel, Fabio Estevam
From: Fabio Estevam <festevam@denx.de>
The LCDIF IP on i.MX6SL and i.MX6SLL is compatible with i.MX6SX.
Provide a more specific "fsl,imx6sx-lcdif" compatible and still keep
"fsl,imx28-lcdif" for DT compatibility.
Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v2:
- None.
arch/arm/boot/dts/nxp/imx/imx6sl.dtsi | 3 ++-
arch/arm/boot/dts/nxp/imx/imx6sll.dtsi | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/nxp/imx/imx6sl.dtsi b/arch/arm/boot/dts/nxp/imx/imx6sl.dtsi
index 6aa61235e39e..840e19b2ca0f 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6sl.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6sl.dtsi
@@ -773,7 +773,8 @@ epdc: epdc@20f4000 {
};
lcdif: lcdif@20f8000 {
- compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
+ compatible = "fsl,imx6sl-lcdif", "fsl,imx6sx-lcdif",
+ "fsl,imx28-lcdif";
reg = <0x020f8000 0x4000>;
interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,
diff --git a/arch/arm/boot/dts/nxp/imx/imx6sll.dtsi b/arch/arm/boot/dts/nxp/imx/imx6sll.dtsi
index 85fe2a4ab97a..eff83f5e5535 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6sll.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6sll.dtsi
@@ -648,7 +648,8 @@ pxp: pxp@20f0000 {
};
lcdif: lcd-controller@20f8000 {
- compatible = "fsl,imx6sll-lcdif", "fsl,imx28-lcdif";
+ compatible = "fsl,imx6sll-lcdif", "fsl,imx6sx-lcdif",
+ "fsl,imx28-lcdif";
reg = <0x020f8000 0x4000>;
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6SLL_CLK_LCDIF_PIX>,
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks
2024-10-29 19:16 ` [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks Fabio Estevam
@ 2024-10-29 20:16 ` Marek Vasut
2024-10-29 20:21 ` Ahmad Fatoum
2024-10-29 21:45 ` Fabio Estevam
0 siblings, 2 replies; 7+ messages in thread
From: Marek Vasut @ 2024-10-29 20:16 UTC (permalink / raw)
To: Fabio Estevam, shawnguo
Cc: a.fatoum, andreas, kernel, robh, krzk+dt, conor+dt, devicetree,
imx, linux-arm-kernel, dri-devel, Fabio Estevam
On 10/29/24 8:16 PM, Fabio Estevam wrote:
> From: Fabio Estevam <festevam@denx.de>
>
> mx6sl.dtsi and imx6sll.dtsi have the following lcdif entries:
>
> compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
>
> This causes dt-schema warnings as the current binding only
> allow 'fsl,imx6sx-lcdif' as fallback.
>
> ['fsl,imx6sl-lcdif', 'fsl,imx28-lcdif'] is too long
> ['fsl,imx6sll-lcdif', 'fsl,imx28-lcdif'] is too long
>
> The imx6sx-lcdif programming model has more advanced features, such
> as overlay plane and the CRC32 support than the imx28-lcdif IP.
>
> Expand the imx6sl/imx6sll lcdif fallbacks to accept a less specific
> fsl,imx28-lcdif fallback:
>
> compatible = "fsl,imx6sl-lcdif", "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
>
> This helps keeping DT compatibility as well as using the more advanced
> lcdif features found on imx6sl and imx6sll.
>
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
> Changes since v2:
> - Make the three compatible entres the only valid combination
> for imx6sl and imx6sll (Andreas).
>
> Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> index ad0cca562463..72e509bc975b 100644
> --- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> +++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> @@ -23,14 +23,18 @@ properties:
> - fsl,imx93-lcdif
> - items:
> - enum:
> - - fsl,imx6sl-lcdif
> - - fsl,imx6sll-lcdif
> - fsl,imx6ul-lcdif
> - fsl,imx7d-lcdif
> - fsl,imx8mm-lcdif
> - fsl,imx8mn-lcdif
> - fsl,imx8mq-lcdif
> - const: fsl,imx6sx-lcdif
> + - items:
> + - enum:
> + - fsl,imx6sl-lcdif
> + - fsl,imx6sll-lcdif
> + - const: fsl,imx6sx-lcdif
> + - const: fsl,imx28-lcdif
Shouldn't this be
- enum:
- fsl,imx6sl-lcdif
- fsl,imx6sll-lcdif
- fsl,imx6sx-lcdif
- const: fsl,imx28-lcdif
So you wouldn't have to write three compatible strings for the 6sl/sll ,
but only two ? I.e. this:
compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
compatible = "fsl,imx6sll-lcdif", "fsl,imx28-lcdif";
compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks
2024-10-29 20:16 ` Marek Vasut
@ 2024-10-29 20:21 ` Ahmad Fatoum
2024-10-29 21:45 ` Fabio Estevam
1 sibling, 0 replies; 7+ messages in thread
From: Ahmad Fatoum @ 2024-10-29 20:21 UTC (permalink / raw)
To: Marek Vasut, Fabio Estevam, shawnguo
Cc: andreas, kernel, robh, krzk+dt, conor+dt, devicetree, imx,
linux-arm-kernel, dri-devel, Fabio Estevam
On 29.10.24 21:16, Marek Vasut wrote:
> On 10/29/24 8:16 PM, Fabio Estevam wrote:
>> From: Fabio Estevam <festevam@denx.de>
>>
>> mx6sl.dtsi and imx6sll.dtsi have the following lcdif entries:
>>
>> compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
>>
>> This causes dt-schema warnings as the current binding only
>> allow 'fsl,imx6sx-lcdif' as fallback.
>>
>> ['fsl,imx6sl-lcdif', 'fsl,imx28-lcdif'] is too long
>> ['fsl,imx6sll-lcdif', 'fsl,imx28-lcdif'] is too long
>>
>> The imx6sx-lcdif programming model has more advanced features, such
>> as overlay plane and the CRC32 support than the imx28-lcdif IP.
>>
>> Expand the imx6sl/imx6sll lcdif fallbacks to accept a less specific
>> fsl,imx28-lcdif fallback:
>>
>> compatible = "fsl,imx6sl-lcdif", "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
>>
>> This helps keeping DT compatibility as well as using the more advanced
>> lcdif features found on imx6sl and imx6sll.
>>
>> Signed-off-by: Fabio Estevam <festevam@denx.de>
>> ---
>> Changes since v2:
>> - Make the three compatible entres the only valid combination
>> for imx6sl and imx6sll (Andreas).
>>
>> Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
>> index ad0cca562463..72e509bc975b 100644
>> --- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
>> +++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
>> @@ -23,14 +23,18 @@ properties:
>> - fsl,imx93-lcdif
>> - items:
>> - enum:
>> - - fsl,imx6sl-lcdif
>> - - fsl,imx6sll-lcdif
>> - fsl,imx6ul-lcdif
>> - fsl,imx7d-lcdif
>> - fsl,imx8mm-lcdif
>> - fsl,imx8mn-lcdif
>> - fsl,imx8mq-lcdif
>> - const: fsl,imx6sx-lcdif
>> + - items:
>> + - enum:
>> + - fsl,imx6sl-lcdif
>> + - fsl,imx6sll-lcdif
>> + - const: fsl,imx6sx-lcdif
>> + - const: fsl,imx28-lcdif
> Shouldn't this be
>
> - enum:
> - fsl,imx6sl-lcdif
> - fsl,imx6sll-lcdif
> - fsl,imx6sx-lcdif
> - const: fsl,imx28-lcdif
>
> So you wouldn't have to write three compatible strings for the 6sl/sll , but only two ? I.e. this:
>
> compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
> compatible = "fsl,imx6sll-lcdif", "fsl,imx28-lcdif";
> compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
This would necessitate changing the Linux driver to match against the
fsl,imx6sl-lcdif & fsl,imx6sll-lcdif compatible as well, otherwise new features
like e.g. the overlay plane won't be available.
Cheers,
Ahmad
>
> ?
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback
2024-10-29 19:16 [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback Fabio Estevam
2024-10-29 19:16 ` [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks Fabio Estevam
2024-10-29 19:16 ` [PATCH v3 3/3] ARM: dts: imx6sl: Provide a more specific lcdif compatible Fabio Estevam
@ 2024-10-29 20:27 ` Rob Herring (Arm)
2 siblings, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2024-10-29 20:27 UTC (permalink / raw)
To: Fabio Estevam
Cc: conor+dt, a.fatoum, andreas, imx, Fabio Estevam, marex,
linux-arm-kernel, devicetree, kernel, shawnguo, dri-devel,
krzk+dt
On Tue, 29 Oct 2024 16:16:38 -0300, Fabio Estevam wrote:
> From: Fabio Estevam <festevam@denx.de>
>
> imx6sx.dtsi has the following lcdif entries:
>
> compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
>
> This causes the following dt-schema warning:
>
> ['fsl,imx6sx-lcdif', 'fsl,imx28-lcdif'] is too long
>
> To keep DT compatibility, document 'fsl,imx28-lcdif' as a possible
> 'fsl,imx6sx-lcdif' fallback.
>
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
> Changes since v2:
> - Only document fsl,imx6sx-lcdif with a fallback.
>
> Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/fsl,lcdif.example.dtb: display-controller@2220000: compatible: 'oneOf' conditional failed, one must be fixed:
['fsl,imx6sx-lcdif'] is too short
'fsl,imx6sx-lcdif' is not one of ['fsl,imx23-lcdif', 'fsl,imx28-lcdif', 'fsl,imx8mp-lcdif', 'fsl,imx93-lcdif']
'fsl,imx6sx-lcdif' is not one of ['fsl,imx6sl-lcdif', 'fsl,imx6sll-lcdif', 'fsl,imx6ul-lcdif', 'fsl,imx7d-lcdif', 'fsl,imx8mm-lcdif', 'fsl,imx8mn-lcdif', 'fsl,imx8mq-lcdif']
from schema $id: http://devicetree.org/schemas/display/fsl,lcdif.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241029191640.379315-1-festevam@gmail.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks
2024-10-29 20:16 ` Marek Vasut
2024-10-29 20:21 ` Ahmad Fatoum
@ 2024-10-29 21:45 ` Fabio Estevam
1 sibling, 0 replies; 7+ messages in thread
From: Fabio Estevam @ 2024-10-29 21:45 UTC (permalink / raw)
To: Marek Vasut
Cc: shawnguo, a.fatoum, andreas, kernel, robh, krzk+dt, conor+dt,
devicetree, imx, linux-arm-kernel, dri-devel, Fabio Estevam
Hi Marek,
On Tue, Oct 29, 2024 at 5:16 PM Marek Vasut <marex@denx.de> wrote:
> So you wouldn't have to write three compatible strings for the 6sl/sll ,
> but only two ? I.e. this:
>
> compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
> compatible = "fsl,imx6sll-lcdif", "fsl,imx28-lcdif";
i.MX6SL and i.MX6SLL have a more advanced LCDIF version than the one on i.MX28.
The LCDIF block on i.MX6SL/i.MX6SLL has both overlay and CRC support,
corresponding to the MXSFB_V6 of the mxsfb_drv driver.
That's why it is better to have the compatibles as:
compatible = "fsl,imx6sl-lcdif", "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
compatible = "fsl,imx6sll-lcdif", "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
This way they can match with a more specific fsl,imx6sx-lcdif entry.
If an OS does not implement the fsl,imx6sx-lcdif match, it can still
match with fsl,imx28-lcdif as a fallback, keeping the DT
compatibility.
I missed updating the binding example. I will wait for more feedback
before sending a v4.
Thanks
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-10-29 21:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-29 19:16 [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback Fabio Estevam
2024-10-29 19:16 ` [PATCH v3 2/3] dt-bindings: lcdif: Expand the imx6sl/imx6sll fallbacks Fabio Estevam
2024-10-29 20:16 ` Marek Vasut
2024-10-29 20:21 ` Ahmad Fatoum
2024-10-29 21:45 ` Fabio Estevam
2024-10-29 19:16 ` [PATCH v3 3/3] ARM: dts: imx6sl: Provide a more specific lcdif compatible Fabio Estevam
2024-10-29 20:27 ` [PATCH v3 1/3] dt-bindings: lcdif: Document a imx6sx-lcdif fallback Rob Herring (Arm)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).