[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54EB422E.6030502@free-electrons.com>
Date: Mon, 23 Feb 2015 16:07:26 +0100
From: Gregory CLEMENT <gregory.clement@...e-electrons.com>
To: Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>
CC: Jason Cooper <jason@...edaemon.net>, Andrew Lunn <andrew@...n.ch>,
Gabriel Dobato <dobatog@...il.com>,
Wolfram Sang <wsa@...-dreams.de>,
Stephen Warren <swarren@...dotorg.org>,
linux-i2c@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 7/8] ARM: dts: dove: Add internal i2c multiplexer node
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 <sebastian.hesselbarth@...il.com>
Acked-by: Gregory CLEMENT <gregory.clement@...e-electrons.com>
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 <jason@...edaemon.net>
> Cc: Andrew Lunn <andrew@...n.ch>
> Cc: Gregory Clement <gregory.clement@...e-electrons.com>
> Cc: Gabriel Dobato <dobatog@...il.com>
> Cc: Wolfram Sang <wsa@...-dreams.de>
> Cc: Stephen Warren <swarren@...dotorg.org>
> Cc: linux-i2c@...r.kernel.org
> Cc: devicetree@...r.kernel.org
> Cc: linux-arm-kernel@...ts.infradead.org
> Cc: linux-kernel@...r.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@...00 {
> + i2c: i2c-ctrl@...00 {
> 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@...00 {
>
--
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists