Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752774AbbBWPHc (ORCPT ); Mon, 23 Feb 2015 10:07:32 -0500 Received: from down.free-electrons.com ([37.187.137.238]:32778 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751055AbbBWPHb (ORCPT ); Mon, 23 Feb 2015 10:07:31 -0500 Message-ID: <54EB422E.6030502@free-electrons.com> Date: Mon, 23 Feb 2015 16:07:26 +0100 From: Gregory CLEMENT User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Sebastian Hesselbarth CC: Jason Cooper , Andrew Lunn , Gabriel Dobato , Wolfram Sang , Stephen Warren , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 7/8] ARM: dts: dove: Add internal i2c multiplexer node References: <1424199129-22099-1-git-send-email-sebastian.hesselbarth@gmail.com> <1424199129-22099-8-git-send-email-sebastian.hesselbarth@gmail.com> In-Reply-To: <1424199129-22099-8-git-send-email-sebastian.hesselbarth@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3596 Lines: 124 Hi Sebastian, On 17/02/2015 19:52, Sebastian Hesselbarth wrote: > This adds a i2c-mux-pinctrl node to dove.dtsi for the internal i2c > mux found on Dove SoCs. Up to now, we had no board using any of the > two additional i2c busses, so make sure the change does not break > any existing boards. > > Therefore, we rename the i2c-controller node label to "i2c" and > enable it by default. Also, the dedicated sub-bus (now "i2c0") is > enabled by default. The two optional sub-busses require additional > external pin-muxing, so disable them by default. > > Signed-off-by: Sebastian Hesselbarth Acked-by: Gregory CLEMENT Thanks, Gregory > --- > Wolfram, > > Actually, I was hoping that default pin hog mechanism > (pinctrl-names = "default") could also be used from i2c mux nodes > and devices. Anyway, I had a look at i2c-core/mux code and failed > how to achieve that easily. Instead I decided, it would also be ok > to put the pin hog into the i2c controller node where pins will be > bound by standard platform device code. > > Cc: Jason Cooper > Cc: Andrew Lunn > Cc: Gregory Clement > Cc: Gabriel Dobato > Cc: Wolfram Sang > Cc: Stephen Warren > Cc: linux-i2c@vger.kernel.org > Cc: devicetree@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > --- > arch/arm/boot/dts/dove.dtsi | 40 ++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 38 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi > index 9ad829523a13..b3340e862b0e 100644 > --- a/arch/arm/boot/dts/dove.dtsi > +++ b/arch/arm/boot/dts/dove.dtsi > @@ -28,6 +28,42 @@ > }; > }; > > + i2c-mux { > + compatible = "i2c-mux-pinctrl"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + i2c-parent = <&i2c>; > + > + pinctrl-names = "i2c0", "i2c1", "i2c2"; > + pinctrl-0 = <&pmx_i2cmux_0>; > + pinctrl-1 = <&pmx_i2cmux_1>; > + pinctrl-2 = <&pmx_i2cmux_2>; > + > + i2c0: i2c@0 { > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + }; > + > + i2c1: i2c@1 { > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + /* Requires pmx_i2c1 on i2c controller node */ > + status = "disabled"; > + }; > + > + i2c2: i2c@2 { > + reg = <2>; > + #address-cells = <1>; > + #size-cells = <0>; > + /* Requires pmx_i2c2 on i2c controller node */ > + status = "disabled"; > + }; > + }; > + > l2: l2-cache { > compatible = "marvell,tauros2-cache"; > marvell,tauros2-cache-features = <0>; > @@ -123,7 +159,7 @@ > status = "disabled"; > }; > > - i2c0: i2c-ctrl@11000 { > + i2c: i2c-ctrl@11000 { > compatible = "marvell,mv64xxx-i2c"; > reg = <0x11000 0x20>; > #address-cells = <1>; > @@ -132,7 +168,7 @@ > clock-frequency = <400000>; > timeout-ms = <1000>; > clocks = <&core_clk 0>; > - status = "disabled"; > + status = "okay"; > }; > > uart0: serial@12000 { > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/