Linux sensor drivers for ROHM / Kionix™ sensors
This project is maintained by RohmSemiconductor
Kionix™ is a trademark or a registered trademark of ROHM Co., Ltd.
The ROHM BD79105 ADC is a single-channel, 16-bit ADC which can be read over SPI.
Being upstreamed. See Patches.
Upstream driver is currently expected to land in Linux v6.18
The driver supports reading the ADC channels via the Linux IIO subsystem.
IIO (Industrial input/output)
Below is an example of simple data capture from an ADC, obtained using the IIO.
1: Find the right IIO device based on the device name.
root@arm:/home/debian# grep -RIl bd79105 /sys/bus/iio/devices/*/name
/sys/bus/iio/devices/iio:device0/name
root@arm:/home/debian#
In the example above:
2: Read the ADC scale which is a multiplier to convert the read raw values to millivolts:
root@arm:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage_scale
0.805664062
root@arm:~#
3: Read one-shot data for a channel 0 from :
root@arm:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
2230
root@arm:~#
4: scale values to milli Volts:
Apply scale by multiplying the value with scale:
root@arm:~# echo "2230 * 0.805664062" |bc -l
1796.630858260
root@arm:~#
spi {
#address-cells = <1>;
#size-cells = <0>;
adc@0 {
compatible = rohm,bd79105;
reg = <0>;
spi-max-frequency = <66600000>;
vcc-supply = <&vcc>;
vref-supply = <&vref>;
vdrive-supply = <&vdrive>;
};
};
Where,