diff mbox series

[net-next,06/10] dt-bindings: soc: mediatek: move ilm in a dedicated dts node

Message ID c9b65ef3aeb28a50cec45d1f98aec72d8016c828.1679330630.git.lorenzo@kernel.org (mailing list archive)
State New, archived
Headers show
Series mtk: wed: move cpuboot, ilm and dlm in dedicated dts nodes | expand

Commit Message

Lorenzo Bianconi March 20, 2023, 4:58 p.m. UTC
Since the cpuboot memory region is not part of the RAM SoC, move ilm in
a deidicated syscon node.
This patch helps to keep backward-compatibility with older version of
uboot codebase where we have a limit of 8 reserved-memory dts child
nodes.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
 .../arm/mediatek/mediatek,mt7622-wed.yaml     | 14 +++---
 .../soc/mediatek/mediatek,mt7986-wo-ilm.yaml  | 45 +++++++++++++++++++
 2 files changed, 53 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml

Comments

Rob Herring (Arm) March 21, 2023, 1:17 p.m. UTC | #1
On Mon, 20 Mar 2023 17:58:00 +0100, Lorenzo Bianconi wrote:
> Since the cpuboot memory region is not part of the RAM SoC, move ilm in
> a deidicated syscon node.
> This patch helps to keep backward-compatibility with older version of
> uboot codebase where we have a limit of 8 reserved-memory dts child
> nodes.
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> ---
>  .../arm/mediatek/mediatek,mt7622-wed.yaml     | 14 +++---
>  .../soc/mediatek/mediatek,mt7986-wo-ilm.yaml  | 45 +++++++++++++++++++
>  2 files changed, 53 insertions(+), 6 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Error: Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.example.dts:63.59-60 syntax error
FATAL ERROR: Unable to parse input tree
make[1]: *** [scripts/Makefile.lib:419: Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.example.dtb] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1512: dt_binding_check] Error 2

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/c9b65ef3aeb28a50cec45d1f98aec72d8016c828.1679330630.git.lorenzo@kernel.org

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.
Lorenzo Bianconi March 21, 2023, 1:54 p.m. UTC | #2
> 
> On Mon, 20 Mar 2023 17:58:00 +0100, Lorenzo Bianconi wrote:
> > Since the cpuboot memory region is not part of the RAM SoC, move ilm in
> > a deidicated syscon node.
> > This patch helps to keep backward-compatibility with older version of
> > uboot codebase where we have a limit of 8 reserved-memory dts child
> > nodes.
> > 
> > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> > ---
> >  .../arm/mediatek/mediatek,mt7622-wed.yaml     | 14 +++---
> >  .../soc/mediatek/mediatek,mt7986-wo-ilm.yaml  | 45 +++++++++++++++++++
> >  2 files changed, 53 insertions(+), 6 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> > 
> 
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> Error: Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.example.dts:63.59-60 syntax error
> FATAL ERROR: Unable to parse input tree
> make[1]: *** [scripts/Makefile.lib:419: Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.example.dtb] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [Makefile:1512: dt_binding_check] Error 2

Hi Rob,

I think it is just a typo in a patch in the middle of the series that I fixed
in the latest one (before posting I compiled the dts schema with the full series
applied and not incrementally). I will fix it in v2. Thanks.

Regards,
Lorenzo

> 
> doc reference errors (make refcheckdocs):
> 
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/c9b65ef3aeb28a50cec45d1f98aec72d8016c828.1679330630.git.lorenzo@kernel.org
> 
> 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.
>
Rob Herring (Arm) March 21, 2023, 7:32 p.m. UTC | #3
On Mon, Mar 20, 2023 at 05:58:00PM +0100, Lorenzo Bianconi wrote:
> Since the cpuboot memory region is not part of the RAM SoC, move ilm in
> a deidicated syscon node.
> This patch helps to keep backward-compatibility with older version of
> uboot codebase where we have a limit of 8 reserved-memory dts child
> nodes.

Maybe, but breaks the ABI. It also looks like a step backwards. Fix your 
u-boot.

