[PATCH 2/8] dt-bindings: display: mxsfb: Add and fix compatible strings

Stefan Agner stefan at agner.ch
Mon Aug 24 10:19:23 EDT 2020


On 2020-08-24 01:26, Laurent Pinchart wrote:
> Hi Stefan,
> 
> On Fri, Aug 21, 2020 at 04:53:56PM +0200, Stefan Agner wrote:
>> On 2020-08-13 03:29, Laurent Pinchart wrote:
>> > Additional compatible strings have been added in DT source for the
>> > i.MX6SL, i.MX6SLL, i.MX6UL and i.MX7D without updating the bindings.
>> > Most of the upstream DT sources use the fsl,imx28-lcdif compatible
>> > string, which mostly predates the realization that the LCDIF in the
>> > i.MX6 and newer SoCs have extra features compared to the i.MX28.
>>
>> Agreed, we should add fsl,imx6sx-lcdif for those devices.
>>
>> But shouldn't we also keep fsl,imx28-lcdif? From what I can tell, the
>> devices can be driven by a driver only supporting fsl,imx28-lcdif
>> semantics, right?
> 
> Isn't it kept by this patch ?
> 
>> > Update the bindings to add the missing compatible strings, with the
>> > correct fallback values. This fails to validate some of the upstream DT
>> > sources. Instead of adding the incorrect compatible fallback to the
>> > binding, the sources should be updated separately.
>> >
>> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>> > ---
>> >  .../devicetree/bindings/display/mxsfb.yaml     | 18 +++++++++++++-----
>> >  1 file changed, 13 insertions(+), 5 deletions(-)
>> >
>> > diff --git a/Documentation/devicetree/bindings/display/mxsfb.yaml
>> > b/Documentation/devicetree/bindings/display/mxsfb.yaml
>> > index 202381ec5bb7..ec6533b1d4a3 100644
>> > --- a/Documentation/devicetree/bindings/display/mxsfb.yaml
>> > +++ b/Documentation/devicetree/bindings/display/mxsfb.yaml
>> > @@ -15,11 +15,19 @@ description: |
>> >
>> >  properties:
>> >    compatible:
>> > -    enum:
>> > -      - fsl,imx23-lcdif
>> > -      - fsl,imx28-lcdif
>> > -      - fsl,imx6sx-lcdif
>> > -      - fsl,imx8mq-lcdif
>> > +    oneOf:
>> > +      - enum:
>> > +          - fsl,imx23-lcdif
>> > +          - fsl,imx28-lcdif
> 
> Here -----------------^
> 
> The binding now support any of "fsl,imx23-lcdif", "fsl,imx28-lcdif" or
> "fsl,imx6sx-lcdif" alone, or "fsl,imx6sx-lcdif" with another
> device-specific compatible string. The driver supports the three base
> compatible strings, for V3, V4 and V6 of the IP core.

The binding yes, but I mean the device descriptions in the device tree.

Since the device can be driven by a older kernel which only knows about
the fsl,imx28-lcdif compatible string, we could keep that compatible.
>From what I can tell, we can add both safely, e.g.

compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif"

>From how I read the description this now replaces "fsl,imx28-lcdif" with
"fsl,imx6sx-lcdif" for the devices supporting the additional features,
e.g.:

--- a/arch/arm/boot/dts/imx6sl.dtsi
+++ b/arch/arm/boot/dts/imx6sl.dtsi
@@ -769,7 +769,7 @@ epdc: epdc at 20f4000 {
             };
 
             lcdif: lcdif at 20f8000 {
-                compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
+                compatible = "fsl,imx6sl-lcdif", "fsl,imx6sx-lcdif";
                 reg = <0x020f8000 0x4000>;
                 interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
                 clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,

--
Stefan

> 
>> > +          - fsl,imx6sx-lcdif
>> > +      - items:
>> > +        - enum:
>> > +          - fsl,imx6sl-lcdif
>> > +          - fsl,imx6sll-lcdif
>> > +          - fsl,imx6ul-lcdif
>> > +          - fsl,imx7d-lcdif
>> > +          - fsl,imx8mq-lcdif
>> > +        - const: fsl,imx6sx-lcdif
>> >
>> >    reg:
>> >      maxItems: 1



More information about the linux-arm-kernel mailing list