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

Krzysztof Kozlowski
2025-02-26T21:22:10Z

On 26/02/2025 18:10, Sam Winchenbach wrote:
> 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@framepointer.org>
>>> ---
>>> .../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

You mean you can set only low or high pass and keep other as default?
But what is the default then - something from reset value or "0" means
disabled?

> 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

Tricky to say without seeing your code. Magic crystal ball had
malfunction today.

Best regards,
Krzysztof