mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
legoev3: Migrate to DM_I2C
Perform a basic migration of the calls in setup_serial_number() to DM so that we can switch to using DM_I2C on this platform. Cc: David Lechner <david@lechnology.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: David Lechner <david@lechnology.com>
This commit is contained in:
parent
edcbd6e388
commit
ba39d90728
2 changed files with 14 additions and 3 deletions
|
@ -27,6 +27,7 @@
|
||||||
#include <hwconfig.h>
|
#include <hwconfig.h>
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
|
#include <dm/uclass.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -57,6 +58,8 @@ const int lpsc_size = ARRAY_SIZE(lpsc);
|
||||||
*/
|
*/
|
||||||
static void setup_serial_number(void)
|
static void setup_serial_number(void)
|
||||||
{
|
{
|
||||||
|
struct udevice *idev, *ibus;
|
||||||
|
int ret;
|
||||||
u32 offset;
|
u32 offset;
|
||||||
char serial_number[13];
|
char serial_number[13];
|
||||||
u8 buf[6];
|
u8 buf[6];
|
||||||
|
@ -65,7 +68,15 @@ static void setup_serial_number(void)
|
||||||
if (env_get("serial#"))
|
if (env_get("serial#"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (i2c_read(EEPROM_I2C_ADDR, EEPROM_REV_OFFSET, 2, buf, 2)) {
|
ret = uclass_get_device_by_seq(UCLASS_I2C, 0, &ibus);
|
||||||
|
if (ret)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ret = dm_i2c_probe(ibus, EEPROM_I2C_ADDR, 0, &idev);
|
||||||
|
if (ret)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (dm_i2c_read(idev, EEPROM_REV_OFFSET, buf, 2)) {
|
||||||
printf("\nEEPROM revision read failed!\n");
|
printf("\nEEPROM revision read failed!\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -83,7 +94,7 @@ static void setup_serial_number(void)
|
||||||
/* EEPROM rev 3 has Bluetooth address where rev should be */
|
/* EEPROM rev 3 has Bluetooth address where rev should be */
|
||||||
offset = (eeprom_rev == 3) ? EEPROM_REV_OFFSET : EEPROM_BDADDR_OFFSET;
|
offset = (eeprom_rev == 3) ? EEPROM_REV_OFFSET : EEPROM_BDADDR_OFFSET;
|
||||||
|
|
||||||
if (i2c_read(EEPROM_I2C_ADDR, offset, 2, buf, 6)) {
|
if (dm_i2c_read(idev, offset, buf, 6)) {
|
||||||
printf("\nEEPROM serial read failed!\n");
|
printf("\nEEPROM serial read failed!\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ CONFIG_VERSION_VARIABLE=y
|
||||||
# CONFIG_NET is not set
|
# CONFIG_NET is not set
|
||||||
CONFIG_DM=y
|
CONFIG_DM=y
|
||||||
# CONFIG_DM_DEVICE_REMOVE is not set
|
# CONFIG_DM_DEVICE_REMOVE is not set
|
||||||
CONFIG_SYS_I2C_LEGACY=y
|
CONFIG_DM_I2C=y
|
||||||
CONFIG_SYS_I2C_DAVINCI=y
|
CONFIG_SYS_I2C_DAVINCI=y
|
||||||
CONFIG_MTD=y
|
CONFIG_MTD=y
|
||||||
CONFIG_DM_SPI_FLASH=y
|
CONFIG_DM_SPI_FLASH=y
|
||||||
|
|
Loading…
Reference in a new issue