X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=cmd%2Fi2c.c;h=bfddf8be1b9849d5cb9f66262aaaf747896d7396;hb=8dc9a10e49381e1d5d7329d123656f19fd7f8131;hp=3dd7c6ba4de2d014535a973ba400eae060d8698d;hpb=5f9518b2e1126b6413bab32a8e3f507e0a89f857;p=u-boot diff --git a/cmd/i2c.c b/cmd/i2c.c index 3dd7c6ba4d..bfddf8be1b 100644 --- a/cmd/i2c.c +++ b/cmd/i2c.c @@ -1156,7 +1156,10 @@ static int do_sdram (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) uint chip; u_char data[128]; u_char cksum; - int j; + int j, ret; +#ifdef CONFIG_DM_I2C + struct udevice *dev; +#endif static const char *decode_CAS_DDR2[] = { " TBD", " 6", " 5", " 4", " 3", " 2", " TBD", " TBD" @@ -1210,7 +1213,14 @@ static int do_sdram (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) */ chip = simple_strtoul (argv[1], NULL, 16); - if (i2c_read (chip, 0, 1, data, sizeof (data)) != 0) { +#ifdef CONFIG_DM_I2C + ret = i2c_get_cur_bus_chip(chip, &dev); + if (!ret) + ret = dm_i2c_read(dev, 0, data, sizeof(data)); +#else + ret = i2c_read(chip, 0, 1, data, sizeof(data)); +#endif + if (ret) { puts ("No SDRAM Serial Presence Detect found.\n"); return 1; }