Wolfram Sang | 31 Oct 11:51 2014

[RFC 2/3] ARM: shmobile: r8a7790: add DMA nodes for IIC

From: Wolfram Sang <wsa+renesas@...>

Signed-off-by: Wolfram Sang <wsa+renesas@...>
 arch/arm/boot/dts/r8a7790.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
index 69b7cd0e7fb3..7e836cc86098 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
 <at>  <at>  -359,6 +359,8  <at>  <at> 
 		reg = <0 0xe6500000 0 0x425>;
 		interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7790_CLK_IIC0>;
+		dmas = <&dmac0 0x61>, <&dmac0 0x62>;
+		dma-names = "tx", "rx";
 		status = "disabled";

 <at>  <at>  -369,6 +371,8  <at>  <at> 
 		reg = <0 0xe6510000 0 0x425>;
 		interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7790_CLK_IIC1>;
+		dmas = <&dmac0 0x65>, <&dmac0 0x66>;
+		dma-names = "tx", "rx";
 		status = "disabled";

 <at>  <at>  -379,6 +383,8  <at>  <at> 
(Continue reading)

Vladimir Zapolskiy | 30 Oct 17:54 2014

[RFC PATCH] i2c: i2c-imx-hdmi: add support of iMX6 HDMI DDC I2C master bus

Please review a proposed iMX6 HDMI DDC controller driver written on
top of I2C framework.

The driver intends to support HDMI on-controller I2C master bus with
limited cababilities, however by nature of the sub-device it seems
reasonable to separate it into a stand-alone driver, which also can be
used independently on general HDMI controller driver, for example as
an additional I2C bus on a board, but please be aware that the bus is
not compliant to I2C specification. To support the selected I2C bus
approach, I suppose it should be possible to read/write e.g. a
connected EEPROM device, not just HDMI EDID blobs.

In my practice I've met iMX6Q boards, where HDMI DDC lines are
connected to iMX6 HDMI DDC pins and not to any of 3 I2C busses, so
presence in the kernel of this driver or a driver with similar
functionality seems to be important.

Main issues with the device/driver:
* iMX6 HDMI controller becomes a shared device (both interrupt and
  memory region) between HDMI driver itself and this I2C bus driver,
* Only two patterns of I2C transactions are supported due to hardware
  limitation, these patters are described in driver's code header.
* The bus controller supports one more multi-byte read pattern (so
  called Extended Read Mode), but Freescale documentation is too vague
  to easily add this mode into the driver.

If somebody wants to test the driver, please do additional changes to
the code:

(Continue reading)

Ezequiel Garcia | 29 Oct 20:57 2014

[PATCH 0/2] i2c: Imagination Technologies I2C adapter driver

This patchset adds a new adapter driver supporting the Imagination Technologies
I2C Serial Control Bus (SCB) controller.

The driver supports the usual FIFO-based mode of operation (so-called automatic
in the driver), and also a set lower-level modes of operation that is used
for 0-length writes and for bus recovery routines.

The recently merged bus recovery infrastructure is not used, given this driver
already implements a fairly complex bus recovery, and has been tested
extensively with it.

Based on v3.18-rc2.

James Hogan (2):
  i2c: Add Imagination Technologies I2C SCB driver
  DT: i2c: Add binding document for IMG I2C SCB

 .../devicetree/bindings/i2c/i2c-img-scb.txt        |   14 +
 drivers/i2c/busses/Kconfig                         |   10 +
 drivers/i2c/busses/Makefile                        |    1 +
 drivers/i2c/busses/i2c-img-scb.c                   | 1369 ++++++++++++++++++++
 4 files changed, 1394 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-img-scb.txt
 create mode 100644 drivers/i2c/busses/i2c-img-scb.c



Pantelis Antoniou | 29 Oct 09:40 2014

[PATCH] of: spi: Export single device registration method and accessors (v2)

Dynamically inserting spi device nodes requires the use of a single
device registration method. Rework and export it.

Methods to lookup a device/master using a device node are added
as well, of_find_spi_master_by_node() & of_find_spi_device_by_node().

Changes since v1:
* Brown paper bug with parameter on of_register_spi_device().

Signed-off-by: Pantelis Antoniou <pantelis.antoniou@...>
 drivers/spi/spi.c | 255 +++++++++++++++++++++++++++++++++---------------------
 1 file changed, 157 insertions(+), 98 deletions(-)

diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index ebcb33d..4778366 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
 <at>  <at>  -1220,6 +1220,122  <at>  <at>  err_init_queue:

 #if defined(CONFIG_OF)
+static struct spi_device *
+of_register_spi_device(struct spi_master *master, struct device_node *nc)
+	struct spi_device *spi;
+	int rc;
+	u32 value;
(Continue reading)

Martin Belanger | 27 Oct 19:46 2014

Problem with multiple i2c multiplexers on the same bus

This is regarding a series of emails between Guenter Roeck and Jean
Delvare titled "Problem with multiple i2c multiplexers on one bus, and
mux bus naming" sent in November 2013. Ref:

I'm having the same problem with multiple PCA954x multiplexers on the
same bus and there is no way to tell them apart just by looking at the
"name" file.

There was a suggestion to change the name from "i2c-N-mux (chan_id M)"
to "i2c-N-mux-XX (chan_id M)" or even "i2c-N-mux-i2c-XX (chan_id M)",
where XX is the multiplexer's i2c address. That would solve my
problem, but unfortunately it looks like Guenter never submitted the
patch (or maybe it was rejected?).

I would like to submit a similar change, but I was thinking of adding
a module parameter so that the change is not the default behavior.
The idea is to preserve backward compatibility for applications that
don't require this fix. For example, modprobe i2c-dev
explicit_mux_id=1 would use i2c-N-mux-i2c-XX (chan_id M), whereas
modprobe i2c-dev would default to the current behavior: i.e. i2c-N-mux
(chan_id M).

Any thoughts, comments?

Octavian Purdila | 27 Oct 17:31 2014

[PATCH v9 0/4] mfd: add support for Diolan DLN-2

This patch series adds support for Diolan USB-I2C/GPIO Master Adapter
DLN-2. Details about device can be found here:


This patch series is against the MFD tree branch
for-mfd-next-v3.19. It does include a gpiolib patch that was merged by
Linus W but it was not yet pulled into Lee's tree.

Changes since v8:

 * common: remove result parameter from dln2_transfer as it is not yet
   used in this patch set (we will add it later with the i2c change
   freq patches); fix comments to wrap to 80 columns instead of 70

 * MFD: add two variants for dln2_transfer: dln2_trasfer_rx and
   dln2_transfer_tx; use entry instead of new_cb in
   dln2_register_event_cb; rename dln2_rx_transfer to
   dln2_transfer_complete and add comment about the URB completion,
   also move the warning about late/missing responses here;

 * GPIO: use dln2_transfer_rx and dln2_transfer_tx where possible

 * I2C: use dln2_transfer_rx and dln2_transfer_tx where possible; use
   adapter's device instead of platform's device for
   dev_err/dev_info/etc prints

Daniel Baluta (1):
  gpio: add support for the Diolan DLN-2 USB GPIO driver

(Continue reading)

Lan Tianyu | 27 Oct 16:09 2014

[RFC PATCH V2] ACPI: Add _DEP(Operation Region Dependencies) support to fix battery issue on the Asus T100TA

ACPI 5.0 introduces _DEP to designate device objects that OSPM should
assign a higher priority in start ordering due to future operation region

On Asus T100TA, ACPI battery info are read from a I2C slave device via
I2C operation region. Before I2C operation region handler is installed,
battery _STA always returns 0. There is a _DEP method of designating
start order under battery device node.

