linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: dianders@chromium.org (Doug Anderson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow
Date: Fri, 15 Feb 2013 11:46:12 -0800	[thread overview]
Message-ID: <1360957573-864-2-git-send-email-dianders@chromium.org> (raw)
In-Reply-To: <1360957573-864-1-git-send-email-dianders@chromium.org>

We need to use the i2c-arbitrator to talk to any of the devices on i2c
bus 4 on exynos5250-snow so that we don't confuse the embedded
controller (EC).  Add the i2c-arbitrator to the device tree.  As we
add future devices (keyboard, sbs, tps65090) we'll add them on top of
this.

The arbitrated bus is numbered 104 simply as a convenience to make it
easier for people poking around to guess that it might have something
to do with the physical bus 4.

The addition is split between the cros5250-common and the snow device
tree file since not all cros5250-class devices use arbitration.

Signed-off-by: Doug Anderson <dianders@chromium.org>
---
Changes in v3: None
Changes in v2:
- Use new device tree property names / compatible string.
- Include that the GPIOs for arbitration are active low.

 arch/arm/boot/dts/cros5250-common.dtsi |  5 ++++-
 arch/arm/boot/dts/exynos5250-snow.dts  | 25 +++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/cros5250-common.dtsi b/arch/arm/boot/dts/cros5250-common.dtsi
index 46c0980..f451375 100644
--- a/arch/arm/boot/dts/cros5250-common.dtsi
+++ b/arch/arm/boot/dts/cros5250-common.dtsi
@@ -58,7 +58,10 @@
 	};
 
 	i2c at 12CA0000 {
-		status = "disabled";
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <66000>;
+		gpios = <&gpa2 0 3 3 0>,
+			<&gpa2 1 3 3 0>;
 	};
 
 	i2c at 12CB0000 {
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index 17dd951..d2d4b48 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -16,6 +16,10 @@
 	model = "Google Snow";
 	compatible = "google,snow", "samsung,exynos5250";
 
+	aliases {
+		i2c104 = &i2c_104;
+	};
+
 	gpio-keys {
 		compatible = "gpio-keys";
 
@@ -29,6 +33,27 @@
 		};
 	};
 
+	i2c-arbitrator {
+		compatible = "i2c-arbitrator-cros-ec";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		i2c-parent = <&{/i2c@12CA0000}>;
+
+		ap-claim-gpio = <&gpf0 3 1 0x10000 0>;
+		ec-claim-gpio = <&gpe0 4 0 0x10003 0>;
+		slew-delay-us = <10>;
+		wait-retry-us = <3000>;
+		wait-free-us = <50000>;
+
+		/* Use ID 104 as a hint that we're on physical bus 4 */
+		i2c_104: i2c at 0 {
+			reg = <0>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+	};
+
 	/*
 	 * On Snow we've got SIP WiFi and so can keep drive strengths low to
 	 * reduce EMI.
-- 
1.8.1

  parent reply	other threads:[~2013-02-15 19:46 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1360887677-20758-1-git-send-email-dianders@chromium.org>
2013-02-15  0:21 ` [PATCH v2 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow Doug Anderson
2013-02-15  0:21 ` [PATCH v2 3/3] ARM: dts: Add sbs-battery " Doug Anderson
     [not found] ` <1360957573-864-1-git-send-email-dianders@chromium.org>
2013-02-15 19:46   ` Doug Anderson [this message]
2013-03-05 23:48     ` [PATCH v3 2/3] ARM: dts: Add i2c-arbitrator bus " Naveen Krishna Ch
2013-03-13  7:30       ` Kukjin Kim
2013-03-13 15:14         ` Doug Anderson
2013-02-15 19:46   ` [PATCH v3 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-03-05 23:49     ` Naveen Krishna Ch
     [not found]   ` <1363192583-26363-1-git-send-email-dianders@chromium.org>
2013-03-13 16:36     ` [PATCH v4 2/3] ARM: dts: Add i2c-arbitrator bus " Doug Anderson
2013-03-13 16:36     ` [PATCH v4 3/3] ARM: dts: Add sbs-battery " Doug Anderson
     [not found]     ` <1365538361-2763-1-git-send-email-dianders@chromium.org>
2013-04-09 20:12       ` [PATCH v5 2/3] ARM: dts: Add i2c-arbitrator bus " Doug Anderson
2013-04-09 20:12       ` [PATCH v5 3/3] ARM: dts: Add sbs-battery " Doug Anderson
     [not found]     ` <1365543270-10736-1-git-send-email-dianders@chromium.org>
2013-04-09 21:34       ` [PATCH v5 2/3] ARM: dts: Add i2c-arbitrator bus " Doug Anderson
2013-04-10 10:59         ` Kukjin Kim
2013-04-10 11:02           ` Wolfram Sang
2013-04-10 14:12             ` Kukjin Kim
2013-04-09 21:34       ` [PATCH v5 3/3] ARM: dts: Add sbs-battery " Doug Anderson
     [not found]       ` <1366129742-16048-1-git-send-email-dianders@chromium.org>
2013-04-16 16:29         ` [PATCH v6 2/3] ARM: dts: Add i2c-arbitrator bus " Doug Anderson
2013-04-16 16:35           ` Olof Johansson
2013-04-16 16:29         ` [PATCH v6 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-04-16 16:36           ` Olof Johansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1360957573-864-2-git-send-email-dianders@chromium.org \
    --to=dianders@chromium.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).