Skip to contentSkip to conversation

OMAP4: Add DT support for i2c and twl6030

PATCH Superseded Benoit Cousson 2 participants 4 messages Dec 9, 2011 – Dec 10, 2011

Subsystems (4)

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

v2 cover OMAP4: Add DT support for i2c and twl6030

Hi Tony and Rob,

Here is the updated version of the i2c + twl DT adaptation.

This update, compared to v1 [1], is mainly due to the merge into 3.2 of Andy's i2c cleanup series that was introducing a lot of pdata accesses at runtime.

The pm.c was updated to prevent the SR / VP initialization in the DT context since none of them is DT aware for the moment.

A couple of basic i2c devices are added for panda, beagle and sdp board.

Patches are based on for_3.3/2_dt_irq, to get the latest GIC binding, and are available here:
git://gitorious.org/omap-pm/linux.git for_3.3/3_omap_dt_i2c_twl

Tested on Beagle and sdp4430.

Comments are welcome.

Regards,
Benoit

[1] http://lists.ozlabs.org/pipermail/devicetree-discuss/2011-September/007821.html

Benoit Cousson (10):
ARM: OMAP2+: pm: Do not init statically the SR and voltage layer with DT
i2c: OMAP: Add DT support for i2c controller
mfd: twl-core: Add initial DT support for twl4030/twl6030
rtc: rtc-twl: Add DT support for RTC inside twl4030/twl6030 arm/dts: OMAP4: Add i2c controller nodes
arm/dts: OMAP3: Add i2c controller nodes
arm/dts: omap4-panda: Add twl6030 and i2c EEPROM
arm/dts: omap4-sdp: Add twl6030, i2c3 and i2c4 devices arm/dts: omap3-beagle: Add twl4030 and i2c EEPROM
ARM: OMAP2+: board-generic: Remove i2c static init

 Documentation/devicetree/bindings/i2c/omap-i2c.txt |   42 ++++++++
 .../devicetree/bindings/mfd/twl-familly.txt        |   47 +++++++++
 Documentation/devicetree/bindings/rtc/twl-rtc.txt  |   12 +++
 arch/arm/boot/dts/omap3-beagle.dts                 |   38 ++++++++
 arch/arm/boot/dts/omap3.dtsi                       |   28 ++++++
 arch/arm/boot/dts/omap4-panda.dts                  |   45 +++++++++
 arch/arm/boot/dts/omap4-sdp.dts                    |   63 ++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |   28 ++++++
 arch/arm/mach-omap2/board-generic.c                |   48 +---------
 arch/arm/mach-omap2/pm.c                           |    8 ++
 drivers/i2c/busses/i2c-omap.c                      |  100 +++++++++++++-------
 drivers/mfd/twl-core.c                             |   53 ++++++++++-
 drivers/rtc/rtc-twl.c                              |   10 ++-
 13 files changed, 435 insertions(+), 87 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/omap-i2c.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/twl-familly.txt
 create mode 100644 Documentation/devicetree/bindings/rtc/twl-rtc.txt
#1 lore raw

PATCH v2 1/10 ARM: OMAP2+: pm: Do not init statically the SR and voltage layer with DT

In the case of DT, the PMIC and SR initialization will be done using a completely different mechanism.

Disable this part if a DT blob is available.

---
 arch/arm/mach-omap2/pm.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/pm.c +8 -0