> 
> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> ---
>  .../arm/mediatek/mediatek,mt7622-wed.yaml     | 14 +++---
>  .../soc/mediatek/mediatek,mt7986-wo-ilm.yaml  | 45 +++++++++++++++++++
>  2 files changed, 53 insertions(+), 6 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> index 7f6638d43854..5d2397ec5891 100644
> --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> @@ -32,14 +32,12 @@ properties:
>    memory-region:
>      items:
>        - description: firmware EMI region
> -      - description: firmware ILM region
>        - description: firmware DLM region
>        - description: firmware CPU DATA region
>  
>    memory-region-names:
>      items:
>        - const: wo-emi
> -      - const: wo-ilm
>        - const: wo-dlm
>        - const: wo-data
>  
> @@ -51,6 +49,10 @@ properties:
>      $ref: /schemas/types.yaml#/definitions/phandle
>      description: mediatek wed-wo cpuboot controller interface.
>  
> +  mediatek,wo-ilm:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: mediatek wed-wo ilm interface.
> +
>  allOf:
>    - if:
>        properties:
> @@ -63,6 +65,7 @@ allOf:
>          memory-region: false
>          mediatek,wo-ccif: false
>          mediatek,wo-cpuboot: false
> +        mediatek,wo-ilm: false
>  
>  required:
>    - compatible
> @@ -97,11 +100,10 @@ examples:
>          reg = <0 0x15010000 0 0x1000>;
>          interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
>  
> -        memory-region = <&wo_emi>, <&wo_ilm>, <&wo_dlm>,
> -                        <&wo_data>;
> -        memory-region-names = "wo-emi", "wo-ilm", "wo-dlm",
> -                              "wo-data";
> +        memory-region = <&wo_emi>, <&wo_dlm>, &wo_data>;
> +        memory-region-names = "wo-emi", "wo-dlm", "wo-data";
>          mediatek,wo-ccif = <&wo_ccif0>;
>          mediatek,wo-cpuboot = <&wo_cpuboot>;
> +        mediatek,wo-ilm = <&wo_ilm>;
>        };
>      };
> diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> new file mode 100644
> index 000000000000..2a3775cd941e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt7986-wo-ilm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek Wireless Ethernet Dispatch (WED) WO ILM firmware interface for MT7986

Either this region is some memory or it's a device. Sounds like the 
former and this is not a 'syscon'.

> +
> +maintainers:
> +  - Lorenzo Bianconi <lorenzo@kernel.org>
> +  - Felix Fietkau <nbd@nbd.name>
> +
> +description:
> +  The MediaTek wo-ilm (Information Lifecycle Management) provides a configuration
> +  interface for WiFi critical data used by WED WO firmware. WED WO controller is
> +  used to perform offload rx packet processing (e.g. 802.11 aggregation packet
> +  reordering or rx header translation) on MT7986 soc.
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - mediatek,mt7986-wo-ilm
> +      - const: syscon
> +
> +  reg:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    soc {
> +      #address-cells = <2>;
> +      #size-cells = <2>;
> +
> +      syscon@151e0000 {
> +        compatible = "mediatek,mt7986-wo-ilm", "syscon";
> +        reg = <0 0x151e0000 0 0x8000>;
> +      };
> +    };
> -- 
> 2.39.2
>
Lorenzo Bianconi March 22, 2023, 4:05 p.m. UTC | #4
> On Mon, Mar 20, 2023 at 05:58:00PM +0100, Lorenzo Bianconi wrote:
> > Since the cpuboot memory region is not part of the RAM SoC, move ilm in
> > a deidicated syscon node.
> > This patch helps to keep backward-compatibility with older version of
> > uboot codebase where we have a limit of 8 reserved-memory dts child
> > nodes.
> 
> Maybe, but breaks the ABI. It also looks like a step backwards. Fix your 
> u-boot.

Can you please give some more details about ABI breakage? mtk_wed driver is
supposed to be backward compatible with respect to the older dts description
(please take a look to patch 5/10 and 8/10).

> 
> > 
> > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> > ---
> >  .../arm/mediatek/mediatek,mt7622-wed.yaml     | 14 +++---
> >  .../soc/mediatek/mediatek,mt7986-wo-ilm.yaml  | 45 +++++++++++++++++++
> >  2 files changed, 53 insertions(+), 6 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> > index 7f6638d43854..5d2397ec5891 100644
> > --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> > +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> > @@ -32,14 +32,12 @@ properties:
> >    memory-region:
> >      items:
> >        - description: firmware EMI region
> > -      - description: firmware ILM region
> >        - description: firmware DLM region
> >        - description: firmware CPU DATA region
> >  
> >    memory-region-names:
> >      items:
> >        - const: wo-emi
> > -      - const: wo-ilm
> >        - const: wo-dlm
> >        - const: wo-data
> >  
> > @@ -51,6 +49,10 @@ properties:
> >      $ref: /schemas/types.yaml#/definitions/phandle
> >      description: mediatek wed-wo cpuboot controller interface.
> >  
> > +  mediatek,wo-ilm:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: mediatek wed-wo ilm interface.
> > +
> >  allOf:
> >    - if:
> >        properties:
> > @@ -63,6 +65,7 @@ allOf:
> >          memory-region: false
> >          mediatek,wo-ccif: false
> >          mediatek,wo-cpuboot: false
> > +        mediatek,wo-ilm: false
> >  
> >  required:
> >    - compatible
> > @@ -97,11 +100,10 @@ examples:
> >          reg = <0 0x15010000 0 0x1000>;
> >          interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
> >  
> > -        memory-region = <&wo_emi>, <&wo_ilm>, <&wo_dlm>,
> > -                        <&wo_data>;
> > -        memory-region-names = "wo-emi", "wo-ilm", "wo-dlm",
> > -                              "wo-data";
> > +        memory-region = <&wo_emi>, <&wo_dlm>, &wo_data>;
> > +        memory-region-names = "wo-emi", "wo-dlm", "wo-data";
> >          mediatek,wo-ccif = <&wo_ccif0>;
> >          mediatek,wo-cpuboot = <&wo_cpuboot>;
> > +        mediatek,wo-ilm = <&wo_ilm>;
> >        };
> >      };
> > diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> > new file mode 100644
> > index 000000000000..2a3775cd941e
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> > @@ -0,0 +1,45 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt7986-wo-ilm.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: MediaTek Wireless Ethernet Dispatch (WED) WO ILM firmware interface for MT7986
> 
> Either this region is some memory or it's a device. Sounds like the 
> former and this is not a 'syscon'.

ILM and DLM are mmio regions used to store Wireless Ethernet Dispatch firmware
sections.
AFAIU reserved-memory nodes are supposed to be used just for RAM areas, correct?
What do you think would be the best dts node type for ILM and DLM?

Another possibility I was discussing with Felix is to move ILM and DLM definitions
in WED node reg section, something like:

wed0: wed@15010000 {
	compatible = "mediatek,mt7986-wed";
	reg = <0 0x15010000 0 0x1000>,
	      <0 0x151e0000 0 0x8000>,
	      <0 0x151e8000 0 0x2000>;
	...
};

Doing so we need to get rid of syscon in WED compatible string, right? Is it acceptable?

Regards,
Lorenzo

