Patchwork [V2,2/5] ARM: DT: tegra114: Add i2c controller DT entry

login
register
mail settings
Submitter Laxman Dewangan
Date March 9, 2013, 6:11 p.m.
Message ID <1362852678-13421-3-git-send-email-ldewangan@nvidia.com>
Download mbox | patch
Permalink /patch/226361/
State Superseded, archived
Headers show

Comments

Laxman Dewangan - March 9, 2013, 6:11 p.m.
NVIDIA's Tegra114 has 5 i2c controllers. These controllers have
additional feature/configurations to make it functional over
Tegra30's i2c controller driver.

Add DT entry for i2c controllers and make it compatible with
"nvidia,tegra114-i2c".

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
Changes from V1:
- None

 arch/arm/boot/dts/tegra114.dtsi |   55 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)
Thierry Reding - March 10, 2013, 10:39 p.m.
On Sat, Mar 09, 2013 at 11:41:15PM +0530, Laxman Dewangan wrote:
> NVIDIA's Tegra114 has 5 i2c controllers. These controllers have
> additional feature/configurations to make it functional over
> Tegra30's i2c controller driver.
> 
> Add DT entry for i2c controllers and make it compatible with
> "nvidia,tegra114-i2c".

Both the subject and description should probably use I2C instead of i2c.
Also I don't understand what "make it functional over" means. Perhaps,
since the entries aren't marked compatible with nvidia,tegra30-i2c you
meant to say that they are incompatible with Tegra30?

Thierry
Stephen Warren - March 11, 2013, 5:35 p.m.
On 03/10/2013 04:39 PM, Thierry Reding wrote:
> On Sat, Mar 09, 2013 at 11:41:15PM +0530, Laxman Dewangan wrote:
>> NVIDIA's Tegra114 has 5 i2c controllers. These controllers have 
>> additional feature/configurations to make it functional over 
>> Tegra30's i2c controller driver.
>> 
>> Add DT entry for i2c controllers and make it compatible with 
>> "nvidia,tegra114-i2c".
> 
> Both the subject and description should probably use I2C instead of
> i2c. Also I don't understand what "make it functional over" means.
> Perhaps, since the entries aren't marked compatible with
> nvidia,tegra30-i2c you meant to say that they are incompatible with
> Tegra30?

The second sentence Laxman wrote above should probably say:

These controllers have a modified clocking structure that make them
incompatible with previous hardware.

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren - March 11, 2013, 5:41 p.m.
On 03/09/2013 11:11 AM, Laxman Dewangan wrote:
> NVIDIA's Tegra114 has 5 i2c controllers. These controllers have
> additional feature/configurations to make it functional over
> Tegra30's i2c controller driver.
> 
> Add DT entry for i2c controllers and make it compatible with
> "nvidia,tegra114-i2c".

Hmm. We're missing a binding document for the Tegra I2C module! Can you
please submit a separate patch to add one. When you do, since the
Tegra114 nodes need just a "div-clk" clock, and the Tegra20/30 nodes
need both div-clk and fast-clk, please be sure to mention this in the
document. Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index b73b8a6..14afbc8 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -135,6 +135,61 @@ 
 		clocks = <&tegra_car 65>;
 	};
 
+	i2c@7000c000 {
+		compatible = "nvidia,tegra114-i2c";
+		reg = <0x7000c000 0x100>;
+		interrupts = <0 38 0x04>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		status = "disabled";
+		clocks = <&tegra_car 12>;
+		clock-names = "div-clk";
+	};
+
+	i2c@7000c400 {
+		compatible = "nvidia,tegra114-i2c";
+		reg = <0x7000c400 0x100>;
+		interrupts = <0 84 0x04>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		status = "disabled";
+		clocks = <&tegra_car 54>;
+		clock-names = "div-clk";
+	};
+
+	i2c@7000c500 {
+		compatible = "nvidia,tegra114-i2c";
+		reg = <0x7000c500 0x100>;
+		interrupts = <0 92 0x04>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		status = "disabled";
+		clocks = <&tegra_car 67>;
+		clock-names = "div-clk";
+	};
+
+	i2c@7000c700 {
+		compatible = "nvidia,tegra114-i2c";
+		reg = <0x7000c700 0x100>;
+		interrupts = <0 120 0x04>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		status = "disabled";
+		clocks = <&tegra_car 103>;
+		clock-names = "div-clk";
+	};
+
+	i2c@7000d000 {
+		compatible = "nvidia,tegra114-i2c";
+		reg = <0x7000d000 0x100>;
+		interrupts = <0 53 0x04>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		status = "disabled";
+		clocks = <&tegra_car 47>;
+		clock-names = "div-clk";
+	};
+
 	sdhci@78000000 {
 		compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
 		reg = <0x78000000 0x200>;