Microchip MCP2308/MCP23S08/MCP23017/MCP23S17 driver for
8-/16-bit I/O expander with serial interface (I2C/SPI)

Required properties:
- compatible : Should be
    - "mcp,mcp23s08" (DEPRECATED) for  8 GPIO SPI version
    - "mcp,mcp23s17" (DEPRECATED) for 16 GPIO SPI version
    - "mcp,mcp23008" (DEPRECATED) for  8 GPIO I2C version or
    - "mcp,mcp23017" (DEPRECATED) for 16 GPIO I2C version of the chip

    - "microchip,mcp23s08" for  8 GPIO SPI version
    - "microchip,mcp23s17" for 16 GPIO SPI version
    - "microchip,mcp23008" for  8 GPIO I2C version or
    - "microchip,mcp23017" for 16 GPIO I2C version of the chip
    NOTE: Do not use the old mcp prefix any more. It is deprecated and will be
    removed.
- #gpio-cells : Should be two.
  - first cell is the pin number
  - second cell is used to specify flags. Flags are currently unused.
- gpio-controller : Marks the device node as a GPIO controller.
- reg : For an address on its bus. I2C uses this a the I2C address of the chip.
        SPI uses this to specify the chipselect line which the chip is
        connected to. The driver and the SPI variant of the chip support
        multiple chips on the same chipselect. Have a look at
        microchip,spi-present-mask below.

Required device specific properties (only for SPI chips):
- mcp,spi-present-mask (DEPRECATED)
- microchip,spi-present-mask : This is a present flag, that makes only sense for SPI
        chips - as the name suggests. Multiple SPI chips can share the same
        SPI chipselect. Set a bit in bit0-7 in this mask to 1 if there is a
        chip connected with the corresponding spi address set. For example if
        you have a chip with address 3 connected, you have to set bit3 to 1,
        which is 0x08. mcp23s08 chip variant only supports bits 0-3. It is not
        possible to mix mcp23s08 and mcp23s17 on the same chipselect. Set at
        least one bit to 1 for SPI chips.
    NOTE: Do not use the old mcp prefix any more. It is deprecated and will be
    removed.
- spi-max-frequency = The maximum frequency this chip is able to handle

Optional properties:
- #interrupt-cells : Should be two.
  - first cell is the pin number
  - second cell is used to specify flags.
- interrupt-controller: Marks the device node as a interrupt controller.
NOTE: The interrupt functionality is only supported for i2c versions of the
chips. The spi chips can also do the interrupts, but this is not supported by
the linux driver yet.

Optional device specific properties:
- microchip,irq-mirror: Sets the mirror flag in the IOCON register. Devices
        with two interrupt outputs (these are the devices ending with 17 and
        those that have 16 IOs) have two IO banks: IO 0-7 form bank 1 and
        IO 8-15 are bank 2. These chips have two different interrupt outputs:
        One for bank 1 and another for bank 2. If irq-mirror is set, both
        interrupts are generated regardless of the bank that an input change
        occurred on. If it is not set, the interrupt are only generated for the
        bank they belong to.
        On devices with only one interrupt output this property is useless.
- microchip,irq-active-high: Sets the INTPOL flag in the IOCON register. This
        configures the IRQ output polarity as active high.

Example I2C (with interrupt):
gpiom1: gpio@20 {
        compatible = "microchip,mcp23017";
        gpio-controller;
        #gpio-cells = <2>;
        reg = <0x20>;

        interrupt-parent = <&gpio1>;
        interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
        interrupt-controller;
        #interrupt-cells=<2>;
        microchip,irq-mirror;
};

Example SPI:
gpiom1: gpio@0 {
        compatible = "microchip,mcp23s17";
        gpio-controller;
        #gpio-cells = <2>;
        spi-present-mask = <0x01>;
        reg = <0>;
        spi-max-frequency = <1000000>;
};
