Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1228419 > unrolled thread

[PATCH 0/5] arm64: berlin: add pinctrl support

Started byJisheng Zhang <jszhang@marvell.com>
First post2015-09-19 12:10 +0200
Last post2015-09-20 21:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/5] arm64: berlin: add pinctrl support Jisheng Zhang <jszhang@marvell.com> - 2015-09-19 12:10 +0200
    [PATCH 5/5] arm64: dts: berlin4ct: add the pinctrl node and muxing setup for uart0 Jisheng Zhang <jszhang@marvell.com> - 2015-09-19 12:10 +0200
      Re: [PATCH 5/5] arm64: dts: berlin4ct: add the pinctrl node and muxing  setup for uart0 Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> - 2015-09-20 21:40 +0200

#1228419 — [PATCH 0/5] arm64: berlin: add pinctrl support

FromJisheng Zhang <jszhang@marvell.com>
Date2015-09-19 12:10 +0200
Subject[PATCH 0/5] arm64: berlin: add pinctrl support
Message-ID<qanfH-6H6-5@gated-at.bofh.it>
This series adds support for Marvell berlin4ct pin-controller, allowing
to configure the pin muxing from the device tree.

This series applies on top of patches adding GPIO support for berlin4ct[1].

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-September/371106.html

Jisheng Zhang (5):
  pinctrl: berlin: regmap as an extra argument of berlin_pinctrl_probe()
  pinctrl: berlin: add the berlin4ct pinctrl driver
  arm64: berlin: add the pinctrl dependency for Marvell Berlin SoCs
  pinctrl: dt-binding: document berlin4ct SoC
  arm64: dts: berlin4ct: add the pinctrl node and muxing setup for uart0

 .../devicetree/bindings/pinctrl/berlin,pinctrl.txt |   5 +-
 arch/arm64/Kconfig.platforms                       |   1 +
 arch/arm64/boot/dts/marvell/berlin4ct.dtsi         |  27 ++
 drivers/pinctrl/berlin/Kconfig                     |   5 +
 drivers/pinctrl/berlin/Makefile                    |   1 +
 drivers/pinctrl/berlin/berlin-bg2.c                |   9 +-
 drivers/pinctrl/berlin/berlin-bg2cd.c              |   9 +-
 drivers/pinctrl/berlin/berlin-bg2q.c               |   9 +-
 drivers/pinctrl/berlin/berlin.c                    |   8 +-
 drivers/pinctrl/berlin/berlin.h                    |   1 +
 drivers/pinctrl/berlin/berlin4ct.c                 | 503 +++++++++++++++++++++
 11 files changed, 567 insertions(+), 11 deletions(-)
 create mode 100644 drivers/pinctrl/berlin/berlin4ct.c

-- 
2.5.1

--
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/

[toc] | [next] | [standalone]


#1228420 — [PATCH 5/5] arm64: dts: berlin4ct: add the pinctrl node and muxing setup for uart0

FromJisheng Zhang <jszhang@marvell.com>
Date2015-09-19 12:10 +0200
Subject[PATCH 5/5] arm64: dts: berlin4ct: add the pinctrl node and muxing setup for uart0
Message-ID<qanfI-6H6-25@gated-at.bofh.it>
In reply to#1228419
Add the avio, soc, sm pinctrl nodes for Marvell berlin4ct SoC. This
patch also adds urt0 txd and rxd muxing setup in the dtsi because uart0
always use them to work, no other possibilities.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
---
 arch/arm64/boot/dts/marvell/berlin4ct.dtsi | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/marvell/berlin4ct.dtsi b/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
index a3b5f1d..4566e4e 100644
--- a/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
+++ b/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
@@ -225,6 +225,16 @@
 			};
 		};
 
+		soc_pinctrl: pinctrl@ea8000 {
+			compatible = "marvell,berlin4ct-soc-pinctrl";
+			reg = <0xea8000 0x14>;
+		};
+
+		avio_pinctrl: pinctrl@ea8400 {
+			compatible = "marvell,berlin4ct-avio-pinctrl";
+			reg = <0xea8400 8>;
+		};
+
 		apb@fc0000 {
 			compatible = "simple-bus";
 			#address-cells = <1>;
@@ -278,6 +288,23 @@
 				clocks = <&osc>;
 				reg-shift = <2>;
 				status = "disabled";
+				pinctrl-0 = <&urt0_txd_pmux>, <&urt0_rxd_pmux>;
+				pinctrl-names = "default", "default";
+			};
+		};
+
+		sm_pinctrl: pinctrl@fe2200 {
+			compatible = "marvell,berlin4ct-sm-pinctrl";
+			reg = <0xfe2200 0xc>;
+
+			urt0_txd_pmux: urt0_txd-pmux {
+				groups = "SM_URT0_TXD";
+				function = "sm_urt0_txd";
+			};
+
+			urt0_rxd_pmux: urt0_rxd-pmux {
+				groups = "SM_URT0_RXD";
+				function = "sm_urt0_rxd";
 			};
 		};
 	};
-- 
2.5.1

--
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/

[toc] | [prev] | [next] | [standalone]


#1228961 — Re: [PATCH 5/5] arm64: dts: berlin4ct: add the pinctrl node and muxing setup for uart0

FromSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Date2015-09-20 21:40 +0200
SubjectRe: [PATCH 5/5] arm64: dts: berlin4ct: add the pinctrl node and muxing setup for uart0
Message-ID<qaSCS-Qh-17@gated-at.bofh.it>
In reply to#1228420
On 19.09.2015 12:02, Jisheng Zhang wrote:
> Add the avio, soc, sm pinctrl nodes for Marvell berlin4ct SoC. This
> patch also adds urt0 txd and rxd muxing setup in the dtsi because uart0
> always use them to work, no other possibilities.

Please split the patch into two:
one adding the pinctrl nodes and
one adding the default pinmux to uart0 node.

> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> ---
>   arch/arm64/boot/dts/marvell/berlin4ct.dtsi | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/marvell/berlin4ct.dtsi b/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
> index a3b5f1d..4566e4e 100644
> --- a/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
> +++ b/arch/arm64/boot/dts/marvell/berlin4ct.dtsi
> @@ -225,6 +225,16 @@
>   			};
>   		};
>
> +		soc_pinctrl: pinctrl@ea8000 {
> +			compatible = "marvell,berlin4ct-soc-pinctrl";
> +			reg = <0xea8000 0x14>;
> +		};
> +
> +		avio_pinctrl: pinctrl@ea8400 {
> +			compatible = "marvell,berlin4ct-avio-pinctrl";
> +			reg = <0xea8400 8>;

s/8/0x8/

> +		};
> +
>   		apb@fc0000 {
>   			compatible = "simple-bus";
>   			#address-cells = <1>;
> @@ -278,6 +288,23 @@
>   				clocks = <&osc>;
>   				reg-shift = <2>;
>   				status = "disabled";
> +				pinctrl-0 = <&urt0_txd_pmux>, <&urt0_rxd_pmux>;
> +				pinctrl-names = "default", "default";

pinctrl-names = "default", "default"; refers to pinctrl-0 and pinctrl-1
respectively. There is no pinctrl-1, so please remove the second
pinctrl-names element.

> +			};
> +		};
> +
> +		sm_pinctrl: pinctrl@fe2200 {
> +			compatible = "marvell,berlin4ct-sm-pinctrl";
> +			reg = <0xfe2200 0xc>;
> +
> +			urt0_txd_pmux: urt0_txd-pmux {
> +				groups = "SM_URT0_TXD";
> +				function = "sm_urt0_txd";
> +			};
> +
> +			urt0_rxd_pmux: urt0_rxd-pmux {
> +				groups = "SM_URT0_RXD";
> +				function = "sm_urt0_rxd";

If you change the driver to generic function names ("uart0") this
boils down to a single

uart0_pmux: uart0-pmux {
	groups = "SM_UART0_TXD", "SM_UART0_RXD";
	function = "uart0";
};

pinmux node and the reference in uart0 node to

pinctrl-0 = <&uart0_pmux>;
pinctrl-names = "default";

Sebastian

>   			};
>   		};
>   	};
>

--
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/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web