diff options
| author | Tom Rini <trini@konsulko.com> | 2019-08-27 07:09:10 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2019-08-27 07:09:10 -0400 | 
| commit | e7ce2e04831e8801f8a1e3afc6dee66b4132c48b (patch) | |
| tree | 93c4681cd9a1d10264fc6d1cf5e917b26259578b /drivers | |
| parent | d39221f33f0e78cc80d1304ab4ca4e4a3886fbff (diff) | |
| parent | 5ae84860b0428b37063a6d7b03cae26a4e772da7 (diff) | |
Merge tag 'for-v2019.10' of https://gitlab.denx.de/u-boot/custodians/u-boot-i2c
i2c bugfixes for 2019.10
- misc: i2c_eeprom: verify that the chip is functional at probe()
- i2c: mxc_i2c: Remove i2c_idle_bus from probe
- i2c-mux-gpio: Fix GPIO request flag issue
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/i2c/muxes/i2c-mux-gpio.c | 2 | ||||
| -rw-r--r-- | drivers/i2c/mxc_i2c.c | 7 | ||||
| -rw-r--r-- | drivers/misc/i2c_eeprom.c | 8 | 
3 files changed, 9 insertions, 8 deletions
| diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c index 28f640042f3..e8b124f4f5f 100644 --- a/drivers/i2c/muxes/i2c-mux-gpio.c +++ b/drivers/i2c/muxes/i2c-mux-gpio.c @@ -106,7 +106,7 @@ static int i2c_mux_gpio_probe(struct udevice *dev)  	}  	ret = gpio_request_list_by_name(dev, "mux-gpios", gpios, mux->n_gpios, -					GPIOD_IS_OUT_ACTIVE); +					GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);  	if (ret <= 0) {  		dev_err(dev, "Failed to request mux-gpios\n");  		return ret; diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c index 73b98075982..20f6dc4ecb5 100644 --- a/drivers/i2c/mxc_i2c.c +++ b/drivers/i2c/mxc_i2c.c @@ -917,13 +917,6 @@ static int mxc_i2c_probe(struct udevice *bus)  		}  	} -	ret = i2c_idle_bus(i2c_bus); -	if (ret < 0) { -		/* Disable clk */ -		enable_i2c_clk(0, bus->seq); -		return ret; -	} -  	/*  	 * Pinmux settings are in board file now, until pinmux is supported,  	 * we can set pinmux here in probe function. diff --git a/drivers/misc/i2c_eeprom.c b/drivers/misc/i2c_eeprom.c index f25d0540075..8f2349ad5a7 100644 --- a/drivers/misc/i2c_eeprom.c +++ b/drivers/misc/i2c_eeprom.c @@ -84,6 +84,14 @@ static int i2c_eeprom_std_ofdata_to_platdata(struct udevice *dev)  static int i2c_eeprom_std_probe(struct udevice *dev)  { +	u8 test_byte; +	int ret; + +	/* Verify that the chip is functional */ +	ret = i2c_eeprom_read(dev, 0, &test_byte, 1); +	if (ret) +		return -ENODEV; +  	return 0;  } | 
