Linux-Kernel-Sensor-Drivers

Linux sensor drivers for ROHM / Kionix™ sensors

Driver Index

This project is maintained by RohmSemiconductor

Kionix™ is a trademark or a registered trademark of ROHM Co., Ltd.

ROHM BD79124 Analog to Digital Converter (ADC)

The ROHM BD79124 ADC is a 8-channel, 12-bit ADC which is controlled over I2C. It supports voltage monitoring and voltage out-of-window interrupts. In addition to the ADC the ADC input pins can be configured to be used as general purpose outputs.

Resources

Linux Driver:

Source Code:

The ROHM Finland SWDC has created a Linux driver in collaboration with the Linux kernel community. Driver is included in the Upstream Linux from v6.16-rc1 onwards.

The driver supports reading the ADC channels and configuring the voltage limits via Linux IIO subsystem. Over/under voltage will be notified using IIO events. Rest of the pins are exposed as GPOs via the Linux GPIO subsystem. Pins are configured as ADC or GPO using devicetree.

Linux subsystem:

IIO (Industrial input/output)

Devicetree example:

    i2c {
        clock-frequency = <100000>;
        status = "okay";

        adc: adc@10 {
            #gpio-cells = <2>;

            compatible = "rohm,bd79124";
            reg = <0x10>;
            interrupt-parent = <&gpio1>;
            interrupts = <29 8>;
            vdd-supply = <&dummyreg>; 
            iovdd-supply = <&dummyreg>;
            gpio-controller;

            /* Channels which aren't listed here will be used as GPOs */
            channel@0 {
                reg = <0>;
            };
            channel@1 {
                reg = <1>;
            };
            channel@2 {
                reg = <2>;
            };
            channel@3 {
                reg = <3>;
            };
            channel@4 {
                reg = <4>;
            };
            channel@5 {
                reg = <5>;
            };
            channel@6 {
                reg = <6>;
            };
        };
    }