> 
> > +
> > +maintainers:
> > +  - Lorenzo Bianconi <lorenzo@kernel.org>
> > +  - Felix Fietkau <nbd@nbd.name>
> > +
> > +description:
> > +  The MediaTek wo-ilm (Information Lifecycle Management) provides a configuration
> > +  interface for WiFi critical data used by WED WO firmware. WED WO controller is
> > +  used to perform offload rx packet processing (e.g. 802.11 aggregation packet
> > +  reordering or rx header translation) on MT7986 soc.
> > +
> > +properties:
> > +  compatible:
> > +    items:
> > +      - enum:
> > +          - mediatek,mt7986-wo-ilm
> > +      - const: syscon
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    soc {
> > +      #address-cells = <2>;
> > +      #size-cells = <2>;
> > +
> > +      syscon@151e0000 {
> > +        compatible = "mediatek,mt7986-wo-ilm", "syscon";
> > +        reg = <0 0x151e0000 0 0x8000>;
> > +      };
> > +    };
> > -- 
> > 2.39.2
> >
Lorenzo Bianconi March 28, 2023, 8:11 a.m. UTC | #5
> > On Mon, Mar 20, 2023 at 05:58:00PM +0100, Lorenzo Bianconi wrote:
> > > Since the cpuboot memory region is not part of the RAM SoC, move ilm in
> > > a deidicated syscon node.
> > > This patch helps to keep backward-compatibility with older version of
> > > uboot codebase where we have a limit of 8 reserved-memory dts child
> > > nodes.
> > 
> > Maybe, but breaks the ABI. It also looks like a step backwards. Fix your 
> > u-boot.
> 
> Can you please give some more details about ABI breakage? mtk_wed driver is
> supposed to be backward compatible with respect to the older dts description
> (please take a look to patch 5/10 and 8/10).
> 
> > 
> > > 
> > > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> > > ---
> > >  .../arm/mediatek/mediatek,mt7622-wed.yaml     | 14 +++---
> > >  .../soc/mediatek/mediatek,mt7986-wo-ilm.yaml  | 45 +++++++++++++++++++
> > >  2 files changed, 53 insertions(+), 6 deletions(-)
> > >  create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> > > index 7f6638d43854..5d2397ec5891 100644
> > > --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> > > +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
> > > @@ -32,14 +32,12 @@ properties:
> > >    memory-region:
> > >      items:
> > >        - description: firmware EMI region
> > > -      - description: firmware ILM region
> > >        - description: firmware DLM region
> > >        - description: firmware CPU DATA region
> > >  
> > >    memory-region-names:
> > >      items:
> > >        - const: wo-emi
> > > -      - const: wo-ilm
> > >        - const: wo-dlm
> > >        - const: wo-data
> > >  
> > > @@ -51,6 +49,10 @@ properties:
> > >      $ref: /schemas/types.yaml#/definitions/phandle
> > >      description: mediatek wed-wo cpuboot controller interface.
> > >  
> > > +  mediatek,wo-ilm:
> > > +    $ref: /schemas/types.yaml#/definitions/phandle
> > > +    description: mediatek wed-wo ilm interface.
> > > +
> > >  allOf:
> > >    - if:
> > >        properties:
> > > @@ -63,6 +65,7 @@ allOf:
> > >          memory-region: false
> > >          mediatek,wo-ccif: false
> > >          mediatek,wo-cpuboot: false
> > > +        mediatek,wo-ilm: false
> > >  
> > >  required:
> > >    - compatible
> > > @@ -97,11 +100,10 @@ examples:
> > >          reg = <0 0x15010000 0 0x1000>;
> > >          interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
> > >  
> > > -        memory-region = <&wo_emi>, <&wo_ilm>, <&wo_dlm>,
> > > -                        <&wo_data>;
> > > -        memory-region-names = "wo-emi", "wo-ilm", "wo-dlm",
> > > -                              "wo-data";
> > > +        memory-region = <&wo_emi>, <&wo_dlm>, &wo_data>;
> > > +        memory-region-names = "wo-emi", "wo-dlm", "wo-data";
> > >          mediatek,wo-ccif = <&wo_ccif0>;
> > >          mediatek,wo-cpuboot = <&wo_cpuboot>;
> > > +        mediatek,wo-ilm = <&wo_ilm>;
> > >        };
> > >      };
> > > diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> > > new file mode 100644
> > > index 000000000000..2a3775cd941e
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
> > > @@ -0,0 +1,45 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt7986-wo-ilm.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: MediaTek Wireless Ethernet Dispatch (WED) WO ILM firmware interface for MT7986
> > 
> > Either this region is some memory or it's a device. Sounds like the 
> > former and this is not a 'syscon'.
> 
> ILM and DLM are mmio regions used to store Wireless Ethernet Dispatch firmware
> sections.
> AFAIU reserved-memory nodes are supposed to be used just for RAM areas, correct?
> What do you think would be the best dts node type for ILM and DLM?
> 
> Another possibility I was discussing with Felix is to move ILM and DLM definitions
> in WED node reg section, something like:
> 
> wed0: wed@15010000 {
> 	compatible = "mediatek,mt7986-wed";
> 	reg = <0 0x15010000 0 0x1000>,
> 	      <0 0x151e0000 0 0x8000>,
> 	      <0 0x151e8000 0 0x2000>;
> 	...
> };
> 
> Doing so we need to get rid of syscon in WED compatible string, right? Is it acceptable?
> 
> Regards,
> Lorenzo

