On Thu, 22 Aug 2019 16:52:33 +0200 Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > This adds the IIO channels for the GPADC after converting it > to using the standard IIO ADC bindings and moving the driver > over to the IIO subsystem. We also add IIO hwmon standard > driver node to support reading channels in a standard manner. > > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> I'll ask the 'stupid' question. Doesn't this break compatibility with old DTs? One comment inline to do with IIO standardization that occurred in the meantime. Thanks, Jonathan > --- > ChangeLog v1->v2: > - Rebased on v5.3-rc5 > --- > arch/arm/boot/dts/ste-dbx5x0.dtsi | 102 +++++++++++++++++++++++++++++- > 1 file changed, 101 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/ste-dbx5x0.dtsi b/arch/arm/boot/dts/ste-dbx5x0.dtsi > index b1a31134f860..80016521333b 100644 > --- a/arch/arm/boot/dts/ste-dbx5x0.dtsi > +++ b/arch/arm/boot/dts/ste-dbx5x0.dtsi > @@ -52,6 +52,20 @@ > }; > }; > > + /* Essential housekeeping hardware monitors */ > + iio-hwmon { > + compatible = "iio-hwmon"; > + io-channels = <&gpadc 0x02>, /* Battery temperature */ > + <&gpadc 0x03>, /* Main charger voltage */ > + <&gpadc 0x08>, /* Main battery voltage */ > + <&gpadc 0x09>, /* VBUS */ > + <&gpadc 0x0a>, /* Main charger current */ > + <&gpadc 0x0b>, /* USB charger current * > + <&gpadc 0x0c>, /* Backup battery voltage */ > + <&gpadc 0x0d>, /* Die temperature */ > + <&gpadc 0x12>; /* Crystal temperature */ > + }; > + > soc { > #address-cells = <1>; > #size-cells = <1>; > @@ -623,12 +637,84 @@ > interrupt-names = "60S", "ALARM"; > }; > > - ab8500-gpadc { > + gpadc: ab8500-gpadc { > compatible = "stericsson,ab8500-gpadc"; > interrupts = <32 IRQ_TYPE_LEVEL_HIGH > 39 IRQ_TYPE_LEVEL_HIGH>; > interrupt-names = "HW_CONV_END", "SW_CONV_END"; > vddadc-supply = <&ab8500_ldo_tvout_reg>; > + #address-cells = <1>; > + #size-cells = <0>; > + #io-channel-cells = <1>; > + > + /* GPADC channels */ > + bat_ctrl: adc-channel@01 { > + reg = <0x01>; We standardised recently on just channel@01 etc Curiously we didn't document a reg value for that in the shared doc but we have used them in drivers so that is fine. > + }; > + btemp_ball: adc-channel@02 { > + reg = <0x02>; > + }; > + main_charger_v: adc-channel@03 { > + reg = <0x03>; > + }; > + acc_detect1: adc-channel@04 { > + reg = <0x04>; > + }; > + acc_detect2: adc-channel@05 { > + reg = <0x05>; > + }; > + adc_aux1: adc-channel@06 { > + reg = <0x06>; > + }; > + adc_aux2: adc-channel@07 { > + reg = <0x07>; > + }; > + main_batt_v: adc-channel@08 { > + reg = <0x08>; > + }; > + vbus_v: adc-channel@09 { > + reg = <0x09>; > + }; > + main_charger_c: adc-channel@0a { > + reg = <0x0a>; > + }; > + usb_charger_c: adc-channel@0b { > + reg = <0x0b>; > + }; > + bk_bat_v: adc-channel@0c { > + reg = <0x0c>; > + }; > + die_temp: adc-channel@0d { > + reg = <0x0d>; > + }; > + usb_id: adc-channel@0e { > + reg = <0x0e>; > + }; > + xtal_temp: adc-channel@12 { > + reg = <0x12>; > + }; > + vbat_true_meas: adc-channel@13 { > + reg = <0x13>; > + }; > + bat_ctrl_and_ibat: adc-channel@1c { > + reg = <0x1c>; > + }; > + vbat_meas_and_ibat: adc-channel@1d { > + reg = <0x1d>; > + }; > + vbat_true_meas_and_ibat: adc-channel@1e { > + reg = <0x1e>; > + }; > + bat_temp_and_ibat: adc-channel@1f { > + reg = <0x1f>; > + }; > + }; > + > + ab8500_temp { > + compatible = "stericsson,abx500-temp"; > + io-channels = <&gpadc 0x06>, > + <&gpadc 0x07>; > + io-channel-name = "aux1", "aux2"; > }; > > ab8500_battery: ab8500_battery { > @@ -639,17 +725,31 @@ > ab8500_fg { > compatible = "stericsson,ab8500-fg"; > battery = <&ab8500_battery>; > + io-channels = <&gpadc 0x08>; > + io-channel-name = "main_bat_v"; > }; > > ab8500_btemp { > compatible = "stericsson,ab8500-btemp"; > battery = <&ab8500_battery>; > + io-channels = <&gpadc 0x02>, > + <&gpadc 0x01>; > + io-channel-name = "btemp_ball", > + "bat_ctrl"; > }; > > ab8500_charger { > compatible = "stericsson,ab8500-charger"; > battery = <&ab8500_battery>; > vddadc-supply = <&ab8500_ldo_tvout_reg>; > + io-channels = <&gpadc 0x03>, > + <&gpadc 0x0a>, > + <&gpadc 0x09>, > + <&gpadc 0x0b>; > + io-channel-name = "main_charger_v", > + "main_charger_c", > + "vbus_v", > + "usb_charger_c"; > }; > > ab8500_chargalg {