Skip to contentSkip to conversation

i2c: Describe Cadence I2C devicetree bindings

PATCH New Michal Simek 2 participants 7 messages Apr 11, 2016 – Apr 13, 2016 I2C

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 i2c: Describe Cadence I2C devicetree bindings

From: Moritz Fischer <[email protected]>

---

Changes in v2: None

 doc/device-tree-bindings/i2c/i2c-cdns.txt | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 doc/device-tree-bindings/i2c/i2c-cdns.txt
doc/device-tree-bindings/i2c/i2c-cdns.txt new file +20 -0
new file mode 100644
index 000000000000..202e0b762666
@@ -0,0 +1,20 @@
+Cadence I2C controller Device Tree Bindings
+-------------------------------------------
+
+Required properties:
+- compatible		: Should be "cdns,i2c-r1p10" or "xlnx,zynq-spi-r1p10".
+- reg			: Physical base address and size of I2C registers map.
+- interrupts		: Property with a value describing the interrupt
+			  number.
+- interrupt-parent	: Must be core interrupt controller
+- clocks		: Clock phandles (see clock bindings for details).
+
+Example:
+	i2c0: i2c at e0004000 {
+		compatible = "cdns,i2c-r1p10";
+		reg = <0xe0004000 0x1000>;
+		clocks = <&clkc 38>;
+		interrupts = <0 25 4>;
+		interrupt-parent = <&intc>;
+		status = "disabled";
+	};
Signature · 1 line
1.9.1
#1 lore raw

PATCH v2 2/2 dm: i2c: Add driver for Cadence I2C IP

From: Moritz Fischer <[email protected]>

This is a possible drop in replacement for drivers/i2c/zynq-i2c.c

Since this is cadence IP it has been renamed to cdns-i2c, to make sense with the compatible string.

---

Changes in v2:
- Use dev_get_addr for reading address.

This driver will be used by ZynqMP. Zynq will use zynq-i2c driver till eeprom interface is fixed but this driver can be also enabled for Zynq targets.

---
 drivers/i2c/Kconfig    |   7 ++
 drivers/i2c/Makefile   |   1 +
 drivers/i2c/i2c-cdns.c | 335 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 343 insertions(+)
 create mode 100644 drivers/i2c/i2c-cdns.c
drivers/i2c/Kconfig +7 -0
index 46b83e789418..9324c6c9e5f3 100644
@@ -58,6 +58,13 @@ config DM_I2C_GPIO
 	  bindings are supported.
 	  Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt
 
+config SYS_I2C_CADENCE
+	tristate "Cadence I2C Controller"
+	depends on DM_I2C && (ARCH_ZYNQ || ARM64)
+	help
+	  Say yes here to select Cadence I2C Host Controller. This controller is
+	  e.g. used by Xilinx Zynq.
+
 config SYS_I2C_INTEL
 	bool "Intel I2C/SMBUS driver"
 	depends on DM_I2C
drivers/i2c/Makefile +1 -0
index c75c5793efe2..167424db9820 100644
@@ -16,6 +16,7 @@ obj-$(CONFIG_PCA9564_I2C) += pca9564_i2c.o
 obj-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
 obj-$(CONFIG_SH_SH7734_I2C) += sh_sh7734_i2c.o
 obj-$(CONFIG_SYS_I2C) += i2c_core.o
+obj-$(CONFIG_SYS_I2C_CADENCE) += i2c-cdns.o
 obj-$(CONFIG_SYS_I2C_DAVINCI) += davinci_i2c.o
 obj-$(CONFIG_SYS_I2C_DW) += designware_i2c.o
 obj-$(CONFIG_SYS_I2C_FSL) += fsl_i2c.o
drivers/i2c/i2c-cdns.c new file +335 -0

335 lines not on this page · raw message

Signature · 1 line
1.9.1
#2 lore raw

PATCH v2 2/2 dm: i2c: Add driver for Cadence I2C IP

Hello Michal,

Am 11.04.2016 um 14:55 schrieb Michal Simek:

Quoted 18 lines

From: Moritz Fischer <[email protected]>

This is a possible drop in replacement for drivers/i2c/zynq-i2c.c

Since this is cadence IP it has been renamed to cdns-i2c, to make sense with the compatible string.

---

Changes in v2:
- Use dev_get_addr for reading address.

This driver will be used by ZynqMP. Zynq will use zynq-i2c driver till eeprom interface is fixed but this driver can be also enabled for Zynq targets.

Quoted 6 lines
---
  drivers/i2c/Kconfig    |   7 ++
  drivers/i2c/Makefile   |   1 +
  drivers/i2c/i2c-cdns.c | 335 +++++++++++++++++++++++++++++++++++++++++++++++++
  3 files changed, 343 insertions(+)

