On 10/02/2024 02:18, Sebastian Reichel wrote: > Convert the i.MX Wireless External Interface Module binding to YAML. > > Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> > --- > .../devicetree/bindings/bus/fsl,imx-weim.yaml | 225 ++++++++++++++++++ > .../devicetree/bindings/bus/imx-weim.txt | 117 --------- > 2 files changed, 225 insertions(+), 117 deletions(-) > create mode 100644 Documentation/devicetree/bindings/bus/fsl,imx-weim.yaml > delete mode 100644 Documentation/devicetree/bindings/bus/imx-weim.txt > > diff --git a/Documentation/devicetree/bindings/bus/fsl,imx-weim.yaml b/Documentation/devicetree/bindings/bus/fsl,imx-weim.yaml > new file mode 100644 > index 000000000000..3d27bdaef304 > --- /dev/null > +++ b/Documentation/devicetree/bindings/bus/fsl,imx-weim.yaml > @@ -0,0 +1,225 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/bus/fsl,imx-weim.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: i.MX Wireless External Interface Module (WEIM) This patchset does not do what I asked to, but maybe that's just coincidence that you send conversion now. To recall: https://lore.kernel.org/all/cee1ca11-03bf-4a0b-9ff3-490457f9fbe8@xxxxxxxxxx/ > + > +maintainers: > + - Shawn Guo <shawnguo@xxxxxxxxxx> > + - Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > + > +description: > + The term "wireless" does not imply that the WEIM is literally an interface > + without wires. It simply means that this module was originally designed for > + wireless and mobile applications that use low-power technology. The actual > + devices are instantiated from the child nodes of a WEIM node. > + > +properties: > + compatible: > + oneOf: > + - enum: > + - fsl,imx1-weim > + - fsl,imx27-weim > + - fsl,imx50-weim > + - fsl,imx51-weim > + - fsl,imx6q-weim > + - items: > + - enum: > + - fsl,imx31-weim > + - fsl,imx35-weim > + - const: fsl,imx27-weim > + - items: > + - enum: > + - fsl,imx6sx-weim > + - fsl,imx6ul-weim > + - const: fsl,imx6q-weim > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + '#address-cells': > + const: 2 > + > + '#size-cells': > + const: 1 > + > + ranges: true > + > + fsl,weim-cs-gpr: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: | > + Phandle to the system General Purpose Register controller that contains > + WEIM CS GPR register, e.g. IOMUXC_GPR1 on i.MX6Q. IOMUXC_GPR1[11:0] > + should be set up as one of the following 4 possible values depending on > + the CS space configuration. > + > + IOMUXC_GPR1[11:0] CS0 CS1 CS2 CS3 > + --------------------------------------------- > + 05 128M 0M 0M 0M > + 033 64M 64M 0M 0M > + 0113 64M 32M 32M 0M > + 01111 32M 32M 32M 32M > + > + In case that the property is absent, the reset value or what bootloader > + sets up in IOMUXC_GPR1[11:0] will be used. > + > + fsl,burst-clk-enable: > + type: boolean > + description: > + The presence of this property indicates that the weim bus should operate > + in Burst Clock Mode. > + > + fsl,continuous-burst-clk: > + type: boolean > + description: > + Make Burst Clock to output continuous clock. Without this option Burst > + Clock will output clock only when necessary. > + > +patternProperties: > + "^.*@[0-7],[0-9a-f]+$": > + description: Devices attached to chip selects are represented as subnodes. > + type: object > + additionalProperties: true > + properties: > + fsl,weim-cs-timing: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + Timing values for the child node. > + required: > + - fsl,weim-cs-timing You need to integrate it into mc-peripheral-props.yaml. Also check how other bus controllers define children schema. required: block goes here. > + > +allOf: > + - if: > + properties: > + compatible: > + not: > + contains: > + enum: > + - fsl,imx50-weim Best regards, Krzysztof