diff mbox series

dt-bindings: serial: mxs: Fix compatible list

Message ID 20230921005258.184705-1-festevam@gmail.com
State Changes Requested
Headers show
Series dt-bindings: serial: mxs: Fix compatible list | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 1 warnings, 25 lines checked
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Fabio Estevam Sept. 21, 2023, 12:52 a.m. UTC
imx28.dtsi uses the following description:

compatible = "fsl,imx28-auart", "fsl,imx23-auart";

Make it valid so that the following schema warning could be avoided:

imx28-apx4devkit.dtb: serial@8006a000: compatible: ['fsl,imx28-auart', 'fsl,imx23-auart'] is too long
	from schema $id: http://devicetree.org/schemas/serial/fsl-mxs-auart.yaml#

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 .../devicetree/bindings/serial/fsl-mxs-auart.yaml   | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

Comments

Conor Dooley Sept. 21, 2023, 9:14 a.m. UTC | #1
Yo,

On Wed, Sep 20, 2023 at 09:52:58PM -0300, Fabio Estevam wrote:
> imx28.dtsi uses the following description:
> 
> compatible = "fsl,imx28-auart", "fsl,imx23-auart";
> 
> Make it valid so that the following schema warning could be avoided:

Dumb question maybe, but it is not mentioned here - they are actually
compatible devices, right? I see that they have some different match
data in the driver (relating to some DMA erratum on the 23 seemingly),
so it's not immediately obvious to me.

Thanks,
Conor.

> 
> imx28-apx4devkit.dtb: serial@8006a000: compatible: ['fsl,imx28-auart', 'fsl,imx23-auart'] is too long
> 	from schema $id: http://devicetree.org/schemas/serial/fsl-mxs-auart.yaml#
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> ---
>  .../devicetree/bindings/serial/fsl-mxs-auart.yaml   | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml
> index 6a400a5e6fc7..da032effffe6 100644
> --- a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml
> +++ b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml
> @@ -14,10 +14,13 @@ allOf:
>  
>  properties:
>    compatible:
> -    enum:
> -      - fsl,imx23-auart
> -      - fsl,imx28-auart
> -      - alphascale,asm9260-auart
> +    oneOf:
> +      - const: fsl,imx23-auart
> +      - const: alphascale,asm9260-auart
> +      - items:
> +          - enum:
> +              - fsl,imx28-auart
> +          - const: fsl,imx23-auart
>  
>    reg:
>      maxItems: 1
> @@ -82,7 +85,7 @@ examples:
>      };
>  
>      auart0: serial@8006a000 {
> -        compatible = "fsl,imx28-auart";
> +        compatible = "fsl,imx28-auart", "fsl,imx23-auart";
>          reg = <0x8006a000 0x2000>;
>          interrupts = <112>;
>          dmas = <&dma_apbx 8>, <&dma_apbx 9>;
> -- 
> 2.34.1
>
Fabio Estevam Sept. 21, 2023, 12:53 p.m. UTC | #2
Hi Conor,

On Thu, Sep 21, 2023 at 6:14 AM Conor Dooley <conor@kernel.org> wrote:

> Dumb question maybe, but it is not mentioned here - they are actually
> compatible devices, right? I see that they have some different match
> data in the driver (relating to some DMA erratum on the 23 seemingly),
> so it's not immediately obvious to me.

That's correct.

imx23 and imx28 are SoCs from the same family (mxs) and they share the
same AUART block, so the same programming model.

imx23 is the first member of this family. It had an AUART erratum.
imx28 is the second member of this family and had this erratum fixed.

This means that using:

compatible = "fsl,imx28-auart", "fsl,imx23-auart";

is valid.

Would you like me to improve the commit log with the information above?

Please advise.

Thanks
Conor Dooley Sept. 21, 2023, 1:26 p.m. UTC | #3
On Thu, Sep 21, 2023 at 09:53:44AM -0300, Fabio Estevam wrote:
> Hi Conor,
> 
> On Thu, Sep 21, 2023 at 6:14 AM Conor Dooley <conor@kernel.org> wrote:
> 
> > Dumb question maybe, but it is not mentioned here - they are actually
> > compatible devices, right? I see that they have some different match
> > data in the driver (relating to some DMA erratum on the 23 seemingly),
> > so it's not immediately obvious to me.
> 
> That's correct.
> 
> imx23 and imx28 are SoCs from the same family (mxs) and they share the
> same AUART block, so the same programming model.

Right. I wasn't sure if the erratum workaround would also work on the
28, but sounds like it does.

> imx23 is the first member of this family. It had an AUART erratum.
> imx28 is the second member of this family and had this erratum fixed.
> 
> This means that using:
> 
> compatible = "fsl,imx28-auart", "fsl,imx23-auart";
> 
> is valid.
> 
> Would you like me to improve the commit log with the information above?

Your call.
Acked-by: Conor Dooley <conor.dooley@microchip.com>

Thanks,
Conor.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml
index 6a400a5e6fc7..da032effffe6 100644
--- a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml
+++ b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.yaml
@@ -14,10 +14,13 @@  allOf:
 
 properties:
   compatible:
-    enum:
-      - fsl,imx23-auart
-      - fsl,imx28-auart
-      - alphascale,asm9260-auart
+    oneOf:
+      - const: fsl,imx23-auart
+      - const: alphascale,asm9260-auart
+      - items:
+          - enum:
+              - fsl,imx28-auart
+          - const: fsl,imx23-auart
 
   reg:
     maxItems: 1
@@ -82,7 +85,7 @@  examples:
     };
 
     auart0: serial@8006a000 {
-        compatible = "fsl,imx28-auart";
+        compatible = "fsl,imx28-auart", "fsl,imx23-auart";
         reg = <0x8006a000 0x2000>;
         interrupts = <112>;
         dmas = <&dma_apbx 8>, <&dma_apbx 9>;