27 Apr, 2018
7 commits
-
Add the PCA9646 support, which is 2-wire bus switch and buffered 4-channel.
Signed-off-by: Ye Li
-
When doing "i2c dev 4; i2c probe" with ENET daughter card connected on iMX8QXP MEK
board, we met a i2c bus busy issue, that the BBF of lpi2c always show busy, but the
master is idle, and stop is detected (SDF set).This patch addes a handling to re-init the lpi2c master for this case. Then the issue
can be worked around.Signed-off-by: Ye Li
Acked-by: Peng Fan
(cherry picked from commit 6b4021d04c7f637fd60cf73f9cc46fdebc853790) -
In xfer function, both bus_i2c_read and bus_i2c_write will
send a STOP command. This causes a problem when reading register
data from i2c device.Generally two operations comprise the register data reading:
1. Write the register address to i2c device.
START | chip_addr | W | ACK | register_addr | ACK |2. Read the Data from i2c device.
START | chip_addr | R | ACK | DATA | NACK | STOPThe STOP command should happen at the end of the transfer, otherwise
we will always get data from register address 0Signed-off-by: Ye Li
Acked-by: Peng Fan
(cherry picked from commit c8dac8ea2f07c4fb358b824365a1d345bab017fc) -
For LPI2C IP, NACK is detected by the rising edge of the ninth clock.
In current uboot driver, once NACK is detected, it will reset and then
disable LPI2C master. As a result, we can never see the falling edge
of the ninth clock.Signed-off-by: Gao Pan
(cherry picked from commit dd139ee52b709c95af3e0c968bcbc3cf42cca408)
(cherry picked from commit 59643c7b34415c6a23e0d73a8aed9145b0220a47) -
Add compatible string for i.MX8 and move imx_lpi2c.h from mx7ulp directory
to u-boot include directory as a common header file.Signed-off-by: Ye Li
(cherry picked from commit d016611b59c688df6a8330984f2636c420e5adb5) -
add dependency for CONFIG_SYS_I2C_MXC
Signed-off-by: Peng Fan
(cherry picked from commit cc88d9708a38e82073bfa3ecde3f329a7103b0ff) -
Add the fuse checking in drivers, when the module is disabled in fuse,
the driver will not work.Changed drivers: BEE, GPMI, APBH-DMA, ESDHC, FEC, QSPI, ECSPI, I2C,
USB-EHCI, GIS, LCDIF and EPDC.Signed-off-by: Ye Li
(cherry picked from commit 1704e116f9b39aeb99201919a18bc2b1e19a980e)
(cherry picked from commit 2d3b5df8530cd5ef883750378838dea7c40259af)
09 Mar, 2018
1 commit
-
The @gdsys.cc addresses are supposed to be used for mailing lists.
Switch all occurrences of @gdsys.de mail addresses to their @gdsys.cc
equivalent.Also, Dirk's address was wrong in one place; fix that as well.
Signed-off-by: Mario Six
01 Mar, 2018
4 commits
-
This patch added Kconfig support for CONFIG_ZYNQ_I2C0 and
CONFIG_ZYNQ_I2C1 and enabled it in respective defconfig.Signed-off-by: Vipul Kumar
Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek -
This patch added Kconfig support for CONFIG_SYS_I2C_ZYNQ_SPEED
and set it to default value 100000.Signed-off-by: Vipul Kumar
Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek -
This patch added Kconfig support for CONFIG_SYS_I2C_ZYNQ_SLAVE
and set it default to 0.Signed-off-by: Vipul Kumar
Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek -
This patch added Kconfig support for CONFIG_SYS_I2C_ZYNQ.
Signed-off-by: Vipul Kumar
Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek
19 Feb, 2018
1 commit
-
Previous patch for this driver breaks i2c initialization.
commit 8bcf12ccce89 ("i2c: mvtwsi.c: Avoid NULL dereference")
If actual_speed is passed as NULL in this function:
static void __twsi_i2c_init(struct mvtwsi_registers *twsi, int speed,
int slaveadd, uint *actual_speed)
than __twsi_i2c_set_bus_speed never get called. This causes i2c clock
to run on default speed - 2MHz (measured with oscilloscope). This is issue
on some boards, sunxi for example, since on I2C0 bus PMU is connected.The bootlogs with and without the patch are as follows:
Wihtout the patch:
U-Boot SPL 2018.03-rc2 (Feb 13 2018 - 09:23:17 +0200)
DRAM: 1024 MiB
Failed to set core voltage! Can't set CPU frequency
Trying to boot from FELU-Boot 2018.03-rc2 (Feb 13 2018 - 09:23:17 +0200) Allwinner Technology
CPU: Allwinner A20 (SUN7I)
Model: Olimex A20-OLinuXino-LIME2
I2C: ready
DRAM: 1 GiB
MMC: SUNXI SD/MMC: 0With the patch:
U-Boot SPL 2018.03-rc2-00001-g838ff85 (Feb 13 2018 - 09:24:34 +0200)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from FELU-Boot 2018.03-rc2-00001-g838ff85 (Feb 13 2018 - 09:24:34 +0200) Allwinner Technology
CPU: Allwinner A20 (SUN7I)
Model: Olimex A20-OLinuXino-LIME2
I2C: ready
DRAM: 1 GiB
MMC: SUNXI SD/MMC: 0Signed-off-by: Stefan Mavrodiev
Reviewed-by: Heiko Schocher
18 Feb, 2018
1 commit
-
The IIC on Gen2 is compatible with this driver as well, allow it.
Signed-off-by: Marek Vasut
Cc: Nobuhiro Iwamatsu
06 Feb, 2018
7 commits
-
For '#ifndef CONFIG_DM_I2C' twsi_i2c_init() passes NULL as
4th parameter to __twsi_i2c_init().Identified with cppcheck.
Signed-off-by: Heinrich Schuchardt
-
Simplify the driver logic by extracting a common send_buffer method.
Signed-off-by: Mario Six
-
Make the ihs_i2c driver DM-compatible; for legacy boards, the old functions are
retained within #ifdefs.No board uses the new DM driver yet; this patch only lays the foundation for
future support.Signed-off-by: Mario Six
-
Prepare the function interface of the ihs_i2c driver for DM conversion
in a future patch.While we're at it, fix some style violations, and make the code more readable.
Signed-off-by: Mario Six
-
Make the fsl_i2c driver compatible with a live device tree.
Reviewed-by: Heiko Schocher
Signed-off-by: Mario Six -
Some functions in the fsl_i2c driver are declared as inline, even though
they are quite large, which needlessly increases the size of the
resulting binary.This patch removes the inline declarations.
Reviewed-by: Heiko Schocher
Signed-off-by: Mario Six -
Fix some style violations in the fsl_i2c I2C driver, and use shorter
type names for variables in some cases.Reviewed-by: Heiko Schocher
Signed-off-by: Mario Six
31 Jan, 2018
1 commit
-
This converts the following to Kconfig:
CONFIG_SYS_OMAP24_I2C_SLAVE
CONFIG_SYS_OMAP24_I2C_SPEEDSigned-off-by: Adam Ford
Reviewed-by: Paul Kocialkowski
16 Jan, 2018
2 commits
-
The operation should be OR, not BIT OR.
Signed-off-by: Peng Fan
Cc: Heiko Schocher
Cc: Stefano Babic -
The number 4 is dedicated on i.MX7ULP, but lpi2c will be reused on i.MX8,
4 is not valid. The seq number could be configured by alias node.The following patch will use i2c4 as the begin for i.MX7ULP.
Signed-off-by: Peng Fan
07 Dec, 2017
6 commits
-
The .probe_chip function is supposed to probe an i2c device on the bus to
determine whether a device is answering to a particular address.
at91_i2c_probe_chip() did not do anything resembling this and always
returned 0.It looks as though at91_i2c_probe_chip() was intended to be a .probe
function for the controller, as it was copied-and-pasted to become
at91_i2c_probe() in 0bc8f640a4d7ed.Removing the at91_i2c_probe_chip() function makes the higher layer
(i2c_probe_chip()) try a zero-length read transfer to test for the
presence of a device instead, which does work.Signed-off-by: Alan Ott
Acked-by: Wenyou Yang
Reviewed-by: Heiko Schocher -
The driver must wait for TXRDY after each byte is pushed into
the i2c FIFO before pushing the next byte. Previously this was
not done for the first byte, causing a race condition with zeros
sometimes being sent for the next byte (which is typically the
first actual data byte).Signed-off-by: Alan Ott
Reviewed-by: Heiko Schocher -
Add some comment describing the purpose of struct members and
functions.Signed-off-by: Beniamino Galvani
Reviewed-by: Simon Glass
Reviewed-by: Heiko Schocher -
Change meson_i2c_xfer_msg() to return -EREMOTEIO in case of NACK, as
done by other drivers. Also, don't change the return error in
meson_i2c_xfer().Signed-off-by: Beniamino Galvani
Reviewed-by: Simon Glass
Reviewed-by: Heiko Schocher -
The datasheet doesn't specify a suggested timeout and 500ms seems very
long: reduce it to 100ms.Signed-off-by: Beniamino Galvani
Reviewed-by: Simon Glass
Reviewed-by: Heiko Schocher -
Expand the Kconfig description with hardware features.
Signed-off-by: Beniamino Galvani
Reviewed-by: Simon Glass
Reviewed-by: Heiko Schocher
30 Nov, 2017
1 commit
-
Add driver for the RCar IIC or DVFS I2C controller. This driver is based
on the SH I2C driver, but supports DM and DT probing as well as modern
I2C framework API.Signed-off-by: Marek Vasut
Cc: Nobuhiro Iwamatsu
27 Nov, 2017
1 commit
-
Signed-off-by: Tom Rini
20 Nov, 2017
2 commits
-
Add a driver for the I2C controller available on Amlogic Meson SoCs.
Signed-off-by: Beniamino Galvani
Reviewed-by: Neil Armstrong -
Tweak the i2c transfer to work for devices that want to read data
without addressing a register.Signed-off-by: Nandor Han
Signed-off-by: Martyn Welch
Acked-by: Heiko Schocher
Cc: Heiko Schocher
Cc: Stefano Babic
27 Oct, 2017
2 commits
-
CONFIG_SYS_I2C_FTI2C010 is not enabled by anyone.
Commit 2852709676c8 ("dm: i2c: Add a note to I2C drivers which need
conversion") prompted to convert this driver to DM before June 2017,
but not converted yet.Signed-off-by: Masahiro Yamada
Acked-by: Heiko Schocher -
This driver was used by Blackfin boards, but Blackfin support is
gone. There is no user of this driver.Signed-off-by: Masahiro Yamada
Acked-by: Heiko Schocher
17 Oct, 2017
3 commits
-
Remove useless local variable "s" and use directly
function's parameter "output"Signed-off-by: Patrice Chotard
-
As "v" is a local variable in stm32_i2c_choose_solution()
"v" has to be copied into "s" to avoid data abort in
stm32_i2c_compute_timing().Signed-off-by: Christophe Kerello
Reviewed-by: Patrick DELAUNAY
Signed-off-by: Patrice Chotard -
No global pointer is used in this file.
Signed-off-by: Masahiro Yamada
Reviewed-by: Heiko Schocher
15 Oct, 2017
1 commit
-
Use dev_dbg() functions. It will be helpful to prefix log messages
with the corresponding device name when the core framework is ready.While I am here, I renamed "dev", which was actually private data,
into "priv" because dev->dev looks confusing.Signed-off-by: Masahiro Yamada