On Fri, Aug 23, 2024 at 12:09 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote: > > On 21/08/2024 22:26, Jonathan Cameron wrote: > > > >>>> + type: object > >>>> + $ref: adc.yaml > >>>> + unevaluatedProperties: false > >>>> + > >>>> + properties: > >>>> + reg: > >>>> + description: The channel number. > >>>> + minimum: 0 > >>>> + maximum: 7 > >>>> + > >>>> + diff-channel: > >>>> + description: Channel is bipolar differential. > >>> > >>> There is diff-channels property, why do we need one more? > >> > >> Yeah, I wanted to use that. > >> Maybe I will try another spin at that. > >> The thing with "diff-channels" is that it requires 2 ints. > >> So, diff-channels = <0 0>. > >> To use it here, a rule would need to be put in place where "reg == > >> diff-channels[0] && reg == diff-channels[1]". > >> That also works from my side. > >> Part of the reason for this patchset, was to also get some feedback > >> (if this is the correct direction). > >> > > So I 'think' this is a datasheet matching thing. > > In many cases, even for strictly differential devices, the pin > > naming allows for a clear A - B channel description. Here > > in the non differential modes, the negative pins are effectively > > not used (from a really quick look at the datasheet) > > > > So we 'could' introduce magic channels (give them high numbers) for > > the negative ends. I think we may want to do that for the > > userspace ABI (0-0 on the few times it has come up has been a > > calibration / self check mode not what you have here - it > > wires the actual inputs together). Alternative is just present > > them as a simple voltage and don't worry about the differential aspect > > as it's not hugely different to bipolar (where the zero level is > > effectively the negative input of a differential ADC. > > > > For the binding I'm fine with the binding using A, A as you suggest > > with an update to adc.yaml to cover this corner. The main difference the "diff-channels" property brings is a change to the available scales. They differ a bit between differential, and single-ended (unipolar and bipolar). I'll update the adc.yaml file then. > > Yep, let's add it to adc.yaml. > > > > > We never (I think) have bindings for the self check case where the input > > is wired to both sides. It's just a mode that is applied to > > any inputs that are wired. > > > Best regards, > Krzysztof >