arm64: dts: hisilicon: Add Pinctrl support for HiKey970 board
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Tue, 23 Oct 2018 19:06:51 +0000 (00:36 +0530)
committerWei Xu <xuwei5@hisilicon.com>
Wed, 28 Nov 2018 15:22:49 +0000 (15:22 +0000)
Add pinctrl support based on "pinctrl-single" driver for HiKey970
development board from HiSilicon.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
arch/arm64/boot/dts/hisilicon/hikey970-pinctrl.dtsi [new file with mode: 0644]

diff --git a/arch/arm64/boot/dts/hisilicon/hikey970-pinctrl.dtsi b/arch/arm64/boot/dts/hisilicon/hikey970-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..64fb9a3
--- /dev/null
@@ -0,0 +1,87 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Pinctrl dts file for HiSilicon HiKey970 development board
+ */
+
+#include <dt-bindings/pinctrl/hisi.h>
+
+/ {
+       soc {
+               range: gpio-range {
+                       #pinctrl-single,gpio-range-cells = <3>;
+               };
+
+               pmx0: pinmux@e896c000 {
+                       compatible = "pinctrl-single";
+                       reg = <0x0 0xe896c000 0x0 0x72c>;
+                       #pinctrl-cells = <1>;
+                       #gpio-range-cells = <0x3>;
+                       pinctrl-single,register-width = <0x20>;
+                       pinctrl-single,function-mask = <0x7>;
+                       /* pin base, nr pins & gpio function */
+                       pinctrl-single,gpio-range = <&range 0 82 0>;
+               };
+
+               pmx2: pinmux@e896c800 {
+                       compatible = "pinconf-single";
+                       reg = <0x0 0xe896c800 0x0 0x72c>;
+                       #pinctrl-cells = <1>;
+                       pinctrl-single,register-width = <0x20>;
+               };
+
+               pmx5: pinmux@fc182000 {
+                       compatible = "pinctrl-single";
+                       reg = <0x0 0xfc182000 0x0 0x028>;
+                       #gpio-range-cells = <3>;
+                       #pinctrl-cells = <1>;
+                       pinctrl-single,register-width = <0x20>;
+                       pinctrl-single,function-mask = <0x7>;
+                       /* pin base, nr pins & gpio function */
+                       pinctrl-single,gpio-range = <&range 0 10 0>;
+
+               };
+
+               pmx6: pinmux@fc182800 {
+                       compatible = "pinconf-single";
+                       reg = <0x0 0xfc182800 0x0 0x028>;
+                       #pinctrl-cells = <1>;
+                       pinctrl-single,register-width = <0x20>;
+               };
+
+               pmx7: pinmux@ff37e000 {
+                       compatible = "pinctrl-single";
+                       reg = <0x0 0xff37e000 0x0 0x030>;
+                       #gpio-range-cells = <3>;
+                       #pinctrl-cells = <1>;
+                       pinctrl-single,register-width = <0x20>;
+                       pinctrl-single,function-mask = <7>;
+                       /* pin base, nr pins & gpio function */
+                       pinctrl-single,gpio-range = <&range 0 12 0>;
+               };
+
+               pmx8: pinmux@ff37e800 {
+                       compatible = "pinconf-single";
+                       reg = <0x0 0xff37e800 0x0 0x030>;
+                       #pinctrl-cells = <1>;
+                       pinctrl-single,register-width = <0x20>;
+               };
+
+               pmx1: pinmux@fff11000 {
+                       compatible = "pinctrl-single";
+                       reg = <0x0 0xfff11000 0x0 0x73c>;
+                       #gpio-range-cells = <0x3>;
+                       #pinctrl-cells = <1>;
+                       pinctrl-single,register-width = <0x20>;
+                       pinctrl-single,function-mask = <0x7>;
+                       /* pin base, nr pins & gpio function */
+                       pinctrl-single,gpio-range = <&range 0 46 0>;
+               };
+
+               pmx16: pinmux@fff11800 {
+                       compatible = "pinconf-single";
+                       reg = <0x0 0xfff11800 0x0 0x73c>;
+                       #pinctrl-cells = <1>;
+                       pinctrl-single,register-width = <0x20>;
+               };
+       };
+};