Re: [PATCH v4 2/2] dt-bindings: iio: filter: Add lpf/hpf freq margins

From: Sam Winchenbach
Date: Wed Feb 26 2025 - 12:14:36 EST


On Wed, Feb 26, 2025 at 09:03:13AM +0100, Krzysztof Kozlowski wrote:
> On Tue, Feb 25, 2025 at 08:46:12AM -0500, Sam Winchenbach wrote:
> > Adds two properties to add a margin when automatically finding the
> > corner frequencies.
> >
> > Signed-off-by: Sam Winchenbach <sam.winchenbach@xxxxxxxxxxxxxxxx>
> > ---
> > .../bindings/iio/filter/adi,admv8818.yaml | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
>
> Bindings are before users (see DT submitting patches), so this should be
> re-ordered.
>
> >
> > diff --git a/Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml b/Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
> > index b77e855bd594..2acdbd8d84cb 100644
> > --- a/Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
> > +++ b/Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
> > @@ -44,6 +44,18 @@ properties:
> > '#clock-cells':
> > const: 0
> >
> > + adi,lpf-margin-hz:
> > + description:
> > + Sets minimum low-pass corner frequency to the frequency of rf_in plus
> > + this value when in auto mode.
> > + default: 0
> > +
> > + adi,hpf-margin-hz:
> > + description:
> > + Sets maximum high-pass corner frequency to the frequency of rf_in minus
> > + this value when in auto mode.
>
> IIUC, these are two bounds - lower and upper - in relation to something
> else (like rf_in frequency)? If so, make it an array (naming to be
> discuss, I assume you know better what's that):

It is true that these are both related to rf_in but both the low and high pass
filters can operate independently. Logically, IMO, it makes more sense to have
them as separate controls but I am happy to put them into an array if that is
the idiomatic approach to situations like this. That said, I am having a
difficult time getting dt_binding_check to pass when I have an array of uint64.

When listing two items, as in your example below, I get the following:
adi,admv8818.example.dtb: admv8818@0: adi,filter-margins-hz: [[0, 30000000], [0, 30000000]] is too long

I have tried specifying the scheme for each item, setting minItems/maxItems.

Any advice on this would be appreciated.
Thanks.

>
> adi,filter-margin-hz:
> items:
> - description: low-pass corner frequency to the freq.....
> minimum: xxxx?
> maximum: xxxx?
> default: 0
> - description: high-pass ....
> minimum: xxxx?
> maximum: xxxx?
> default: 0
>
> Best regards,
> Krzysztof
>