diff mbox series

[v2,1/2] dt-bindings: iio: frequency: add admfm2000

Message ID 20231121100012.112861-1-kimseer.paller@analog.com (mailing list archive)
State Superseded
Headers show
Series [v2,1/2] dt-bindings: iio: frequency: add admfm2000 | expand

Commit Message

Kim Seer Paller Nov. 21, 2023, 10 a.m. UTC
Dual microwave down converter module with input RF and LO frequency
ranges from 0.5 to 32 GHz and an output IF frequency range from 0.1 to
8 GHz. It consists of a LNA, mixer, IF filter, DSA, and IF amplifier
for each down conversion path.

Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
V1 -> V2: Removed '|' after description. Specified the pins connected to
          the GPIOs. Added additionalProperties: false. Changed node name to gpio.
          Aligned < syntax with the previous syntax in the examples.

 .../bindings/iio/frequency/adi,admfm2000.yaml | 130 ++++++++++++++++++
 MAINTAINERS                                   |   7 +
 2 files changed, 137 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml


base-commit: 98b1cc82c4affc16f5598d4fa14b1858671b2263

Comments

Rob Herring (Arm) Nov. 21, 2023, 10:57 a.m. UTC | #1
On Tue, 21 Nov 2023 18:00:11 +0800, Kim Seer Paller wrote:
> Dual microwave down converter module with input RF and LO frequency
> ranges from 0.5 to 32 GHz and an output IF frequency range from 0.1 to
> 8 GHz. It consists of a LNA, mixer, IF filter, DSA, and IF amplifier
> for each down conversion path.
> 
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> ---
> V1 -> V2: Removed '|' after description. Specified the pins connected to
>           the GPIOs. Added additionalProperties: false. Changed node name to gpio.
>           Aligned < syntax with the previous syntax in the examples.
> 
>  .../bindings/iio/frequency/adi,admfm2000.yaml | 130 ++++++++++++++++++
>  MAINTAINERS                                   |   7 +
>  2 files changed, 137 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.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:
./Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml:14:5: [warning] wrong indentation: expected 2 but found 4 (indentation)

dtschema/dtc warnings/errors:

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231121100012.112861-1-kimseer.paller@analog.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.
Krzysztof Kozlowski Nov. 21, 2023, 1:04 p.m. UTC | #2
On 21/11/2023 11:00, Kim Seer Paller wrote:
> Dual microwave down converter module with input RF and LO frequency
> ranges from 0.5 to 32 GHz and an output IF frequency range from 0.1 to
> 8 GHz. It consists of a LNA, mixer, IF filter, DSA, and IF amplifier
> for each down conversion path.
> 
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> ---
> V1 -> V2: Removed '|' after description. Specified the pins connected to
>           the GPIOs. Added additionalProperties: false. Changed node name to gpio.

Why? Is this a GPIO? Your bindings title say this is a converter, not a
GPIO.

>           Aligned < syntax with the previous syntax in the examples.
> 
>  .../bindings/iio/frequency/adi,admfm2000.yaml | 130 ++++++++++++++++++
>  MAINTAINERS                                   |   7 +
>  2 files changed, 137 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
> new file mode 100644
> index 000000000000..92a7736c6eeb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
> @@ -0,0 +1,130 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2023 Analog Devices Inc.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/frequency/adi,admfm2000.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ADMFM2000 Dual Microwave Down Converter
> +
> +maintainers:
> +  - Kim Seer Paller <kimseer.paller@analog.com>
> +
> +description:
> +    Dual microwave down converter module with input RF and LO frequency ranges
> +    from 0.5 to 32 GHz and an output IF frequency range from 0.1 to 8 GHz.
> +    It consists of a LNA, mixer, IF filter, DSA, and IF amplifier for each down
> +    conversion path.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - adi,admfm2000
> +
> +  switch1-gpios:
> +    description:
> +      Must contain an array of 2 GPIO specifiers, referring to the GPIO pins

Not much improved here - you still repeat the constraints.

> +      connected to the B15 and B16.
> +    minItems: 2
> +    maxItems: 2

Instead all this:
  items:
    - description: B15 GPIO something something doing something
    - description: B16 GPIO something something doing some switching

> +
> +  switch2-gpios:
> +    description:
> +      Must contain an array of 2 GPIO specifiers, referring to the GPIO pins
> +      connected to the L14 and K14.
> +    minItems: 2
> +    maxItems: 2
> +
> +  attenuation1-gpios:
> +    description:
> +      Must contain an array of 5 GPIO specifiers, referring to the GPIO pins
> +      connected to the C14, C15, C16, D14, and D15.
> +    minItems: 5
> +    maxItems: 5
> +
> +  attenuation2-gpios:
> +    description:
> +      Must contain an array of 5 GPIO specifiers, referring to the GPIO pins
> +      connected to the L15, L16, M14, M15, and M16.
> +    minItems: 5
> +    maxItems: 5
> +
Best regards,
Krzysztof
Kim Seer Paller Nov. 21, 2023, 2:47 p.m. UTC | #3
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Tuesday, November 21, 2023 9:05 PM
> To: Paller, Kim Seer <KimSeer.Paller@analog.com>
> Cc: Jonathan Cameron <jic23@kernel.org>; Lars-Peter Clausen
> <lars@metafoo.de>; Hennerich, Michael <Michael.Hennerich@analog.com>;
> Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley <conor+dt@kernel.org>;
> linux-iio@vger.kernel.org; devicetree@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH v2 1/2] dt-bindings: iio: frequency: add admfm2000
> 
> [External]
> 
> On 21/11/2023 11:00, Kim Seer Paller wrote:
> > Dual microwave down converter module with input RF and LO frequency
> > ranges from 0.5 to 32 GHz and an output IF frequency range from 0.1 to
> > 8 GHz. It consists of a LNA, mixer, IF filter, DSA, and IF amplifier
> > for each down conversion path.
> >
> > Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> > ---
> > V1 -> V2: Removed '|' after description. Specified the pins connected to
> >           the GPIOs. Added additionalProperties: false. Changed node name to
> gpio.
> 
> Why? Is this a GPIO? Your bindings title say this is a converter, not a
> GPIO.

I might have used an incorrect generic name, considering that it utilizes GPIOs 
for controlling both mode and attenuation. What would be the appropriate
name to use in this context?

Thanks,
Kim
Krzysztof Kozlowski Nov. 21, 2023, 3:11 p.m. UTC | #4
On 21/11/2023 15:47, Paller, Kim Seer wrote:
> 
> 
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Sent: Tuesday, November 21, 2023 9:05 PM
>> To: Paller, Kim Seer <KimSeer.Paller@analog.com>
>> Cc: Jonathan Cameron <jic23@kernel.org>; Lars-Peter Clausen
>> <lars@metafoo.de>; Hennerich, Michael <Michael.Hennerich@analog.com>;
>> Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
>> <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley <conor+dt@kernel.org>;
>> linux-iio@vger.kernel.org; devicetree@vger.kernel.org; linux-
>> kernel@vger.kernel.org
>> Subject: Re: [PATCH v2 1/2] dt-bindings: iio: frequency: add admfm2000
>>
>> [External]
>>
>> On 21/11/2023 11:00, Kim Seer Paller wrote:
>>> Dual microwave down converter module with input RF and LO frequency
>>> ranges from 0.5 to 32 GHz and an output IF frequency range from 0.1 to
>>> 8 GHz. It consists of a LNA, mixer, IF filter, DSA, and IF amplifier
>>> for each down conversion path.
>>>
>>> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
>>> ---
>>> V1 -> V2: Removed '|' after description. Specified the pins connected to
>>>           the GPIOs. Added additionalProperties: false. Changed node name to
>> gpio.
>>
>> Why? Is this a GPIO? Your bindings title say this is a converter, not a
>> GPIO.
> 
> I might have used an incorrect generic name, considering that it utilizes GPIOs 
> for controlling both mode and attenuation. What would be the appropriate
> name to use in this context?

