diff options
author | Bill Richardson <wfrichar@chromium.org> | 2015-02-11 16:33:43 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-02-20 03:00:04 +0000 |
commit | 02013f6aa3b5fbc64b15ec060e5fc5e87824353b (patch) | |
tree | d0194cb774916ce796e3fc0c14e3ccf81f65fd93 /include | |
parent | c955bd846da9d1d7e4b354da6dcacf8b941fe2e7 (diff) | |
download | chrome-ec-02013f6aa3b5fbc64b15ec060e5fc5e87824353b.tar.gz |
cr50: Separate ARM core GPIOs from pinmux configuration
This separates the configuration of the ARM core GPIOs from the
routing of internal peripherals to external pins. Both are still
described in the gpio.inc file, but are less dependent on each
other.
BUG=chrome-os-partner:33818
BRANCH=none
TEST=manual
Before this CL, running "sysjump rw" or trying to use more than 8
GPIOs caused hangs and reboots. Now it doesn't.
Change-Id: If962a7c5ad4136837b2ea00ae016a440f07d7e23
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/251015
Reviewed-by: Sheng-liang Song <ssl@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/config.h | 11 | ||||
-rw-r--r-- | include/gpio.h | 14 |
2 files changed, 1 insertions, 24 deletions
diff --git a/include/config.h b/include/config.h index 5ea6e7e4f7..18f2b45c89 100644 --- a/include/config.h +++ b/include/config.h @@ -659,17 +659,6 @@ /*****************************************************************************/ /* - * Use a larger word (32 bits) to store the pin muxing configuration - * (aka alternate function). - * - * Less optimal for storage size and alignment, but might be required for - * platforms with very flexible pin muxing. - */ -#undef CONFIG_GPIO_LARGE_ALT_INFO - -/*****************************************************************************/ - -/* * Support the host asking the EC about the status of the most recent host * command. * diff --git a/include/gpio.h b/include/gpio.h index 96404a94de..f71622dfe6 100644 --- a/include/gpio.h +++ b/include/gpio.h @@ -70,18 +70,6 @@ struct gpio_info { /* Signal information from board.c. Must match order from enum gpio_signal. */ extern const struct gpio_info gpio_list[]; -/* - * Define the storage size for the pin muxing information. - * - * int8_t is more optimal for storage size and alignment, - * but some chips require to store more information. - */ -#ifdef CONFIG_GPIO_LARGE_ALT_INFO -typedef uint32_t alt_func_t; -#else -typedef int8_t alt_func_t; -#endif - /* GPIO alternate function structure, for use by board.c */ struct gpio_alt_func { /* Port base address */ @@ -91,7 +79,7 @@ struct gpio_alt_func { uint32_t mask; /* Alternate function number */ - alt_func_t func; + uint8_t func; /* Module ID (as uint8_t, since enum would be 32-bit) */ uint8_t module_id; |