I/O Expander
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).
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 |
---|---|
I/O Expander core driver |
|
I/O Expander I2C communication driver |
|
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: