On Fri, Jan 19, 2024 at 09:20:01AM +0100, Nuno Sá wrote: > Hi Kim, > > On Fri, 2024-01-19 at 00:30 +0000, Paller, Kim Seer wrote: > > > -----Original Message----- > > > From: Conor Dooley <conor@xxxxxxxxxx> > > > Sent: Friday, January 19, 2024 12:10 AM > > > To: Paller, Kim Seer <KimSeer.Paller@xxxxxxxxxx> > > > Cc: linux-iio@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux- > > > kernel@xxxxxxxxxxxxxxx; Jonathan Cameron <jic23@xxxxxxxxxx>; Lars-Peter > > > Clausen <lars@xxxxxxxxxx>; Hennerich, Michael > > > <Michael.Hennerich@xxxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; > > > Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>; Conor Dooley > > > <conor+dt@xxxxxxxxxx>; Crt Mori <cmo@xxxxxxxxxxx>; Linus Walleij > > > <linus.walleij@xxxxxxxxxx>; Bartosz Golaszewski <brgl@xxxxxxxx> > > > Subject: Re: [PATCH v6 1/2] dt-bindings: iio: frequency: add admfm2000 > > > > > > [External] > > > > > > Hey, > > > > > > On Thu, Jan 18, 2024 at 04:58:55PM +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@xxxxxxxxxx> > > > > --- > > > > V5 -> V6: Moved array of switch and attenuation GPIOs to the channel node. > > > > Changed pin coords with friendly names. Removed Reviewed-by tag. > > > > V4 -> V5: Added Reviewed-by tag. > > > > V3 -> V4: Updated the description of the properties with multiple entries and > > > > defined the order. > > > > V2 -> V3: Adjusted indentation to resolve wrong indentation warning. > > > > Changed node name to converter. Updated the descriptions to clarify > > > > the properties. > > > > 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 | 129 ++++++++++++++++++ > > > > MAINTAINERS | 7 + > > > > 2 files changed, 136 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..6f2c91c38666 > > > > --- /dev/null > > > > +++ > > > b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml > > > > @@ -0,0 +1,129 @@ > > > > +# 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@xxxxxxxxxx> > > > > + > > > > +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 > > > > + > > > > + '#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] > > > > > > How come this is an enum, rather than a boolean property such as > > > "adi,mixer-mode"? > > > > I used an enum, perhaps because it was easier to implement. However, this > > could be changed if a boolean property might be more suitable in this case. > > Is that the preferred option? > > > > Hmmm, How is the enum easier than a boolean property :)? I guess the device has a > default mode. So, if it is Direct IF mode you have 'adi,mixer-mode' to enable that > mode and that's it. So the code is pretty much just: > > if (device_property_read_bool()) { device_property_present() is preferred I think. > /* enable mixer mode */ > } > > Also remember that from a bindings point of view being easier to implement or not in > the driver does not matter much. Take for an example, properties with well know units > like 'microamp'. It would be much easier to just have an enum with the device > register values but that's not how we should do it since it wouldn't be intuitive at > all for people reading devicetrees. > > - Nuno Sá >
Attachment:
signature.asc
Description: PGP signature