<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/i2c, branch v2019.04-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/i2c?h=v2019.04-rc2</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/i2c?h=v2019.04-rc2'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2019-02-14T13:31:10Z</updated>
<entry>
<title>i2c: Remove ancient zynq_i2c driver</title>
<updated>2019-02-14T13:31:10Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2019-01-22T11:50:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f88185bcc3102ae747371dd0d3930938c2d8e9df'/>
<id>urn:sha1:f88185bcc3102ae747371dd0d3930938c2d8e9df</id>
<content type='text'>
This driver is replaced by drivers/i2c/i2c-cdns.c DM based driver.

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Acked-by: Heiko Schocher &lt;hs@denx.de&gt;
</content>
</entry>
<entry>
<title>i2c: mux: Generate longer i2c mux name</title>
<updated>2019-02-11T08:38:23Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2019-01-31T15:31:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c4bd12a7dad43ed9de3070c7c5e8b690d8c03a79'/>
<id>urn:sha1:c4bd12a7dad43ed9de3070c7c5e8b690d8c03a79</id>
<content type='text'>
For !DM case busses are listed as
ZynqMP&gt; i2c bus
Bus 0:	zynq_0
Bus 1:	zynq_0-&gt;PCA9544A@0x75:0
Bus 2:	zynq_0-&gt;PCA9544A@0x75:1
Bus 3:	zynq_0-&gt;PCA9544A@0x75:2
Bus 4:	zynq_1
Bus 5:	zynq_1-&gt;PCA9548@0x74:0
Bus 6:	zynq_1-&gt;PCA9548@0x74:1
Bus 7:	zynq_1-&gt;PCA9548@0x74:2
Bus 8:	zynq_1-&gt;PCA9548@0x74:3
Bus 9:	zynq_1-&gt;PCA9548@0x74:4
Bus 10:	zynq_1-&gt;PCA9548@0x75:0
Bus 11:	zynq_1-&gt;PCA9548@0x75:1
Bus 12:	zynq_1-&gt;PCA9548@0x75:2
Bus 13:	zynq_1-&gt;PCA9548@0x75:3
Bus 14:	zynq_1-&gt;PCA9548@0x75:4
Bus 15:	zynq_1-&gt;PCA9548@0x75:5
Bus 16:	zynq_1-&gt;PCA9548@0x75:6
Bus 17:	zynq_1-&gt;PCA9548@0x75:7

where is exactly describing i2c bus topology.
By moving to DM case i2c mux buses are using names from DT and because
i2c-muxes describing sub busses with the same names like i2c@0, etc it
is hard to identify which bus is where.
Linux is adding topology information to i2c-mux busses to identify them
better.
This patch is doing the same and composing bus name with topology
information.

When patch is applied with topology information on zcu102-revA.
ZynqMP&gt; i2c bus
Bus 0:	i2c@ff020000
   20: gpio@20, offset len 1, flags 0
   21: gpio@21, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus 2:	i2c@ff020000-&gt;i2c-mux@75-&gt;i2c@0
Bus 3:	i2c@ff020000-&gt;i2c-mux@75-&gt;i2c@1
Bus 4:	i2c@ff020000-&gt;i2c-mux@75-&gt;i2c@2
Bus 1:	i2c@ff030000  (active 1)
   74: i2c-mux@74, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus 5:	i2c@ff030000-&gt;i2c-mux@74-&gt;i2c@0  (active 5)
   54: eeprom@54, offset len 1, flags 0
Bus 6:	i2c@ff030000-&gt;i2c-mux@74-&gt;i2c@1
Bus 7:	i2c@ff030000-&gt;i2c-mux@74-&gt;i2c@2
Bus 8:	i2c@ff030000-&gt;i2c-mux@74-&gt;i2c@3
Bus 9:	i2c@ff030000-&gt;i2c-mux@74-&gt;i2c@4
Bus 10:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@0
Bus 11:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@1
Bus 12:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@2
Bus 13:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@3
Bus 14:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@4
Bus 15:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@5
Bus 16:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@6
Bus 17:	i2c@ff030000-&gt;i2c-mux@75-&gt;i2c@7

Behavior before the patch is applied.
ZynqMP&gt; i2c bus
Bus 0:	i2c@ff020000
   20: gpio@20, offset len 1, flags 0
   21: gpio@21, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus 2:	i2c@0
Bus 3:	i2c@1
Bus 4:	i2c@2
Bus 1:	i2c@ff030000  (active 1)
   74: i2c-mux@74, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus 5:	i2c@0  (active 5)
   54: eeprom@54, offset len 1, flags 0
Bus 6:	i2c@1
Bus 7:	i2c@2
Bus 8:	i2c@3
Bus 9:	i2c@4
Bus 10:	i2c@0
Bus 11:	i2c@1
Bus 12:	i2c@2
Bus 13:	i2c@3
Bus 14:	i2c@4
Bus 15:	i2c@5
Bus 16:	i2c@6
Bus 17:	i2c@7

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Heiko Schocher &lt;hs@denx.de&gt;
</content>
</entry>
<entry>
<title>i2c: Fill req_seq in i2c_post_bind()</title>
<updated>2019-02-11T08:38:23Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2019-01-31T15:31:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=61607225d189f7d89a3ad6feba0b2f0e9bee5915'/>
<id>urn:sha1:61607225d189f7d89a3ad6feba0b2f0e9bee5915</id>
<content type='text'>
For i2c controllers which are missing alias in DT there is no req_seq
setup. This function is setting up proper ID based on highest found
alias ID.

On zcu102 this is the behavior when patch is applied.
ZynqMP&gt; i2c bus
Bus 0:	i2c@ff020000
   20: gpio@20, offset len 1, flags 0
   21: gpio@21, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus 2:	i2c@0
Bus 3:	i2c@1
Bus 4:	i2c@2
Bus 1:	i2c@ff030000  (active 1)
   74: i2c-mux@74, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus 5:	i2c@0  (active 5)
   54: eeprom@54, offset len 1, flags 0
Bus 6:	i2c@1
Bus 7:	i2c@2
Bus 8:	i2c@3
Bus 9:	i2c@4
Bus 10:	i2c@0
Bus 11:	i2c@1
Bus 12:	i2c@2
Bus 13:	i2c@3
Bus 14:	i2c@4
Bus 15:	i2c@5
Bus 16:	i2c@6
Bus 17:	i2c@7

Before this patch applied (controllers have -1 ID)
ZynqMP&gt; i2c bus
Bus 0:	i2c@ff020000
   20: gpio@20, offset len 1, flags 0
   21: gpio@21, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus -1:	i2c@0
Bus -1:	i2c@1
Bus -1:	i2c@2
Bus 1:	i2c@ff030000  (active 1)
   74: i2c-mux@74, offset len 1, flags 0
   75: i2c-mux@75, offset len 1, flags 0
Bus -1:	i2c@0  (active 0)
   54: eeprom@54, offset len 1, flags 0
Bus -1:	i2c@1
Bus -1:	i2c@2
Bus -1:	i2c@3
Bus -1:	i2c@4
Bus -1:	i2c@0
Bus -1:	i2c@1
Bus -1:	i2c@2
Bus -1:	i2c@3
Bus -1:	i2c@4
Bus -1:	i2c@5
Bus -1:	i2c@6
Bus -1:	i2c@7

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Reviewed-by: Heiko Schocher &lt;hs@denx.de&gt;
</content>
</entry>
<entry>
<title>i2c: dm: Record maximum id of devices before probing devices</title>
<updated>2019-02-11T08:37:27Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2019-01-31T15:31:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6bfacc8aadb5d30a13413f337053118559a5ef25'/>
<id>urn:sha1:6bfacc8aadb5d30a13413f337053118559a5ef25</id>
<content type='text'>
There is a need to find out the first free i2c ID which can be used for
i2s buses (including i2c buses connected to i2c mux). Do it early in
init and share this variable with other i2c classes for uniq bus
identification.