git grep @ -- Documentation/devictree/bindings/iio/frequency

I would go with converter.

Best regards,
Krzysztof
kernel test robot Nov. 21, 2023, 10:52 p.m. UTC | #5
Hi Kim,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 98b1cc82c4affc16f5598d4fa14b1858671b2263]

url:    https://github.com/intel-lab-lkp/linux/commits/Kim-Seer-Paller/iio-frequency-admfm2000-New-driver/20231121-180427
base:   98b1cc82c4affc16f5598d4fa14b1858671b2263
patch link:    https://lore.kernel.org/r/20231121100012.112861-1-kimseer.paller%40analog.com
patch subject: [PATCH v2 1/2] dt-bindings: iio: frequency: add admfm2000
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231122/202311220624.J7Nqg5h1-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311220624.J7Nqg5h1-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml:14:5: [warning] wrong indentation: expected 2 but found 4 (indentation)

vim +14 Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml

     9	
    10	maintainers:
    11	  - Kim Seer Paller <kimseer.paller@analog.com>
    12	
    13	description:
  > 14	    Dual microwave down converter module with input RF and LO frequency ranges
    15	    from 0.5 to 32 GHz and an output IF frequency range from 0.1 to 8 GHz.
    16	    It consists of a LNA, mixer, IF filter, DSA, and IF amplifier for each down
    17	    conversion path.
    18	
    19	properties:
    20	  compatible:
    21	    enum:
    22	      - adi,admfm2000
    23	
    24	  switch1-gpios:
    25	    description:
    26	      Must contain an array of 2 GPIO specifiers, referring to the GPIO pins
    27	      connected to the B15 and B16.
    28	    minItems: 2
    29	    maxItems: 2
    30	
    31	  switch2-gpios:
    32	    description:
    33	      Must contain an array of 2 GPIO specifiers, referring to the GPIO pins
    34	      connected to the L14 and K14.
    35	    minItems: 2
    36	    maxItems: 2
    37	
    38	  attenuation1-gpios:
    39	    description:
    40	      Must contain an array of 5 GPIO specifiers, referring to the GPIO pins
    41	      connected to the C14, C15, C16, D14, and D15.
    42	    minItems: 5
    43	    maxItems: 5
    44	
    45	  attenuation2-gpios:
    46	    description:
    47	      Must contain an array of 5 GPIO specifiers, referring to the GPIO pins
    48	      connected to the L15, L16, M14, M15, and M16.
    49	    minItems: 5
    50	    maxItems: 5
    51	
    52	  '#address-cells':
    53	    const: 1
    54	
    55	  '#size-cells':
    56	    const: 0
    57	
    58	patternProperties:
    59	  "^channel@[0-1]$":
    60	    type: object
    61	    description: Represents a channel of the device.
    62	
    63	    additionalProperties: false
    64	
    65	    properties:
    66	      reg:
    67	        description:
    68	          The channel number.
    69	        minimum: 0
    70	        maximum: 1
    71	
    72	      adi,mode:
    73	        description:
    74	          RF path selected for the channel.
    75	            0 - Direct IF mode
    76	            1 - Mixer mode
    77	        $ref: /schemas/types.yaml#/definitions/uint32
    78	        enum: [0, 1]
    79	
    80	    required:
    81	      - reg
    82	      - adi,mode
    83	
    84	required:
    85	  - compatible
    86	  - switch1-gpios
    87	  - switch2-gpios
    88	  - attenuation1-gpios
    89	  - attenuation2-gpios
    90
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
new file mode 100644
index 000000000000..92a7736c6eeb
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
@@ -0,0 +1,130 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright 2023 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/frequency/adi,admfm2000.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ADMFM2000 Dual Microwave Down Converter
+
+maintainers:
+  - Kim Seer Paller <kimseer.paller@analog.com>
+
+description:
+    Dual microwave down converter module with input RF and LO frequency ranges
+    from 0.5 to 32 GHz and an output IF frequency range from 0.1 to 8 GHz.
+    It consists of a LNA, mixer, IF filter, DSA, and IF amplifier for each down
+    conversion path.
+
+properties:
+  compatible:
+    enum:
+      - adi,admfm2000
+
+  switch1-gpios:
+    description:
+      Must contain an array of 2 GPIO specifiers, referring to the GPIO pins
+      connected to the B15 and B16.
+    minItems: 2
+    maxItems: 2
+
+  switch2-gpios:
+    description:
+      Must contain an array of 2 GPIO specifiers, referring to the GPIO pins
+      connected to the L14 and K14.
+    minItems: 2
+    maxItems: 2
+
+  attenuation1-gpios:
+    description:
+      Must contain an array of 5 GPIO specifiers, referring to the GPIO pins
+      connected to the C14, C15, C16, D14, and D15.
+    minItems: 5
+    maxItems: 5
+
+  attenuation2-gpios:
+    description:
+      Must contain an array of 5 GPIO specifiers, referring to the GPIO pins
+      connected to the L15, L16, M14, M15, and M16.
+    minItems: 5
+    maxItems: 5
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 0
+
+patternProperties:
+  "^channel@[0-1]$":
+    type: object
+    description: Represents a channel of the device.
+
+    additionalProperties: false
+
+    properties:
+      reg:
+        description:
+          The channel number.
+        minimum: 0
+        maximum: 1
+
+      adi,mode:
+        description:
+          RF path selected for the channel.
+            0 - Direct IF mode
+            1 - Mixer mode
+        $ref: /schemas/types.yaml#/definitions/uint32
+        enum: [0, 1]
+
+    required:
+      - reg
+      - adi,mode
+
+required:
+  - compatible
+  - switch1-gpios
+  - switch2-gpios
+  - attenuation1-gpios
+  - attenuation2-gpios
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    gpio {
+      compatible = "adi,admfm2000";
+
+      switch1-gpios = <&gpio 1 GPIO_ACTIVE_LOW>,
+                      <&gpio 2 GPIO_ACTIVE_HIGH>;
+
+      switch2-gpios = <&gpio 3 GPIO_ACTIVE_LOW>,
+                      <&gpio 4 GPIO_ACTIVE_HIGH>;
+
+      attenuation1-gpios = <&gpio 17 GPIO_ACTIVE_LOW>,
+                           <&gpio 22 GPIO_ACTIVE_LOW>,
+                           <&gpio 23 GPIO_ACTIVE_LOW>,
+                           <&gpio 24 GPIO_ACTIVE_LOW>,
+                           <&gpio 25 GPIO_ACTIVE_LOW>;
+
+      attenuation2-gpios = <&gpio 0 GPIO_ACTIVE_LOW>,
+                           <&gpio 5 GPIO_ACTIVE_LOW>,
+                           <&gpio 6 GPIO_ACTIVE_LOW>,
+                           <&gpio 16 GPIO_ACTIVE_LOW>,
+                           <&gpio 26 GPIO_ACTIVE_LOW>;
+
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      channel@0 {
+        reg = <0>;
+        adi,mode = <1>;
+      };
+
+      channel@1 {
+        reg = <1>;
+        adi,mode = <1>;
+      };
+    };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index ea790149af79..a5d18864519e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1247,6 +1247,13 @@  W:	https://ez.analog.com/linux-software-drivers
 F:	Documentation/devicetree/bindings/hwmon/adi,adm1177.yaml
 F:	drivers/hwmon/adm1177.c
 
+ANALOG DEVICES INC ADMFM2000 DRIVER
+M:	Kim Seer Paller <kimseer.paller@analog.com>
+L:	linux-iio@vger.kernel.org
+S:	Supported
+W:	https://ez.analog.com/linux-software-drivers
+F:	Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
+
 ANALOG DEVICES INC ADMV1013 DRIVER
 M:	Antoniu Miclaus <antoniu.miclaus@analog.com>
 L:	linux-iio@vger.kernel.org