SLUSDQ4 April 2019 BQ79606A-Q1
The BQ79606A-Q1 integrates six general purpose input/outputs (GPIOn). Registers GPIO1_CONF - GPIO6_CONF control the GPIO behavior. Each GPIO is programmable to be an input or an output. Additionally, GPIO1 - GPIO6 are configurable as ADC inputs either for NTC monitoring (ratiometric result) or absolute voltage measurement. GPIO1-GPIO6 are also configurable to be monitored by internal, hardware comparators for over/under-temperature monitoring. See Cell Over/Under-Temperature Comparatorss for more details.
The pullup and pulldowns are configurable (GPIO*_CONF[PUPD_SEL]) to be FET push-pull (between VIO and DVSS), to have an weak pullup (to VIO) or weak pulldown (to DVSS) resistor enabled. Pull-downs must not be used in output mode. Additionally, push-pull mode must not be used in input mode. If either of these configurations are selected, correct operation is not guaranteed and undesirable operation may occur.
There is a configurable option (GPIO*_CONF[FAULT_EN]) for the GPIO to trigger a FAULT condition when high or low. When enabled, the GPIOs that are in a fault state set a flag in the GPIO_FAULT register. These faults are triggered regardless of the GPIO*_CONF[GPIO_SEL] setting for the GPIO (see the priority ranking below). Additionally, the GPIO_STAT register shows the status ('0' or '1') of the individual GPIO pins regardless of input/output configuration. While configured as an output, the state of the GPIOn is controlled using the GPIO_OUT register.
There are several functions that utilize the GPIOs as listed below. As many of these functions may mistakenly be enabled simultaneously, there is a priority to the functions. The following list shows the GPIO function priority when multiple function are simultaneously enabled (1 is the highest priority and GPIO*_CONF refers to GPIO1_CONF through GPIO6_CONF registers):
Note that the OT/UT function is not affected by the GPIO configuration. If enabled, the OT/UT function will signal faults as normal. For example, if the SPI master is enabled and the OT/UT function is enabled on GPIOs 3-6, faults are indicated as the clock and data are driven by the master (i.e. SCLK idling low trips the OT fault on GPIO6)