> NuttX already support pinctrl and gpio peripheral: > > https://github.com/apache/incubator-nuttx/blob/master/include/nuttx/ioexpander/ioexpander.h > > > https://github.com/apache/incubator-nuttx/blob/master/include/nuttx/ioexpander/gpio.h > We can reuse and improve them. >
I don't mean IO expander. I mean ability to use uC GPIO in a general way For example, how can you define GPIO1 as pin X1 of port Y1 in board Z1 but pin X2 of port Y2 in board Z2 so any driver can use GPIO1 without being hardwired to a specific board? For that you need a general GPIO system where boards export GPIOs in a platform-independent way that any driver can use > Common code shouldn't reference arch or board specific header files, only > source code under boards/ or arch/ can reference them. > I mean the other way around: board.h referencing common platform header files, needed for memory definitions