]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/ti/am43xx/board.h
Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / board / ti / am43xx / board.h
1 /*
2  * board.h
3  *
4  * TI AM437x boards information header
5  * Derived from AM335x board.
6  *
7  * Copyright (C) 2013, Texas Instruments, Incorporated - http://www.ti.com/
8  *
9  * SPDX-License-Identifier:     GPL-2.0+
10  */
11
12 #ifndef _BOARD_H_
13 #define _BOARD_H_
14
15 #include <asm/arch/omap.h>
16
17 static char *const am43xx_board_name = (char *)AM4372_BOARD_NAME_START;
18 static char *const am43xx_board_rev = (char *)AM4372_BOARD_VERSION_START;
19
20 /*
21  * TI AM437x EVMs define a system EEPROM that defines certain sub-fields.
22  * We use these fields to in turn see what board we are on, and what
23  * that might require us to set or not set.
24  */
25 #define HDR_NO_OF_MAC_ADDR      3
26 #define HDR_ETH_ALEN            6
27 #define HDR_NAME_LEN            8
28
29 #define DEV_ATTR_MAX_OFFSET     5
30 #define DEV_ATTR_MIN_OFFSET     0
31
32 struct am43xx_board_id {
33         unsigned int  magic;
34         char name[HDR_NAME_LEN];
35         char version[4];
36         char serial[12];
37         char config[32];
38         char mac_addr[HDR_NO_OF_MAC_ADDR][HDR_ETH_ALEN];
39 };
40
41 static inline int board_is_eposevm(void)
42 {
43         return !strncmp(am43xx_board_name, "AM43EPOS", HDR_NAME_LEN);
44 }
45
46 static inline int board_is_gpevm(void)
47 {
48         return !strncmp(am43xx_board_name, "AM43__GP", HDR_NAME_LEN);
49 }
50
51 static inline int board_is_sk(void)
52 {
53         return !strncmp(am43xx_board_name, "AM43__SK", HDR_NAME_LEN);
54 }
55
56 static inline int board_is_evm_14_or_later(void)
57 {
58         return (board_is_gpevm() && strncmp("1.4", am43xx_board_rev, 3) <= 0);
59 }
60
61 static inline int board_is_evm_12_or_later(void)
62 {
63         return (board_is_gpevm() && strncmp("1.2", am43xx_board_rev, 3) <= 0);
64 }
65
66 void enable_uart0_pin_mux(void);
67 void enable_board_pin_mux(void);
68 void enable_i2c0_pin_mux(void);
69 #endif