mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 08:01:08 +00:00
ARM: DRA7: Enable EEPROM support
Enable EEPROM support for DRA74-evm. Acked-by: Nishanth Menon <nm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
parent
d3b98a9eb9
commit
25afe55de5
4 changed files with 63 additions and 4 deletions
|
@ -12,6 +12,7 @@ config TARGET_OMAP5_UEVM
|
|||
|
||||
config TARGET_DRA7XX_EVM
|
||||
bool "TI DRA7XX"
|
||||
select TI_I2C_BOARD_DETECT
|
||||
|
||||
config TARGET_BEAGLE_X15
|
||||
bool "BeagleBoard X15"
|
||||
|
|
|
@ -17,4 +17,7 @@ config CONS_INDEX
|
|||
The DRA7xx (and AM57x) SoC has a total of 6 UARTs available to it.
|
||||
Depending on your specific board you may want something other than UART1
|
||||
here.
|
||||
|
||||
source "board/ti/common/Kconfig"
|
||||
|
||||
endif
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <common.h>
|
||||
#include <palmas.h>
|
||||
#include <sata.h>
|
||||
#include <linux/string.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <usb.h>
|
||||
#include <linux/usb/gadget.h>
|
||||
|
@ -27,6 +28,11 @@
|
|||
#include <ti-usb-phy-uboot.h>
|
||||
|
||||
#include "mux_data.h"
|
||||
#include "../common/board_detect.h"
|
||||
|
||||
#define board_is_dra74x_evm() board_ti_is("5777xCPU")
|
||||
#define board_is_dra74x_revh_or_later() board_is_dra74x_evm() && \
|
||||
(strncmp("H", board_ti_get_rev(), 1) <= 0)
|
||||
|
||||
#ifdef CONFIG_DRIVER_TI_CPSW
|
||||
#include <cpsw.h>
|
||||
|
@ -37,8 +43,10 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
/* GPIO 7_11 */
|
||||
#define GPIO_DDR_VTT_EN 203
|
||||
|
||||
#define SYSINFO_BOARD_NAME_MAX_LEN 37
|
||||
|
||||
const struct omap_sysinfo sysinfo = {
|
||||
"Board: DRA7xx\n"
|
||||
"Board: UNKNOWN(DRA7 EVM) REV UNKNOWN\n"
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -57,16 +65,59 @@ int board_init(void)
|
|||
int board_late_init(void)
|
||||
{
|
||||
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
if (omap_revision() == DRA722_ES1_0)
|
||||
setenv("board_name", "dra72x");
|
||||
char *name = "unknown";
|
||||
|
||||
if (is_dra72x())
|
||||
name = "dra72x";
|
||||
else
|
||||
setenv("board_name", "dra7xx");
|
||||
name = "dra7xx";
|
||||
|
||||
set_board_info_env(name);
|
||||
|
||||
omap_die_id_serial();
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
void do_board_detect(void)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = ti_i2c_eeprom_dra7_get(CONFIG_EEPROM_BUS_ADDRESS,
|
||||
CONFIG_EEPROM_CHIP_ADDRESS);
|
||||
if (rc)
|
||||
printf("ti_i2c_eeprom_init failed %d\n", rc);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void do_board_detect(void)
|
||||
{
|
||||
char *bname = NULL;
|
||||
int rc;
|
||||
|
||||
rc = ti_i2c_eeprom_dra7_get(CONFIG_EEPROM_BUS_ADDRESS,
|
||||
CONFIG_EEPROM_CHIP_ADDRESS);
|
||||
if (rc)
|
||||
printf("ti_i2c_eeprom_init failed %d\n", rc);
|
||||
|
||||
if (board_is_dra74x_evm()) {
|
||||
bname = "DRA74x EVM";
|
||||
/* If EEPROM is not populated */
|
||||
} else {
|
||||
if (is_dra72x())
|
||||
bname = "DRA72x EVM";
|
||||
else
|
||||
bname = "DRA74x EVM";
|
||||
}
|
||||
|
||||
if (bname)
|
||||
snprintf(sysinfo.board_string, SYSINFO_BOARD_NAME_MAX_LEN,
|
||||
"Board: %s REV %s\n", bname, board_ti_get_rev());
|
||||
}
|
||||
#endif /* CONFIG_SPL_BUILD */
|
||||
|
||||
void set_muxconf_regs_essential(void)
|
||||
{
|
||||
do_set_mux32((*ctrl)->control_padconf_core_base,
|
||||
|
|
|
@ -341,4 +341,8 @@
|
|||
#endif
|
||||
#endif /* NOR support */
|
||||
|
||||
/* EEPROM */
|
||||
#define CONFIG_EEPROM_CHIP_ADDRESS 0x50
|
||||
#define CONFIG_EEPROM_BUS_ADDRESS 0
|
||||
|
||||
#endif /* __CONFIG_DRA7XX_EVM_H */
|
||||
|
|
Loading…
Reference in a new issue