Patrick Georgi (pgeorgi@google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9406
-gerrit
commit 888cb740881a60366c44fec36bd24e97fd793f59 Author: Aaron Durbin adurbin@chromium.org Date: Wed Nov 5 14:01:29 2014 -0600
ryu: remove board id normalization
The gpio_get_tristates() function prints out the values observed while processing the GPIOs. Additionally, the values for the normalization were completely consecutive. Therefore, this indirection can be removed.
BUG=chrome-os-partner:33578 BRANCH=None TEST=Built and booted.
Change-Id: I088a2f1c7601c014a7f8a9eb228efa9bb80f1e01 Signed-off-by: Patrick Georgi pgeorgi@chromium.org Original-Commit-Id: 02e52554b9cbf85034feb9aedc50f09b70893e32 Original-Change-Id: I17d85891087e3128790329a5f05cbdab4cbc950e Original-Signed-off-by: Aaron Durbin adurbin@chromium.org Original-Reviewed-on: https://chromium-review.googlesource.com/227680 Original-Reviewed-by: Furquan Shaikh furquan@chromium.org --- src/mainboard/google/rush_ryu/boardid.c | 36 ++------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-)
diff --git a/src/mainboard/google/rush_ryu/boardid.c b/src/mainboard/google/rush_ryu/boardid.c index 5b4c1cd..37f6292 100644 --- a/src/mainboard/google/rush_ryu/boardid.c +++ b/src/mainboard/google/rush_ryu/boardid.c @@ -17,53 +17,21 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-#include <base3.h> #include <boardid.h> #include <console/console.h> #include <stdlib.h>
#include "gpio.h"
-struct id_to_str { - const char *str; - int tri_state_value; - int normalized_id; -}; - -static const struct id_to_str bdid_map[] = { - { "PROTO 0", BASE3(0, 0), BOARD_ID_PROTO_0 }, - { "PROTO 1", BASE3(0, 1), BOARD_ID_PROTO_1 }, - { "EVT", BASE3(0, Z), BOARD_ID_EVT }, - { "DVT", BASE3(1, 0), BOARD_ID_DVT }, - { "PVT", BASE3(1, 1), BOARD_ID_PVT }, - { "MP", BASE3(1, Z), BOARD_ID_MP }, - { "Z0", BASE3(Z, 0), -1 }, - { "Z1", BASE3(Z, 1), -1 }, - { "ZZ", BASE3(Z, Z), -1 }, -}; - uint8_t board_id(void) { static int id = -1;
if (id < 0) { - const char *idstr = "Unknown"; - int i; - int tristate_id; gpio_t gpio[] = {[1] = BD_ID1, [0] = BD_ID0}; /* ID0 is LSB */
- tristate_id = gpio_get_tristates(gpio, ARRAY_SIZE(gpio)); - - for (i = 0; i < ARRAY_SIZE(bdid_map); i++) { - if (tristate_id != bdid_map[i].tri_state_value) - continue; - idstr = bdid_map[i].str; - id = bdid_map[i].normalized_id; - break; - } - - printk(BIOS_SPEW, "Board ID: '%s' %d (%#x)\n", idstr, id, - tristate_id); + id = gpio_get_tristates(gpio, ARRAY_SIZE(gpio)); } + return id; }