create mode 100644 drivers/i2c/i2c-cdns.c

bye,
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#3 lore raw

PATCH v2 2/2 dm: i2c: Add driver for Cadence I2C IP

Quoted 29 lines · Heiko Schocher

Hello Michal,

Am 11.04.2016 um 14:55 schrieb Michal Simek:

Quoted 18 lines

From: Moritz Fischer <[email protected]>

This is a possible drop in replacement for drivers/i2c/zynq-i2c.c

Since this is cadence IP it has been renamed to cdns-i2c, to make sense with the compatible string.

---

Changes in v2:
- Use dev_get_addr for reading address.

This driver will be used by ZynqMP. Zynq will use zynq-i2c driver till eeprom interface is fixed but this driver can be also enabled for Zynq targets.

Quoted 7 lines
---
  drivers/i2c/Kconfig    |   7 ++
  drivers/i2c/Makefile   |   1 +
  drivers/i2c/i2c-cdns.c | 335
+++++++++++++++++++++++++++++++++++++++++++++++++
  3 files changed, 343 insertions(+)

create mode 100644 drivers/i2c/i2c-cdns.c

Quoted 1 line

Do you want me to take this via my xilinx tree? Or are you going to take it via i2c tree?

Thanks,
Michal

#4 lore raw

PATCH v2 2/2 dm: i2c: Add driver for Cadence I2C IP

Hello Michal,

Am 13.04.2016 um 08:01 schrieb Michal Simek:

Quoted 30 lines · Heiko Schocher
Quoted 29 lines

Hello Michal,

Am 11.04.2016 um 14:55 schrieb Michal Simek:

Quoted 25 lines

From: Moritz Fischer <[email protected]>

This is a possible drop in replacement for drivers/i2c/zynq-i2c.c

Since this is cadence IP it has been renamed to cdns-i2c, to make sense with the compatible string.

---

Changes in v2:
- Use dev_get_addr for reading address.

This driver will be used by ZynqMP. Zynq will use zynq-i2c driver till eeprom interface is fixed but this driver can be also enabled for Zynq targets.

---
   drivers/i2c/Kconfig    |   7 ++
   drivers/i2c/Makefile   |   1 +
   drivers/i2c/i2c-cdns.c | 335
+++++++++++++++++++++++++++++++++++++++++++++++++
   3 files changed, 343 insertions(+)

create mode 100644 drivers/i2c/i2c-cdns.c

Quoted 4 lines
Quoted 1 line

Do you want me to take this via my xilinx tree? Or are you going to take it via i2c tree?

I just wanted to create an i2c pull request, but I had a problem with another patch ... so, if you want to pick it up, it is fine for me.

bye,
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#5 lore raw

PATCH v2 2/2 dm: i2c: Add driver for Cadence I2C IP

Quoted 33 lines · Heiko Schocher

Hello Michal,

Am 13.04.2016 um 08:01 schrieb Michal Simek:

Quoted 30 lines · Heiko Schocher
Quoted 29 lines

Hello Michal,

Am 11.04.2016 um 14:55 schrieb Michal Simek:

Quoted 25 lines

From: Moritz Fischer <[email protected]>

This is a possible drop in replacement for drivers/i2c/zynq-i2c.c

Since this is cadence IP it has been renamed to cdns-i2c, to make sense with the compatible string.

---

Changes in v2:
- Use dev_get_addr for reading address.

This driver will be used by ZynqMP. Zynq will use zynq-i2c driver till eeprom interface is fixed but this driver can be also enabled for Zynq targets.

---
   drivers/i2c/Kconfig    |   7 ++
   drivers/i2c/Makefile   |   1 +
   drivers/i2c/i2c-cdns.c | 335
+++++++++++++++++++++++++++++++++++++++++++++++++
   3 files changed, 343 insertions(+)

create mode 100644 drivers/i2c/i2c-cdns.c

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Do you want me to take this via my xilinx tree? Or are you going to take it via i2c tree?

I just wanted to create an i2c pull request, but I had a problem with another patch ... so, if you want to pick it up, it is fine for me.

ok. I will take it via my tree. Going to create PR today.

Thanks,
Michal

#6 lore raw

PATCH v2 1/2 i2c: Describe Cadence I2C devicetree bindings

In reply to Michal Simek

Hello Michal,

Am 11.04.2016 um 14:55 schrieb Michal Simek:

Quoted 11 lines

From: Moritz Fischer <[email protected]>

---

Changes in v2: None

  doc/device-tree-bindings/i2c/i2c-cdns.txt | 20 ++++++++++++++++++++
  1 file changed, 20 insertions(+)

create mode 100644 doc/device-tree-bindings/i2c/i2c-cdns.txt

bye,
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany