Give Static numbers to GPIOs of each I2C expander

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Give Static numbers to GPIOs of each I2C expander

811 Views
Anks3110
Contributor I

Hello,

I have connected three I2C based GPIO expanders with my CPU board. GPIO511 to GPIO496 populated for Expander1, GPIO495 to GPIO480 populated for Expander2, and GPIO479 to GPIO464 are populated for Expander3.

e.g
- IO expander1 : GPIO511 to GPIO496
- IO expander2 : GPIO495 to GPIO480
- IO expander3 : GPIO479 to GPIO464

I have seen those GPIO at location : /sys/class/gpio/

All the things are working fine and I am able to operate each GPIO.

But, when I remove IO Expander IC 2 from the I2C bus, Linux gives the GPIO ID [GPIO495 to GPIO480] from Expander2 to Expander3(As shown in case 2 in attachment). Due to this, my other functionality gets affected.

So, is there any way to give and initialize from fix GPIO_Base for each I2C expander, in simple words I want to give fix GPIO group to each IO expander?

The IO expander I am using is PCA9555, and Linux kernel Version is 4.9.x+fslc (4.9.44-fslc+g8f876e153b25)

Can anyone please tell me how to fix this problem?

Thank you

Labels (4)
0 Kudos
Reply
1 Reply

777 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ankit

 

as this is general linux question (not imx specific) may be recommended to post it on kernel mail list

http://vger.kernel.org/vger-lists.html

 

Best regards
igor

0 Kudos
Reply