Hi Rob,

do you have any more input about this? Is it fine to just use syscon for
ILM/DLM dts nodes or do you prefer to rework WED node in order to have ILM/DLM
regs info into it?

Regards,
Lorenzo

> 
> > 
> > > +
> > > +maintainers:
> > > +  - Lorenzo Bianconi <lorenzo@kernel.org>
> > > +  - Felix Fietkau <nbd@nbd.name>
> > > +
> > > +description:
> > > +  The MediaTek wo-ilm (Information Lifecycle Management) provides a configuration
> > > +  interface for WiFi critical data used by WED WO firmware. WED WO controller is
> > > +  used to perform offload rx packet processing (e.g. 802.11 aggregation packet
> > > +  reordering or rx header translation) on MT7986 soc.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    items:
> > > +      - enum:
> > > +          - mediatek,mt7986-wo-ilm
> > > +      - const: syscon
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    soc {
> > > +      #address-cells = <2>;
> > > +      #size-cells = <2>;
> > > +
> > > +      syscon@151e0000 {
> > > +        compatible = "mediatek,mt7986-wo-ilm", "syscon";
> > > +        reg = <0 0x151e0000 0 0x8000>;
> > > +      };
> > > +    };
> > > -- 
> > > 2.39.2
> > >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
index 7f6638d43854..5d2397ec5891 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
@@ -32,14 +32,12 @@  properties:
   memory-region:
     items:
       - description: firmware EMI region
-      - description: firmware ILM region
       - description: firmware DLM region
       - description: firmware CPU DATA region
 
   memory-region-names:
     items:
       - const: wo-emi
-      - const: wo-ilm
       - const: wo-dlm
       - const: wo-data
 
@@ -51,6 +49,10 @@  properties:
     $ref: /schemas/types.yaml#/definitions/phandle
     description: mediatek wed-wo cpuboot controller interface.
 
+  mediatek,wo-ilm:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: mediatek wed-wo ilm interface.
+
 allOf:
   - if:
       properties:
@@ -63,6 +65,7 @@  allOf:
         memory-region: false
         mediatek,wo-ccif: false
         mediatek,wo-cpuboot: false
+        mediatek,wo-ilm: false
 
 required:
   - compatible
@@ -97,11 +100,10 @@  examples:
         reg = <0 0x15010000 0 0x1000>;
         interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
 
-        memory-region = <&wo_emi>, <&wo_ilm>, <&wo_dlm>,
-                        <&wo_data>;
-        memory-region-names = "wo-emi", "wo-ilm", "wo-dlm",
-                              "wo-data";
+        memory-region = <&wo_emi>, <&wo_dlm>, &wo_data>;
+        memory-region-names = "wo-emi", "wo-dlm", "wo-data";
         mediatek,wo-ccif = <&wo_ccif0>;
         mediatek,wo-cpuboot = <&wo_cpuboot>;
+        mediatek,wo-ilm = <&wo_ilm>;
       };
     };
diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
new file mode 100644
index 000000000000..2a3775cd941e
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mt7986-wo-ilm.yaml
@@ -0,0 +1,45 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt7986-wo-ilm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek Wireless Ethernet Dispatch (WED) WO ILM firmware interface for MT7986
+
+maintainers:
+  - Lorenzo Bianconi <lorenzo@kernel.org>
+  - Felix Fietkau <nbd@nbd.name>
+
+description:
+  The MediaTek wo-ilm (Information Lifecycle Management) provides a configuration
+  interface for WiFi critical data used by WED WO firmware. WED WO controller is
+  used to perform offload rx packet processing (e.g. 802.11 aggregation packet
+  reordering or rx header translation) on MT7986 soc.
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - mediatek,mt7986-wo-ilm
+      - const: syscon
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    soc {
+      #address-cells = <2>;
+      #size-cells = <2>;
+
+      syscon@151e0000 {
+        compatible = "mediatek,mt7986-wo-ilm", "syscon";
+        reg = <0 0x151e0000 0 0x8000>;
+      };
+    };