]> git.sur5r.net Git - u-boot/commitdiff
i2c: lpc32xx: Force consistent bus numbering
authorLiam Beguin <lbeguin@tycoint.com>
Tue, 14 Mar 2017 15:24:45 +0000 (11:24 -0400)
committerHeiko Schocher <hs@denx.de>
Tue, 28 Mar 2017 04:27:20 +0000 (06:27 +0200)
Normally, this would probably be done by adding devicetree aliases
to the main dtsi file for the lpc32xx and using bus->req_seq instead.

Since we want to have consistent i2c numbering, we cannot force the
bus->req_seq because. If for instance we have 3 buses numbered
from 0 to 2 with i2c0 enabled, i2c1 disabled and i2c2 enabled;
i2c2 can be selected using 'i2c dev 1' and 'i2c dev 2' commands
because a bus can be probed using req_seq or seq interchangeably.

Signed-off-by: Liam Beguin <lbeguin@tycoint.com>
Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com>
drivers/i2c/lpc32xx_i2c.c

index f172e0e4bb12f0e469c3d8dee54a418472911113..661d03147a4e9d2a99169802a98b64cf7643be44 100644 (file)
@@ -282,6 +282,7 @@ U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_2, lpc32xx_i2c_init, NULL,
 static int lpc32xx_i2c_probe(struct udevice *bus)
 {
        struct lpc32xx_i2c_dev *dev = dev_get_platdata(bus);
+       bus->seq = dev->index;
 
        __i2c_init(dev->base, dev->speed, 0, dev->index);
        return 0;