This patch is to implement _DEP feature to fix battery issue on the Asus T100TA.
Introducing acpi_dep_list and adding dep_unmet count in the struct
acpi_device. During ACPI namespace scan, create struct acpi_dep_data for a
valid pair of master (device pointed to by _DEP)/slave(device with _DEP), record
master's and slave's ACPI handle in it and put it into acpi_dep_list. The dep_unmet
count will increase by one if there is a device under its _DEP. Driver's probe() should
return EPROBE_DEFER when find dep_unmet larger than 0. When I2C operation
region handler is installed, remove all struct acpi_dep_data on the acpi_dep_list
whose master is pointed to I2C host controller and decrease slave's dep_unmet.
When dep_unmet decreases to 0, all _DEP conditions are met and then do acpi_bus_attach()
for the device in order to resolve battery _STA issue on the Asus T100TA.

Signed-off-by: Lan Tianyu <tianyu.lan@...>
Change since V1:
	Rework struct acpi_dep_data, record master and slave's ACPI handle.
Rename dep_present with dep_unmet and make it as a count. Increase dep_unmet
during bootup and decrease it when associated operation region is installed.

 drivers/acpi/scan.c     | 91 +++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/i2c/i2c-core.c  |  1 +
(Continue reading)

Vitalis Ekeh | 26 Oct 10:40 2014

about your late Uncle.

Senior Advocate, International Legal Practitioner
Ekeh chambers & Financial ATTORNEY


This is to officially notify you on the unclaimed fund abandoned by my
late client who his name corresponded with your surname. As the
personal lawyer of the deceased and the trustee of his documentations
regarding his affairs, I am contacting you in this claim since you
both bear the same surnames, a national of your country. If you
response I will present you for the claim of unclaimed fund abandoned
by my client, I will inform you more once I receive positive response
from you.

Best regards,

Barrister Vitalis Ekeh. Esq.
Michael Lawnick | 24 Oct 13:25 2014

Q: i2c-mux-pca954x.c : How to get deselect activated via device tree?


there is means to unselect I2C multiplexer pca954x after every transfer.
I've now run into situation where I need this feature: When two 
multiplexers are on same bus and they host devices with same address.

I could not yet find out from documentation or sources how to get 
deselect feature enabled:

			i2c_add_mux_adapter(adap, &client->dev, client,
				force, num, class, pca954x_select_chan,
				(pdata && pdata->modes[num].deselect_on_exit)
					? pca954x_deselect_mux : NULL);

How to initialize pdata->modes[num].deselect_on_exit?
Some attribute in device tree should do the trick, shouldn't it?

Has anybody a useful hint?


Wenyou Yang | 24 Oct 08:50 2014

[PATCH v3 0/3] i2c/at91: add support PM functions

Hi Wolfram,

The patches is to add the PM functions support for the at91 i2c controller.

It is based on the i2c/for-next branch of 

Best Regards,
Wenyou Yang

Change log:

According to the advice from Kevin Hilman, 
1./ Wrap the runtime suspend/resume functions in CONFIG_PM instead of CONFIG_PM_RUNTIME.
2./ Call the runtime suspend/resume functions directly in the system suspend/resume.

   Covert the system suspend/resume to suspend_noirq/resume_noirq.

Wenyou Yang (3):
  i2c/at91: add support for runtime PM
  i2c/at91: add support for system PM
  i2c/at91: adopt pinctrl support

 drivers/i2c/busses/i2c-at91.c |   71 +++++++++++++++++++++++++++++++++++++----
 1 file changed, 65 insertions(+), 6 deletions(-)


(Continue reading)

John de la Garza | 22 Oct 22:05 2014

Re: [PATCH 1/2] i2c: Add generic support passing secondary devices addresses

instead of:

+	np = client->dev.of_node;
+	if (np) {
+		i = of_property_match_string(np, "reg-names", name);
+		if (i >= 0)
+			of_property_read_u32_index(np, "reg", i, &addr);
+		else if (default_addr != 0)
+			addr = default_addr;
+		else
+			addr = NULL;
+	} else {
+		addr = default_addr;
+	}

how about making the middle part like this to remove the repeated code

	np = client->dev.of_node;
	addr = default_addr;

	if (np) {
		i = of_property_match_string(np, "reg-names", name);
		if (i >= 0)
			of_property_read_u32_index(np, "reg", i, &addr);
		else if (default_addr == 0)
			addr = NULL;

(Continue reading)