mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 05:01:30 +00:00
mpc5200: digsy_mtc: Fix extension board detection
Switch to extension board detection using pci_find_device() instead of detecting by i2c access to EEPROM device on extension board. This is a cleaner detection method since EEPROM addresses can be different on different board revisions. This also avoids "i2c_read: failed to address chip" error messages in the boot log on boards without extension board which may confuse users. Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
b2eb7d9bc6
commit
02ab0970b3
2 changed files with 8 additions and 14 deletions
|
@ -49,6 +49,7 @@
|
||||||
#include <libfdt.h>
|
#include <libfdt.h>
|
||||||
#include <fdt_support.h>
|
#include <fdt_support.h>
|
||||||
#include <i2c.h>
|
#include <i2c.h>
|
||||||
|
#include <mb862xx.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -226,11 +227,6 @@ static void exbo_hw_init(void)
|
||||||
struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
|
struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
|
||||||
struct mpc5xxx_wu_gpio *wu_gpio =
|
struct mpc5xxx_wu_gpio *wu_gpio =
|
||||||
(struct mpc5xxx_wu_gpio *)MPC5XXX_WU_GPIO;
|
(struct mpc5xxx_wu_gpio *)MPC5XXX_WU_GPIO;
|
||||||
unsigned char val;
|
|
||||||
|
|
||||||
/* 1st, check if extension board is present */
|
|
||||||
if (i2c_read(CONFIG_SYS_EXBO_EE_I2C_ADDRESS, 0, 1, &val, 1))
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* configure IrDA pins (PSC6 port) as gpios */
|
/* configure IrDA pins (PSC6 port) as gpios */
|
||||||
gpio->port_config &= 0xFF8FFFFF;
|
gpio->port_config &= 0xFF8FFFFF;
|
||||||
|
@ -285,8 +281,6 @@ int board_early_init_r(void)
|
||||||
/* enable CS0 */
|
/* enable CS0 */
|
||||||
setbits_be32((void *)MPC5XXX_ADDECR, (1 << 16));
|
setbits_be32((void *)MPC5XXX_ADDECR, (1 << 16));
|
||||||
|
|
||||||
exbo_hw_init();
|
|
||||||
|
|
||||||
#if defined(CONFIG_USB_OHCI_NEW) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT)
|
#if defined(CONFIG_USB_OHCI_NEW) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT)
|
||||||
/* Low level USB init, required for proper kernel operation */
|
/* Low level USB init, required for proper kernel operation */
|
||||||
usb_cpu_init();
|
usb_cpu_init();
|
||||||
|
@ -326,8 +320,15 @@ void board_get_enetaddr (uchar * enet)
|
||||||
|
|
||||||
int misc_init_r(void)
|
int misc_init_r(void)
|
||||||
{
|
{
|
||||||
|
pci_dev_t devbusfn;
|
||||||
uchar enetaddr[6];
|
uchar enetaddr[6];
|
||||||
|
|
||||||
|
/* check if graphic extension board is present */
|
||||||
|
devbusfn = pci_find_device(PCI_VENDOR_ID_FUJITSU,
|
||||||
|
PCI_DEVICE_ID_CORAL_PA, 0);
|
||||||
|
if (devbusfn != -1)
|
||||||
|
exbo_hw_init();
|
||||||
|
|
||||||
if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
|
if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
|
||||||
board_get_enetaddr(enetaddr);
|
board_get_enetaddr(enetaddr);
|
||||||
eth_setenv_enetaddr("ethaddr", enetaddr);
|
eth_setenv_enetaddr("ethaddr", enetaddr);
|
||||||
|
|
|
@ -289,13 +289,6 @@
|
||||||
#define CONFIG_SYS_DS1339_TCR_VAL 0xAB /* diode + 4k resistor */
|
#define CONFIG_SYS_DS1339_TCR_VAL 0xAB /* diode + 4k resistor */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* ExBo I2C Addresses */
|
|
||||||
#if defined(CONFIG_DIGSY_REV5)
|
|
||||||
#define CONFIG_SYS_EXBO_EE_I2C_ADDRESS 0x54
|
|
||||||
#else
|
|
||||||
#define CONFIG_SYS_EXBO_EE_I2C_ADDRESS 0x56
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Flash configuration
|
* Flash configuration
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue