Thread (1 message) 1 message, 1 author, 2011-12-15

[PATCH v2 07/10] arm/dts: omap4-panda: Add twl6030 and i2c EEPROM

From: Kevin Hilman <hidden>
Date: 2011-12-15 00:31:53
Also in: linux-devicetree, linux-omap

"Cousson, Benoit" [off-list ref] writes:
Hi Kevin,

On 12/14/2011 6:06 AM, Kevin Hilman wrote:
quoted
Hi Benoit,

Benoit Cousson[off-list ref]  writes:
quoted
Update pandaboard dts file with required clock frequencies
for the i2c client devices existing on pandaboard.

Add the twl6030 node in i2c1 controller.

This is the minimal support needed to boot OMAP4 boards
without any crash.
The support for all the features included in this MFD will be
added later.

Add a generic i2c EEPROM entry.

Signed-off-by: Benoit Cousson<redacted>
Cc: Grant Likely<redacted>
---
  arch/arm/boot/dts/omap4-panda.dts |   45 +++++++++++++++++++++++++++++++++++++
  1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts
index 9755ad5..b66bcd6 100644
--- a/arch/arm/boot/dts/omap4-panda.dts
+++ b/arch/arm/boot/dts/omap4-panda.dts
@@ -18,3 +18,48 @@
  		reg =<0x80000000 0x40000000>; /* 1 GB */
  	};
  };
+
+&i2c1 {
+	clock-frequency =<400000>;
+
+	/*
+	 * Integrated Power Management Chip
+	 * http://www.ti.com/lit/ds/symlink/twl6030.pdf
+	 */
+	twl at 48 {
+		compatible = "ti,twl6030";
+		reg =<0x48>;
+		/* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
+		interrupts =<0 7 4>; /* IRQ_SYS_1N cascaded to gic */
+		interrupt-controller;
+		#interrupt-cells =<1>;
+		interrupt-parent =<&gic>;
+
+		/* twl is a MFD, so it will contain a bunch of sub-ips */
+		rtc {
+			compatible = "ti,twl4030-rtc";
+			interrupts =<11>;
+		};
After seeing the mostly cut&  paste in Rajendra's regulator series, I'm
wondering if it wouldn't be better to just have a twl4030.dtsi here
which has the RTC and all the regulators with the default voltage ranges
from the TWL data sheet.
Yes, indeed, it is still small here but will become much bigger with
the regulators.
In fact twl6030 is a SoC like OMAP, so all the TWL specific internal
details can be located in a single file.
The board will just have to provide the i2c address and the IRQ information.
quoted
Not knowing much about how includes work in DT, would it then be
possible for board files to override things like default voltage ranges
for regulators?
To be honest, I was wondering as well how to do that with the
/include/ functionality :-)
But I've just done a couple of DTC test, and this seems to be pretty
straightforward.

The boards will contain that:
&i2c1 {
	clock-frequency = <400000>;

	twl: twl at 48 {
		reg = <0x48>;
		/* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
		interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
		interrupt-controller;
		interrupt-parent = <&gic>;
	};
};

/include/ "twl6030.dtsi"
Nice.
...

And the twl6030.dtsi will contain that for the moment:

/*
 * Integrated Power Management Chip
 * http://www.ti.com/lit/ds/symlink/twl6030.pdf
 */
&twl {
	compatible = "ti,twl6030";
	#interrupt-cells = <1>;

	/* twl is a MFD, so it will contain a bunch of sub-ips */
	rtc {
		compatible = "ti,twl4030-rtc";
		interrupts = <11>;
	};
};

And then all the regulators from Rajendra's series will be there as well.

This will avoid the duplication between sdp and panda. Beagle will
need a twl4030.dtsi which is different than the twl6030.
Great!
I'll update and repost the series soon.
Thanks,

Kevin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help