summaryrefslogtreecommitdiff
path: root/board/ti/am335x/board.h
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2013-07-18 15:13:01 -0400
committerTom Rini <trini@ti.com>2013-07-30 09:21:41 -0400
commitace4275eb33b7833d96fa2db02d253e06cc1a734 (patch)
treeb87ef8256138084811001fa2e89533249d5c0b3a /board/ti/am335x/board.h
parent6454028abbfcbfb6c448bafa165eeebf2da420c8 (diff)
downloadu-boot-imx-ace4275eb33b7833d96fa2db02d253e06cc1a734.zip
u-boot-imx-ace4275eb33b7833d96fa2db02d253e06cc1a734.tar.gz
u-boot-imx-ace4275eb33b7833d96fa2db02d253e06cc1a734.tar.bz2
am335x_evm: Rework board_is_foo() checks
We rework the various board_is_foo() checks to take a pointer to struct am335x_baseboard_id rather than using a local copy in board.c. This allows us to make use of the same checks in mux.c as well as fixing problems when this code could be running from read-only memory. Reviewed-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'board/ti/am335x/board.h')
-rw-r--r--board/ti/am335x/board.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/board/ti/am335x/board.h b/board/ti/am335x/board.h
index 9fea1f1..bc700d5 100644
--- a/board/ti/am335x/board.h
+++ b/board/ti/am335x/board.h
@@ -29,6 +29,37 @@ struct am335x_baseboard_id {
char mac_addr[HDR_NO_OF_MAC_ADDR][HDR_ETH_ALEN];
};
+static inline int board_is_bone(struct am335x_baseboard_id *header)
+{
+ return !strncmp(header->name, "A335BONE", HDR_NAME_LEN);
+}
+
+static inline int board_is_bone_lt(struct am335x_baseboard_id *header)
+{
+ return !strncmp(header->name, "A335BNLT", HDR_NAME_LEN);
+}
+
+static inline int board_is_evm_sk(struct am335x_baseboard_id *header)
+{
+ return !strncmp("A335X_SK", header->name, HDR_NAME_LEN);
+}
+
+static inline int board_is_idk(struct am335x_baseboard_id *header)
+{
+ return !strncmp(header->config, "SKU#02", 6);
+}
+
+static inline int board_is_gp_evm(struct am335x_baseboard_id *header)
+{
+ return !strncmp("A33515BB", header->name, HDR_NAME_LEN);
+}
+
+static inline int board_is_evm_15_or_later(struct am335x_baseboard_id *header)
+{
+ return (board_is_gp_evm(header) &&
+ strncmp("1.5", header->version, 3) <= 0);
+}
+
/*
* We have three pin mux functions that must exist. We must be able to enable
* uart0, for initial output and i2c0 to read the main EEPROM. We then have a