index 1881fe9..ad4f693 100644
@@ -227,6 +227,14 @@ postcore_initcall(omap2_common_pm_init);
 
 static int __init omap2_common_pm_late_init(void)
 {
+	/*
+	 * In the case of DT, the PMIC and SR initialization will be done using
+	 * a completely different mechanism.
+	 * Disable this part if a DT blob is available.
+	 */
+	if (of_have_populated_dt())
+		return 0;
+
 	/* Init the voltage layer */
 	omap_pmic_late_init();
 	omap_voltage_late_init();
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH v2 1/10 ARM: OMAP2+: pm: Do not init statically the SR and voltage layer with DT

Quoted 7 lines · Benoit Cousson

In the case of DT, the PMIC and SR initialization will be done using a completely different mechanism.

Disable this part if a DT blob is available.

Quoted 23 lines
---
 arch/arm/mach-omap2/pm.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/pm.c +8 -0
index 1881fe9..ad4f693 100644
@@ -227,6 +227,14 @@ postcore_initcall(omap2_common_pm_init);
 
 static int __init omap2_common_pm_late_init(void)
 {
+	/*
+	 * In the case of DT, the PMIC and SR initialization will be done using
+	 * a completely different mechanism.
+	 * Disable this part if a DT blob is available.
+	 */
+	if (of_have_populated_dt())
+		return 0;
+
 	/* Init the voltage layer */
 	omap_pmic_late_init();
 	omap_voltage_late_init();
#3 lore raw

v2 cover OMAP4: Add DT support for i2c and twl6030

In reply to Benoit Cousson

Mmm, the send-email was aborted because Manju's email is not valid anymore.

I'll repost after removing the email from the patches.

Sorry for the noise.

Regards,
Benoit

Quoted 57 lines · Benoit Cousson

Hi Tony and Rob,

Here is the updated version of the i2c + twl DT adaptation.

This update, compared to v1 [1], is mainly due to the merge into 3.2 of Andy's i2c cleanup series that was introducing a lot of pdata accesses at runtime.

The pm.c was updated to prevent the SR / VP initialization in the DT context since none of them is DT aware for the moment.

A couple of basic i2c devices are added for panda, beagle and sdp board.

Patches are based on for_3.3/2_dt_irq, to get the latest GIC binding, and are available here:
git://gitorious.org/omap-pm/linux.git for_3.3/3_omap_dt_i2c_twl

Tested on Beagle and sdp4430.

Comments are welcome.

Regards,
Benoit

[1] http://lists.ozlabs.org/pipermail/devicetree-discuss/2011-September/007821.html

Benoit Cousson (10):
ARM: OMAP2+: pm: Do not init statically the SR and voltage layer with DT
i2c: OMAP: Add DT support for i2c controller
mfd: twl-core: Add initial DT support for twl4030/twl6030
rtc: rtc-twl: Add DT support for RTC inside twl4030/twl6030 arm/dts: OMAP4: Add i2c controller nodes
arm/dts: OMAP3: Add i2c controller nodes
arm/dts: omap4-panda: Add twl6030 and i2c EEPROM
arm/dts: omap4-sdp: Add twl6030, i2c3 and i2c4 devices arm/dts: omap3-beagle: Add twl4030 and i2c EEPROM
ARM: OMAP2+: board-generic: Remove i2c static init

  Documentation/devicetree/bindings/i2c/omap-i2c.txt |   42 ++++++++
  .../devicetree/bindings/mfd/twl-familly.txt        |   47 +++++++++
  Documentation/devicetree/bindings/rtc/twl-rtc.txt  |   12 +++
  arch/arm/boot/dts/omap3-beagle.dts                 |   38 ++++++++
  arch/arm/boot/dts/omap3.dtsi                       |   28 ++++++
  arch/arm/boot/dts/omap4-panda.dts                  |   45 +++++++++
  arch/arm/boot/dts/omap4-sdp.dts                    |   63 ++++++++++++
  arch/arm/boot/dts/omap4.dtsi                       |   28 ++++++
  arch/arm/mach-omap2/board-generic.c                |   48 +---------
  arch/arm/mach-omap2/pm.c                           |    8 ++
  drivers/i2c/busses/i2c-omap.c                      |  100 +++++++++++++-------
  drivers/mfd/twl-core.c                             |   53 ++++++++++-
  drivers/rtc/rtc-twl.c                              |   10 ++-
  13 files changed, 435 insertions(+), 87 deletions(-)

create mode 100644 Documentation/devicetree/bindings/i2c/omap-i2c.txt create mode 100644 Documentation/devicetree/bindings/mfd/twl-familly.txt create mode 100644 Documentation/devicetree/bindings/rtc/twl-rtc.txt