On Sat, 2022-11-12 at 15:40 +0000, Jonathan Cameron wrote: > > > > > > > + $ref: /schemas/types.yaml#/definitions/uint32 > > > > + description: | > > > > + Conversion range for ADC conversion 2. > > > > + 0 - 0V to 12V > > > > + 1 - -12V to +12V > > > > + 2 - -2.5V to +2.5V > > > > + 3 - -2.5V to 0V > > > > + 4 - 0V to 2.5V > > > > + 5 - 0V to 0.625V > > > > + 6 - -104mV to +104mV > > > > + 7 - 0V to 12V > > > > > > For a lot of similar cases we handle these numerically to give > > > a human readable dts. Is there a strong reason not to do so here (in mv) > > > > > > > I used this approach mostly because it maps dirrectly to register values > > and because it's easier to parse. dts isn't exactly nice at handling > > negative values. I can switch it to mv array if you insist. > > We have quite a few existing cases of > adi,[output-]range-microvolt so it would be good to copy that style here. > With this: adi,conv2-range-microvolt: description: Conversion range for ADC conversion 2. oneOf: - items: - enum: [-2500000, 0] - const: 2500000 - items: - enum: [-12000000, 0] - const: 12000000 - items: - const: -2500000 - const: 0 - items: - const: -104000 - const: 104000 - items: - const: 0 - const: 625000 And this: adi,conv2-range-microvolt = <(-12000000) 12000000>; I get this: Documentation/devicetree/bindings/iio/addac/adi,ad74115.example.dtb: addac@0: adi,conv2-range-microvolt: 'oneOf' conditional failed, one must be fixed: 4282967296 is not one of [-2500000, 0] 4282967296 is not one of [-12000000, 0] -2500000 was expected -104000 was expected 625000 was expected From schema: Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml As I said, negative numbers don't play too nice... > > > > > > > > > + minimum: 0 > > > > + maximum: 7 > > > > + default: 0 > > > > +