GPIO definitions are stored in '/etc/default/obmc/gpio/gpio_defs.json' on the BMC. That file has 2 sections - 'gpio_configs' and 'gpio_definitions'.
This section contains the GPIOs used in power control.
It looks like:
"gpio_configs": {
"power_config": {
#See code in op-pwrctl for details
#Required
"power_good_in": "...",
#Required
"power_up_outs": [
{"name": "...", "polarity": true/false},
{"name": "...", "polarity": true/false}
],
#Optional
"reset_outs": [
{"name": "...", "polarity": true/false}
],
#Optional
"latch_out": "...",
#Optional
"pci_reset_outs": [
{"name": "...", "polarity": true/false, "hold": true/false}
]
}
}
This section contains The GPIO pins and directions.
It looks like:
"gpio_definitions": [
{
#The name to look up this entry.
"name": "SOFTWARE_PGOOD",
#The GPIO pin.
"pin": "R1",
#Alternatively to the pin, can use 'num' which is the
#raw number the GPIO would be accessed with.
"num": 7,
#The GPIO direction - in, out, rising, falling, or both
"direction": "out"
},
{
...
}
]