add from hs:
fix build problem in i2c-uclass.c for omap devices

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Reviewed-by: Heiko Schocher &lt;hs@denx.de&gt;
</content>
</entry>
<entry>
<title>i2c: cdns: Convert to livetree function</title>
<updated>2019-01-24T09:03:45Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2019-01-18T09:43:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=84de0f918844257013cb1f851bed3a10fc9a545d'/>
<id>urn:sha1:84de0f918844257013cb1f851bed3a10fc9a545d</id>
<content type='text'>
Update cadence i2c driver to support livetree
Similar changes were done by:
"net: zynq_gem: convert to use livetree"
(sha1: 26026e695afa794ac018a09e79a48120d322b60d)

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>i2c: Kconfig: spelling fixes</title>
<updated>2019-01-18T14:16:15Z</updated>
<author>
<name>Chris Packham</name>
<email>judge.packham@gmail.com</email>
</author>
<published>2019-01-13T09:13:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7475145449e7520b4217804dfa1d4f2d519a23c5'/>
<id>urn:sha1:7475145449e7520b4217804dfa1d4f2d519a23c5</id>
<content type='text'>
Signed-off-by: Chris Packham &lt;judge.packham@gmail.com&gt;
</content>
</entry>
<entry>
<title>i2c: Reflect correct dependency for !DM cadence driver</title>
<updated>2019-01-15T08:06:46Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2019-01-09T11:00:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1d7b6a5c4f879dd36ac07ad76ec31eb4fcd2b65b'/>
<id>urn:sha1:1d7b6a5c4f879dd36ac07ad76ec31eb4fcd2b65b</id>
<content type='text'>
Setup proper DM_I2C dependency.

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>i2c: mux: Covert to livetree functions</title>
<updated>2019-01-15T08:06:28Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2019-01-09T10:58:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=58dc4a99b7f55fa906f1f797c51fb63daccf8a6d'/>
<id>urn:sha1:58dc4a99b7f55fa906f1f797c51fb63daccf8a6d</id>
<content type='text'>
Updates i2c muxes drivers to support livetree.
Similar changes were done by:
"net: zynq_gem: convert to use livetree"
(sha1: 26026e695afa794ac018a09e79a48120d322b60d)

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>i2c: i2c-cdns: Use proper input frequency</title>
<updated>2019-01-15T08:04:49Z</updated>
<author>
<name>Tomasz Gorochowik</name>
<email>tgorochowik@antmicro.com</email>
</author>
<published>2019-01-03T12:36:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f48ef0d81aa837a33020f8d61abb3929ba613774'/>
<id>urn:sha1:f48ef0d81aa837a33020f8d61abb3929ba613774</id>
<content type='text'>
This is needed to properly calculate i2c bus speed divisors.

Signed-off-by: Tomasz Gorochowik &lt;tgorochowik@antmicro.com&gt;
Signed-off-by: Wojciech Tatarski &lt;wtatarski@antmicro.com&gt;
Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>i2c: xiic: Add Xilinx AXI I2C driver</title>
<updated>2019-01-15T08:04:49Z</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2018-12-19T11:26:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ad827a500b44a0969d9f835850db23b479eb2c44'/>
<id>urn:sha1:ad827a500b44a0969d9f835850db23b479eb2c44</id>
<content type='text'>
Add Xilinx AXI I2C controller driver based on the Linux i2c-xiic driver.
This driver is stripped of all the IRQ handling and uses pure polling,
yet tries to retain most of the structure of the Linux driver to make
backporting of fixes easy.

Note that the IP has a known limitation on 255 bytes read and write,
according to xilinx this is still being worked on [1].

[1] https://forums.xilinx.com/t5/Embedded-Processor-System-Design/AXI-IIC-V2-0-I2C-Master-Reading-multiple-bytes-from-I2C-slave/m-p/854419/highlight/true#M39387

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Michal Simek &lt;michal.simek@xilinx.com&gt;
Cc: Heiko Schocher &lt;hs@denx.de&gt;
Reviewed-by: Heiko Schocher &lt;hs@denx.de&gt;
</content>
</entry>
</feed>
