mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-02-03 12:37:46 +01:00
This patch makes two additions to GPIO support: First, it adds function gpio_read_in_bit() to read the a bit from the GPIO Input Register (GPIOx_IR) in the same way that function gpio_read_out_bit() reads a bit from the GPIO Output Register (GPIOx_OR). Second, it modifies function gpio_set_chip_configuration() to provide an additional option for configuring the GPIO from the "CFG_4xx_GPIO_TABLE". According to the 440EPx User's Manual, when an alternate output is used, the three-state control is configured in one of two ways, depending on the particular output. The first option is to select the corresponding alternate three-state control in the GPIOx_TRSH/L registers. The second option is to select the GPIO Three-State Control Register (GPIOx_TCR) in the GPIOx_TRSH/L registers, and set the corresponding bit in the GPIOx_TCR register to enable the output. For example, the Manual specifies configuring the GPIO00 Alternate 1 Signal (PreAddr07) to use the alternate three-state control (first option), and specifies configuring the GPIO32 Alternate 1 Signal (USB2OM0) with the output enabled in the GPIOx_TCR register (second option). Currently, gpio_set_chip_configuration() configures all alternate signal outputs to use the first option. This patch allow the second option to be selected by setting the "out_val" element in the table entry to "GPIO_OUT_1". The first option is used when the "out_val" element is set to "GPIO_OUT_0". Because "out_val" is not currently used when an alternate signal is selected, and because all current GPIO tables set "out_val" to "GPIO_OUT_0" for all alternate signals, this patch should not change any existing configurations. Signed-off-by: Larry Johnson <lrj@acm.org> |
||
|---|---|---|
| .. | ||
| 4xx_pci.h | ||
| 4xx_pcie.h | ||
| 5xx_immap.h | ||
| 8xx_immap.h | ||
| atomic.h | ||
| bitops.h | ||
| byteorder.h | ||
| cache.h | ||
| cpm_85xx.h | ||
| cpm_8260.h | ||
| e300.h | ||
| errno.h | ||
| fsl_i2c.h | ||
| global_data.h | ||
| gpio.h | ||
| immap_83xx.h | ||
| immap_85xx.h | ||
| immap_86xx.h | ||
| immap_512x.h | ||
| immap_8220.h | ||
| immap_8260.h | ||
| immap_fsl_pci.h | ||
| immap_qe.h | ||
| io.h | ||
| iopin_8xx.h | ||
| iopin_85xx.h | ||
| iopin_8260.h | ||
| m8260_pci.h | ||
| mc146818rtc.h | ||
| mmu.h | ||
| mpc8349_pci.h | ||
| pci_io.h | ||
| pnp.h | ||
| posix_types.h | ||
| processor.h | ||
| ptrace.h | ||
| residual.h | ||
| sigcontext.h | ||
| signal.h | ||
| status_led.h | ||
| string.h | ||
| types.h | ||
| u-boot.h | ||