On 03/04/2024 18:22, David Lechner wrote: > On Wed, Apr 3, 2024 at 2:50 AM Ceclan, Dumitru <mitrutzceclan@xxxxxxxxx> wrote: >> On 02/04/2024 00:16, David Lechner wrote: >>> On Mon, Apr 1, 2024 at 2:37 PM David Lechner <dlechner@xxxxxxxxxxxx> wrote: >>>> On Mon, Apr 1, 2024 at 10:10 AM Dumitru Ceclan via B4 Relay >>>> <devnull+dumitru.ceclan.analog.com@xxxxxxxxxx> wrote: >>>>> From: Dumitru Ceclan <dumitru.ceclan@xxxxxxxxxx> >>>>> >> ... >> >>>>> properties: >>>>> reg: >>>>> + description: >>>>> + Reg values 16-19 are only permitted for ad4111/ad4112 current channels. >>>>> minimum: 0 >>>>> - maximum: 15 >>>>> + maximum: 19 >>>> This looks wrong. Isn't reg describing the number of logical channels >>>> (# of channel config registers)? >>>> >>>> After reviewing the driver, I see that > 16 is used as a way of >>>> flagging current inputs, but still seems like the wrong way to do it. >>>> See suggestion below. >>>> >>>>> diff-channels: >>>>> + description: >>>>> + For using current channels specify only the positive channel. >>>>> + (IIN2+, IIN2−) -> diff-channels = <2 0> >>>> I find this a bit confusing since 2 is already VIN2 and 0 is already >>>> VIN0. I think it would make more sense to assign unique channel >>>> numbers individually to the negative and positive current inputs. >>>> Also, I think it makes sense to use the same numbers that the >>>> registers in the datasheet use (8 - 11 for negative and 12 to 15 for >>>> positive). >>>> >>>> So: (IIN2+, IIN2−) -> diff-channels = <13 10> >>> Thinking about this a bit more... >>> >>> Since the current inputs have dedicated pins and aren't mix-and-match >>> with multiple valid wiring configurations like the voltage inputs, do >>> we even need to describe them in the devicetree? >>> >>> In the driver, the current channels would just be hard-coded like the >>> temperature channel since there isn't any application-specific >>> variation. >> Sure, but we still need to offer the user a way to configure which >> current inputs he wants and if they should use bipolar or unipolar coding. > From the datasheet, it looks like only positive current input is > allowed so I'm not sure bipolar applies here. But, yes, if there is > some other variation in wiring or electrical signal that needs to be > describe here, then it makes sense to allow a channel configuration > node for it. AD4111 datasheet pg.29: When the ADC is configured for bipolar operation, the output code is offset binary with a negative full-scale voltage resulting in a code of 000 … 000, a zero differential input voltage resulting in a code of 100 … 000, and a positive full-scale input voltage resulting in a code of 111 … 111. The output code for any analog input voltage can be represented as Code = 2^(N – 1) × ((V_IN × 0.1/V REF) + 1) The output code for any input current is represented as Code = 2^(N − 1) × ((I_IN × 50 Ω/V REF) + 1) I would say bipolar applies here, not a great idea because of the limitation on the negative side (Input Current Range min:−0.5 max:+24 mA) so still, the option is available.