]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - cmd/i2c.c
i2c: Set default I2C bus number
[people/ms/u-boot.git] / cmd / i2c.c
index b3bb64408fe18af0c2a754ed653384bd55dee880..3dd7c6ba4de2d014535a973ba400eae060d8698d 100644 (file)
--- a/cmd/i2c.c
+++ b/cmd/i2c.c
@@ -151,6 +151,16 @@ static int cmd_i2c_set_bus_num(unsigned int busnum)
 
 static int i2c_get_cur_bus(struct udevice **busp)
 {
+#ifdef CONFIG_I2C_SET_DEFAULT_BUS_NUM
+       if (!i2c_cur_bus) {
+               if (cmd_i2c_set_bus_num(CONFIG_I2C_DEFAULT_BUS_NUMBER)) {
+                       printf("Default I2C bus %d not found\n",
+                              CONFIG_I2C_DEFAULT_BUS_NUMBER);
+                       return -ENODEV;
+               }
+       }
+#endif
+
        if (!i2c_cur_bus) {
                puts("No I2C bus selected\n");
                return -ENODEV;
@@ -178,7 +188,7 @@ static int i2c_get_cur_bus_chip(uint chip_addr, struct udevice **devp)
  * i2c_init_board() - Board-specific I2C bus init
  *
  * This function is the default no-op implementation of I2C bus
- * initialization. This function can be overriden by board-specific
+ * initialization. This function can be overridden by board-specific
  * implementation if needed.
  */
 __weak
@@ -1141,7 +1151,7 @@ static void decode_bits (u_char const b, char const *str[], int const do_once)
  */
 static int do_sdram (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
-       enum { unknown, EDO, SDRAM, DDR2 } type;
+       enum { unknown, EDO, SDRAM, DDR, DDR2, DDR3, DDR4 } type;
 
        uint    chip;
        u_char  data[128];
@@ -1228,10 +1238,22 @@ static int do_sdram (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
                type = SDRAM;
                puts ("SDRAM\n");
                break;
+       case 7:
+               type = DDR;
+               puts("DDR\n");
+               break;
        case 8:
                type = DDR2;
                puts ("DDR2\n");
                break;
+       case 11:
+               type = DDR3;
+               puts("DDR3\n");
+               break;
+       case 12:
+               type = DDR4;
+               puts("DDR4\n");
+               break;
        default:
                type = unknown;
                puts ("unknown\n");