Show Contents

# I/O Expander

Note This section contains Linux BSP documentation for kernel v4.1. Click here for v4.9 BSP documentation.

The ConnectCore 6UL SBC Pro has an I/O Expander IC connected to the CC6UL SoM through the I2C1 port. This IC provides GPIO and ADC functionalities through a multi-function device driver (MFD).

To program a blank I/O Expander for the first time, see

## Kernel configuration

You can manage the I/O Expander driver support through the following kernel configuration option:

- Digi IO Expander (CONFIG_MFD_MCA_IOEXP)

## Platform driver mapping

The Digi I/O Expander core driver is located at:

File | Description
--- | ---
drivers/mfd/mca-ioexp-core.c | I/O Expander core driver
drivers/mfd/mca-ioexp-i2c.c | I/O Expander I2C communication driver
drivers/mfd/mca-ioexp-irq.c | I/O Expander MCA interrupt driver

## Device tree bindings and customization

The I/O Expander device tree binding is documented at Documentation/devicetree/bindings/mfd/digi,mca-ioexp.txt.

The I/O Expander is connected through I2C1 port of the CC6UL SoM. Note that its device tree node has one sub-node for the GPIO driver and one for the ADC.

    &i2c1 {
        mca_ioexp: mca_io@6e {
            compatible = "digi,mca_ioexp";
            reg = <0x6e>;
            interrupt-parent = <&mca_gpio>;
            interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
            status = "okay";

            interrupt-controller;
            #interrupt-cells = <2>;
            pinctrl-names = "default";

            restore-config-on-resume;

            mca_ioexp_gpio: gpio {
                compatible = "digi,mca-ioexp-gpio";
                gpio-controller;
                #gpio-cells = <2>;

                interrupt-parent = <&mca_ioexp>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            mca_ioexp_adc: adc {
                compatible = "digi,mca-ioexp-adc";
                digi,adc-vref = <3300000>;
            };
        };

    };

## Functionality

See the following topics to learn more about the functionality offered by the MCA:

- Analog-to-Digital Converter (ADC)
- I/O Expander GPIO

© 2018 Digi International Inc. All rights reserved.
I/O Expander updated on 22 January 2018 02:43:37 PM