]> git.ipfire.org Git - thirdparty/u-boot.git/commit
board: venice: add FSA support
authorTim Harvey <tharvey@gateworks.com>
Fri, 23 May 2025 17:20:15 +0000 (10:20 -0700)
committerFabio Estevam <festevam@gmail.com>
Fri, 30 May 2025 22:10:56 +0000 (19:10 -0300)
commitda9e2218afc2fd8ac9e4cd4e4dd02a9a2e83e6db
tree0b43b17b717803c2960bbcac6ca3697c6c3ae777
parent9eebca1025037e8a58cf442646042f41f0893151
board: venice: add FSA support

The Gateworks Flexible Socket Adapters adapt common
busses such as SDIO/UART/USB/PCI to various connectors
such as M.2 B-Key, M.2 E-Key, M.2 M-Key, and MiniPCIe.

Each FSA has an EEPROM onboard describing its details as well as an
optional port-expander for configurable GPIO's.

Add support for identifying the FSA's and configuring their
details such as user description and GPIO's:
 - enable pca953x, pca954x and eeprom support for communicating
   with the I2C eeprom and gpio port expander on the FSA
 - add FSA detection support
 - add FSA gpio configuration support

Each FSA is identified in the device-tree by an alias to it's I2C
bus where an eeprom@54 node must exist as well as an gpio@20 node
for an io-expander. These nodes must be enabled so that
they can be probed to determine if they are actually present in
the system. If not present or not enabled the gpio expander can
not be used. This also requires livetree as the gpio expander
node if not present must be disabled.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
board/gateworks/fsa.c [new file with mode: 0644]
board/gateworks/fsa.h [new file with mode: 0644]
board/gateworks/venice/Makefile
board/gateworks/venice/eeprom.c
board/gateworks/venice/venice.c
configs/imx8mm_venice_defconfig
configs/imx8mn_venice_defconfig
configs/imx8mp_venice_defconfig