From 6105aa2f2a3ac6990f677a00a7f2a0609aa844c8 Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Thu, 24 Mar 2016 22:32:47 +0900
Subject: [PATCH] pinctrl: uniphier: support UniPhier PH1-LD11 pinctrl driver

The pinmux of PH1-LD11 is almost a subset of that of PH1-LD20
(as far as used in boot-loader), so this commit makes the driver
shared between the two SoCs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
 drivers/pinctrl/uniphier/Kconfig                 | 4 ++--
 drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/pinctrl/uniphier/Kconfig b/drivers/pinctrl/uniphier/Kconfig
index 626df8e796..1856ff0966 100644
--- a/drivers/pinctrl/uniphier/Kconfig
+++ b/drivers/pinctrl/uniphier/Kconfig
@@ -40,8 +40,8 @@ config PINCTRL_UNIPHIER_LD6B
 	select PINCTRL_UNIPHIER
 
 config PINCTRL_UNIPHIER_LD20
-	bool "UniPhier PH1-LD20 SoC pinctrl driver"
-	depends on ARCH_UNIPHIER_LD20
+	bool "UniPhier PH1-LD11/PH1-LD20 SoC pinctrl driver"
+	depends on ARCH_UNIPHIER_LD11 || ARCH_UNIPHIER_LD20
 	default y
 	select PINCTRL_UNIPHIER
 
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
index 8cb800335a..3d5ac5f49d 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
@@ -55,7 +55,7 @@ static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = {
 	UNIPHIER_PINCTRL_GROUP(i2c4),
 	UNIPHIER_PINCTRL_GROUP(nand),
 	UNIPHIER_PINCTRL_GROUP(nand_cs1),
-	UNIPHIER_PINCTRL_GROUP(sd),
+	UNIPHIER_PINCTRL_GROUP(sd),	/* SD does not exist for LD11 */
 	UNIPHIER_PINCTRL_GROUP(uart0),
 	UNIPHIER_PINCTRL_GROUP(uart1),
 	UNIPHIER_PINCTRL_GROUP(uart2),
@@ -63,7 +63,7 @@ static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = {
 	UNIPHIER_PINCTRL_GROUP(usb0),
 	UNIPHIER_PINCTRL_GROUP(usb1),
 	UNIPHIER_PINCTRL_GROUP(usb2),
-	UNIPHIER_PINCTRL_GROUP(usb3),
+	UNIPHIER_PINCTRL_GROUP(usb3),	/* USB3 does not exist for LD11 */
 };
 
 static const char * const uniphier_ld20_functions[] = {
@@ -73,7 +73,7 @@ static const char * const uniphier_ld20_functions[] = {
 	"i2c3",
 	"i2c4",
 	"nand",
-	"sd",
+	"sd",		/* SD does not exist for LD11 */
 	"uart0",
 	"uart1",
 	"uart2",
@@ -81,7 +81,7 @@ static const char * const uniphier_ld20_functions[] = {
 	"usb0",
 	"usb1",
 	"usb2",
-	"usb3",
+	"usb3",		/* USB3 does not exist for LD11 */
 };
 
 static struct uniphier_pinctrl_socdata uniphier_ld20_pinctrl_socdata = {
@@ -98,6 +98,7 @@ static int uniphier_ld20_pinctrl_probe(struct udevice *dev)
 }
 
 static const struct udevice_id uniphier_ld20_pinctrl_match[] = {
+	{ .compatible = "socionext,ph1-ld11-pinctrl" },
 	{ .compatible = "socionext,ph1-ld20-pinctrl" },
 	{ /* sentinel */ }
 };
-- 
2.39.5