Adding external gpio expender


I am connecting via I2C an external GPIO expender (sx1509), I am using the mangoH red

the driver fails to register GPIO:

dmesg | grep sx

[ 0.396522] gpiochip_add: GPIOs 2000…2015 (sx1509q) failed to register
[ 0.396557] sx150x: probe of 4-003e failed with error -22

as I understand it this is due to specific kernel implementation of Sierra

if I do not require access to the GPIO (not any of them including the “native” ones) via Legato, but userspace standard access suffice, how can I enable the sx1509q to properlly create the sysfs entries and be available via userspace ?

Which WP module are you using?

Which Sierra Wireless firmware release are you building on?

Where is your SX1509 GPIO expander physically connected to the mangOH Red? There is already an on-board SX1509 connected downstream of port 2 of the TCA9546A I2C switch and this expander uses address 0x3E. So in order to avoid address conflicts, your expander must either use an address that isn’t already in use or be placed on a different port of the I2C switch so that it doesn’t conflict with the existing GPIO expander.

  1. model wp76xx
  2. I am using my custom board with the sx1509, it’s on the same address.
  3. actually for simplicity, lets refer to the mangoH red board, lets say I would like to control the SX1509 from userspace as standard GPIO, and I am willing to give up the support for those pins via Legato, how can I accomplish that ?

thank you

Issue resolved

I found the chip max GPIO number limitation, once I modified GPIO_BASE number of the driver to be less then this number driver is uploaded OK