board: shc: convert to DM_I2C

Conversion to DM_I2C is mandatory, rework to remove
use of legacy I2C API.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
Anatolij Gustschin 2024-08-03 18:15:03 +02:00 committed by Heiko Schocher
parent 2078abaf00
commit 62ce9f7fff
5 changed files with 23 additions and 15 deletions

View File

@ -34,6 +34,7 @@
#include <asm/emif.h> #include <asm/emif.h>
#include <asm/gpio.h> #include <asm/gpio.h>
#include <i2c.h> #include <i2c.h>
#include <i2c_eeprom.h>
#include <miiphy.h> #include <miiphy.h>
#include <cpsw.h> #include <cpsw.h>
#include <linux/delay.h> #include <linux/delay.h>
@ -51,21 +52,21 @@ static int shc_eeprom_valid;
/* /*
* Read header information from EEPROM into global structure. * Read header information from EEPROM into global structure.
*/ */
#define EEPROM_ADDR 0x50
static int read_eeprom(void) static int read_eeprom(void)
{ {
struct udevice *dev;
int ret;
/* Check if baseboard eeprom is available */ /* Check if baseboard eeprom is available */
if (i2c_probe(EEPROM_ADDR)) { ret = uclass_first_device_err(UCLASS_I2C_EEPROM, &dev);
puts("Could not probe the EEPROM; something fundamentally wrong on the I2C bus.\n"); if (ret) {
return -ENODEV; puts("Could not find EEPROM.\n");
return ret;
} }
/* read the eeprom using i2c */ ret = i2c_eeprom_read(dev, 0, (uint8_t *)&header, sizeof(header));
if (i2c_read(EEPROM_ADDR, 0, 2, (uchar *)&header, if (ret)
sizeof(header))) { return ret;
puts("Could not read the EEPROM; something fundamentally wrong on the I2C bus.\n");
return -EIO;
}
if (header.magic != HDR_MAGIC) { if (header.magic != HDR_MAGIC) {
printf("Incorrect magic number (0x%x) in EEPROM\n", printf("Incorrect magic number (0x%x) in EEPROM\n",
@ -445,7 +446,6 @@ int board_init(void)
#if defined(CONFIG_HW_WATCHDOG) #if defined(CONFIG_HW_WATCHDOG)
hw_watchdog_init(); hw_watchdog_init();
#endif #endif
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
if (read_eeprom() < 0) if (read_eeprom() < 0)
puts("EEPROM Content Invalid.\n"); puts("EEPROM Content Invalid.\n");

View File

@ -65,10 +65,12 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y CONFIG_VERSION_VARIABLE=y
CONFIG_NET_RETRY_COUNT=10 CONFIG_NET_RETRY_COUNT=10
CONFIG_BOOTP_SEND_HOSTNAME=y CONFIG_BOOTP_SEND_HOSTNAME=y
CONFIG_SYS_I2C_LEGACY=y CONFIG_DM_I2C=y
CONFIG_SPL_SYS_I2C_LEGACY=y CONFIG_SPL_SYS_I2C_LEGACY=y
CONFIG_SYS_I2C_SLAVE=0x1 CONFIG_SYS_I2C_SLAVE=0x1
CONFIG_SYS_I2C_SPEED=400000 CONFIG_SYS_I2C_SPEED=400000
CONFIG_MISC=y
CONFIG_I2C_EEPROM=y
CONFIG_MMC_OMAP_HS=y CONFIG_MMC_OMAP_HS=y
CONFIG_HSMMC2_8BIT=y CONFIG_HSMMC2_8BIT=y
CONFIG_PHY_ADDR_ENABLE=y CONFIG_PHY_ADDR_ENABLE=y

View File

@ -63,10 +63,12 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y CONFIG_VERSION_VARIABLE=y
CONFIG_NET_RETRY_COUNT=10 CONFIG_NET_RETRY_COUNT=10
CONFIG_BOOTP_SEND_HOSTNAME=y CONFIG_BOOTP_SEND_HOSTNAME=y
CONFIG_SYS_I2C_LEGACY=y CONFIG_DM_I2C=y
CONFIG_SPL_SYS_I2C_LEGACY=y CONFIG_SPL_SYS_I2C_LEGACY=y
CONFIG_SYS_I2C_SLAVE=0x1 CONFIG_SYS_I2C_SLAVE=0x1
CONFIG_SYS_I2C_SPEED=400000 CONFIG_SYS_I2C_SPEED=400000
CONFIG_MISC=y
CONFIG_I2C_EEPROM=y
CONFIG_MMC_OMAP_HS=y CONFIG_MMC_OMAP_HS=y
CONFIG_HSMMC2_8BIT=y CONFIG_HSMMC2_8BIT=y
CONFIG_PHY_ADDR_ENABLE=y CONFIG_PHY_ADDR_ENABLE=y

View File

@ -66,10 +66,12 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y CONFIG_VERSION_VARIABLE=y
CONFIG_NET_RETRY_COUNT=10 CONFIG_NET_RETRY_COUNT=10
CONFIG_BOOTP_SEND_HOSTNAME=y CONFIG_BOOTP_SEND_HOSTNAME=y
CONFIG_SYS_I2C_LEGACY=y CONFIG_DM_I2C=y
CONFIG_SPL_SYS_I2C_LEGACY=y CONFIG_SPL_SYS_I2C_LEGACY=y
CONFIG_SYS_I2C_SLAVE=0x1 CONFIG_SYS_I2C_SLAVE=0x1
CONFIG_SYS_I2C_SPEED=400000 CONFIG_SYS_I2C_SPEED=400000
CONFIG_MISC=y
CONFIG_I2C_EEPROM=y
CONFIG_MMC_OMAP_HS=y CONFIG_MMC_OMAP_HS=y
CONFIG_HSMMC2_8BIT=y CONFIG_HSMMC2_8BIT=y
CONFIG_PHY_ADDR_ENABLE=y CONFIG_PHY_ADDR_ENABLE=y

View File

@ -65,10 +65,12 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y CONFIG_VERSION_VARIABLE=y
CONFIG_NET_RETRY_COUNT=10 CONFIG_NET_RETRY_COUNT=10
CONFIG_BOOTP_SEND_HOSTNAME=y CONFIG_BOOTP_SEND_HOSTNAME=y
CONFIG_SYS_I2C_LEGACY=y CONFIG_DM_I2C=y
CONFIG_SPL_SYS_I2C_LEGACY=y CONFIG_SPL_SYS_I2C_LEGACY=y
CONFIG_SYS_I2C_SLAVE=0x1 CONFIG_SYS_I2C_SLAVE=0x1
CONFIG_SYS_I2C_SPEED=400000 CONFIG_SYS_I2C_SPEED=400000
CONFIG_MISC=y
CONFIG_I2C_EEPROM=y
CONFIG_MMC_OMAP_HS=y CONFIG_MMC_OMAP_HS=y
CONFIG_HSMMC2_8BIT=y CONFIG_HSMMC2_8BIT=y
CONFIG_PHY_ADDR_ENABLE=y CONFIG_PHY_ADDR_ENABLE=y