05 Oct, 2017
1 commit
-
Add PCI ID for Intel Cedar Fork PCH.
Signed-off-by: Jarkko Nikula
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
22 Aug, 2017
1 commit
-
Specifically mention what drivers are mux-locked and parent-locked.
Signed-off-by: Peter Rosin
19 Jun, 2017
1 commit
-
Added SMBUS PCI Ids for SMBUS for Cannon Lake PCH.
Signed-off-by: Srinivas Pandruvada
[jarkko.nikula@linux.intel.com: Add entries to Documentation and Kconfig.
Cover Cannon Lake-H too]
Signed-off-by: Jarkko Nikula
Signed-off-by: Wolfram Sang
01 Jun, 2017
1 commit
-
The I2C core files were renamed, adapt the textfile to it.
Reviewed-by: Andy Shevchenko
Signed-off-by: Wolfram Sang
10 Feb, 2017
2 commits
-
Intel Gemini Lake has the same SMBus host controller than Intel Broxton.
Signed-off-by: Mika Westerberg
Signed-off-by: Jean Delvare
Signed-off-by: Wolfram Sang -
The rename did the wrong thing for this documentation file all those
years ago. Fix that as well as the neglected rename of the platform
data structure.Fixes: e7065e20d9a6 ("i2c: Rename last mux driver to standard pattern")
Signed-off-by: Peter Rosin
Signed-off-by: Wolfram Sang
16 Dec, 2016
1 commit
-
Pull i2c updates from Wolfram Sang:
- the first series of making i2c_device_id optional instead of
mandatory (in favor of alternatives like of_device_id).This involves adding a new probe callback (probe_new) which removes
some peculiarities I2C had for a long time now. The new probe is
matching the other subsystems now and the old one will be removed
once all users are converted. It is expected to take a while but
there is ongoing interest in that.- SMBus Host Notify introduced 4.9 got refactored. They are now using
interrupts instead of the alert callback which solves multiple
issues.- new drivers for iMX LowPower I2C, Mellanox CPLD and its I2C mux
- significant refactoring for bcm2835 driver
- the usual set of driver updates and improvements
* 'i2c/for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (46 commits)
i2c: fsl-lpi2c: read lpi2c fifo size in probe()
i2c: octeon: thunderx: Remove double-check after interrupt
i2c: octeon: thunderx: TWSI software reset in recovery
i2c: cadence: Allow Cadence I2C to be selected for Cadence Xtensa CPUs
i2c: sh_mobile: Add per-Generation fallback bindings
i2c: rcar: Add per-Generation fallback bindings
i2c: imx-lpi2c: add low power i2c bus driver
dt-bindings: i2c: imx-lpi2c: add devicetree bindings
i2c: designware-pcidrv: Add 10bit address feature to medfield/merrifield
i2c: pxa: Add support for the I2C units found in Armada 3700
i2c: pxa: Add definition of fast and high speed modes via the regs layout
dt-bindings: i2c: pxa: Update the documentation for the Armada 3700
i2c: qup: support SMBus block read
i2c: qup: add ACPI support
i2c: designware: Consolidate default functionality bits
i2c: i2c-mux-gpio: update mux with gpiod_set_array_value_cansleep
i2c: mux: pca954x: Add ACPI support for pca954x
i2c: use an IRQ to report Host Notify events, not alert
i2c: i801: remove SMBNTFDDAT reads as they always seem to return 0
i2c: i801: use the BIT() macro for FEATURES_* also
...
24 Nov, 2016
2 commits
-
The current SMBus Host Notify implementation relies on .alert() to
relay its notifications. However, the use cases where SMBus Host
Notify is needed currently is to signal data ready on touchpads.This is closer to an IRQ than a custom API through .alert().
Given that the 2 touchpad manufacturers (Synaptics and Elan) that
use SMBus Host Notify don't put any data in the SMBus payload, the
concept actually matches one to one.Benefits are multiple:
- simpler code and API: the client will just have an IRQ, and
nothing needs to be added in the adapter beside internally
enabling it.
- no more specific workqueue, the threading is handled by IRQ core
directly (when required)
- no more races when removing the device (the drivers are already
required to disable irq on remove)
- simpler handling for drivers: use plain regular IRQs
- no more dependency on i2c-smbus for i2c-i801 (and any other adapter)
- the IRQ domain is created automatically when the adapter exports
the Host Notify capability
- the IRQ are assign only if ACPI, OF and the caller did not assign
one already
- the domain is automatically destroyed on remove
- fewer lines of code (minus 20, yeah!)Signed-off-by: Benjamin Tissoires
Signed-off-by: Wolfram Sang -
Device driver for Mellanox I2C controller logic, implemented in Lattice
CPLD device.
Device supports:
- Master mode
- One physical bus
- Polling modeThe Kconfig currently controlling compilation of this code is:
drivers/i2c/busses/Kconfig:config I2C_MLXCPLDSigned-off-by: Michael Shych
Signed-off-by: Vadim Pasternak
Reviewed-by: Jiri Pirko
Reviewed-by: Vladimir Zapolskiy
Signed-off-by: Wolfram Sang
11 Nov, 2016
1 commit
-
Signed-off-by: Peter Rosin
Signed-off-by: Wolfram Sang
08 Sep, 2016
1 commit
-
Make it clear that adding slave support shall not disable master
functionality. We can have both, so we should.Signed-off-by: Wolfram Sang
24 Jul, 2016
2 commits
-
pm_runtime_forbid was the wrong knob, this is the better one.
Signed-off-by: Wolfram Sang
-
Signed-off-by: Wolfram Sang
17 Jun, 2016
1 commit
-
SMBus Host Notify allows a slave device to act as a master on a bus to
notify the host of an interrupt. On Intel chipsets, the functionality
is directly implemented in the firmware. We just need to export a
function to call .alert() on the proper device driver.i2c_handle_smbus_host_notify() behaves like i2c_handle_smbus_alert().
When called, it schedules a task that will be able to sleep to go through
the list of devices attached to the adapter.The current implementation allows one Host Notification to be scheduled
while an other is running.Tested-by: Andrew Duggan
Signed-off-by: Benjamin Tissoires
Signed-off-by: Wolfram Sang
05 May, 2016
4 commits
-
The root i2c adapter lock is then no longer held by the i2c mux during
accesses behind the i2c gate, and such accesses need to take that lock
just like any other ordinary i2c accesses do.So, declare the i2c gate mux-locked, and zap the regmap overrides
that makes the i2c accesses unlocked and use plain old regmap
accesses. This also removes the need for the regmap wrappers used by
rtl2832_sdr, so deconvolute the code further and provide the regmap
handle directly instead of the wrapper functions.Tested-by: Antti Palosaari
Signed-off-by: Peter Rosin
Signed-off-by: Wolfram Sang -
The root i2c adapter lock is then no longer held by the i2c mux during
accesses behind the i2c gate, and such accesses need to take that lock
just like any other ordinary i2c accesses do.So, declare the i2c gate mux-locked, and zap the code that makes the
i2c accesses unlocked. But add a mutex so that firmware commands are
still serialized.Signed-off-by: Antti Palosaari
Signed-off-by: Peter Rosin
Signed-off-by: Wolfram Sang -
The root i2c adapter lock is then no longer held by the i2c mux during
accesses behind the i2c gate, and such accesses need to take that lock
just like any other ordinary i2c accesses do.So, declare the i2c gate mux-locked, and zap the code that makes the
unlocked i2c accesses and just use ordinary regmap_write accesses.This also happens to fix the deadlock described in
http://patchwork.ozlabs.org/patch/584776/ authored by
Adriana Reus and submitted by
Daniel Baluta----------8mlock) i2c_transfer
| |
i2c transaction i2c adapter lock
| |
i2c adapter lock i2c_mux_master_xfer
|
inv_mpu6050_select_bypass
|
mutex_lock(&indio_dev->mlock)When we operate on an mpu sensor the order of locking is mpu lock
followed by the i2c adapter lock. However, when we operate the auxiliary
sensor the order of locking is the other way around....
----------8
Acked-by: Daniel Baluta
Tested-by: Crestez Dan Leonard
Signed-off-by: Peter Rosin
Signed-off-by: Wolfram Sang -
Signed-off-by: Peter Rosin
Signed-off-by: Wolfram Sang
11 Feb, 2016
1 commit
-
This path fix spelling typos found in Documentation/i2c.
Signed-off-by: Masanari Iida
Signed-off-by: Jonathan Corbet
20 Nov, 2015
1 commit
-
Adding Intel codename Lewisburg platform device IDs for SMBus.
Signed-off-by: Alexandra Yates
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
26 Oct, 2015
1 commit
-
Add missing entries into i2c-i801 documentation and Kconfig about recently
added Intel DNV and Broxton.Reported-by: Jean Delvare
Signed-off-by: Jarkko Nikula
Reviewed-by: Mika Westerberg
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
24 Aug, 2015
1 commit
-
We now have seperate address spaces for 10 bit and we-are-slave clients.
Update the sysfs device instantiation method to support these types by
accepting the address offsets that are assigned to the extra address
spaces. Update the documentation, too.Signed-off-by: Wolfram Sang
Signed-off-by: Wolfram Sang
10 Aug, 2015
1 commit
-
Add support for VCT-jig parallel port I2C adapter to i2c-parport.
The adapter schematic can be found here (in the RAR file):
http://remont-aud.net/shop/22/desc/vct-jig-komplekt-dlja-samostojatelnoj-sborkiSigned-off-by: Ondrej Zary
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
26 Jun, 2015
1 commit
-
Pull i2c updates from Wolfram Sang:
"Highlights:- new drivers for Mediatek I2C, APM X-Gene, Broadcom Settop
- major updates to at91, davinci
- bugfixes to the mux infrastructure when dealing with the new quirk
mechanism
- more users for the bus recovery feature
- further improvements to the slave frameworkPlus the usual bunch of smaller driver and core improvements and
fixes.There is one patch removing old code from an ARM platform. This has
been acked by the sh_mobile maintainer Simon Horman"* 'i2c/for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (48 commits)
i2c: busses: i2c-bcm2835: limits cdiv to allowed values
i2c: sh_mobile: use proper type for timeout
i2c: sh_mobile: use adapter default for timeout
i2c: rcar: use proper type for timeout
i2c: rcar: use adapter default for timeout
i2c: designware: Make sure the device is suspended before disabling runtime PM
i2c: tegra: apply size limit quirk
i2c: tegra: don't advertise SMBUS_QUICK
i2c: octeon: remove unused signal handling
i2c: davinci: Optimize SCL generation
i2c: mux: pca954x: Use __i2c_transfer because of quirks
i2c: mux: Use __i2c_transfer() instead of calling parent's master_xfer()
i2c: use parent adapter quirks in mux
i2c: bcm2835: clear reserved bits in S-Register
ARM: shmobile: r8a7740: remove I2C errata handling
i2c: sh_mobile: add errata workaround
i2c: at91: fix code checker warnings
i2c: busses: xgene-slimpro: fix incorrect __init declation for probe
i2c: davinci: Avoid sending to own address
i2c: davinci: Refactor i2c_davinci_wait_bus_not_busy()
...
17 Jun, 2015
1 commit
-
I copied the wrong shell code into the documentation. Sorry to all who
tried to get sense out of this current example :/ Slight rewording while
we are here.Reported-by: Tim Bakker
Signed-off-by: Wolfram Sang
Signed-off-by: Wolfram Sang
Cc: stable@kernel.org
01 Jun, 2015
1 commit
-
There was some confusion what was needed to utilize the slave support,
so let's be more precise about this. Add an introductory paragraph to
the development section while we are here.Signed-off-by: Wolfram Sang
Acked-by: Geert Uytterhoeven
Signed-off-by: Wolfram Sang
27 Mar, 2015
2 commits
-
Signed-off-by: Wolfram Sang
Acked-by: Geert Uytterhoeven
Signed-off-by: Wolfram Sang -
Signed-off-by: Wolfram Sang
Signed-off-by: Wolfram Sang
19 Feb, 2015
1 commit
-
Since commit 607ca46e97 ('UAPI: (Scripted) Disintegrate include/linux') the
list of functionality constants moved to include/uapi/linux/i2c.h. Update the
reference accordingly.Fixes: 607ca46e97 ('UAPI: (Scripted) Disintegrate include/linux')
Signed-off-by: Baruch Siach
Signed-off-by: Wolfram Sang
05 Dec, 2014
1 commit
-
New drivers should use PM ops instead of the legacy suspend/resume
callbacks. Update the I2C device driver guides to reflect this.Signed-off-by: Lars-Peter Clausen
Signed-off-by: Wolfram Sang
13 Nov, 2014
1 commit
-
Signed-off-by: Devin Ryles
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
16 Oct, 2014
1 commit
-
This patch adds the I2C/SMBus Device IDs for the Intel Sunrise Point PCH.
Signed-off-by: James Ralston
Signed-off-by: Wolfram Sang
08 Sep, 2014
1 commit
-
The example code provided with the i2c device interface documentation
won't compile since it uses the reserved word "register" to name a
variable.The compiler fails with this error message:
error: expected identifier or '(' before '=' token
__u8 register = 0x20; /* Device register to access */
^Rename the variable "register" to simply "reg" in the example code.
Another couple of typos has been fixed as well.
[Change "! =" to "!=".]Signed-off-by: Jose Alarcon Roldan
Signed-off-by: Randy Dunlap
Acked-by: Wolfram Sang
Signed-off-by: Linus Torvalds
18 Jul, 2014
3 commits
-
Signed-off-by: Jean Delvare
Signed-off-by: Wolfram Sang -
Some chips implement banked register ranges. This allows implementing
more registers than the limited 8-bit address space originally allows.
In order to access a register on these chips, you must first select
the proper bank. Add support for this mechanism to the i2c-stub driver
so that such chips can be emulated. All the bank settings are passed
as module parameters.Signed-off-by: Jean Delvare
Tested-by: Guenter Roeck
Signed-off-by: Wolfram Sang -
SMBus block commands are different to I2C block commands since
the returned data is not normally accessible with byte or word
commands on other command offsets. Add linked list of 'block'
commands to support those commands.Access mechanism is quite simple: Block commands must be written
before they can be read. Subsequent writes can be partial. Block
read commands always return the number of bytes associated with
the longest previous write.Signed-off-by: Guenter Roeck
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
06 Apr, 2014
1 commit
-
Sort the entries alphabetically. Make the introductory paragraph more
precise. Skip useless 'Flag' introduction from the entries. Remove
trailing white spaces from the file. Add missing I2C_M_STOP entry.Signed-off-by: Wolfram Sang
12 Mar, 2014
1 commit
-
Signed-off-by: Geert Uytterhoeven
Signed-off-by: Wolfram Sang
10 Mar, 2014
1 commit
-
Add Device ID of Intel BayTrail SMBus Controller.
Signed-off-by: Chew, Kean ho
Signed-off-by: Chew, Chiau Ee
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
16 Feb, 2014
1 commit
-
Signed-off-by: Wolfram Sang
Acked-by: Guenter Roeck