]> git.sur5r.net Git - u-boot/commitdiff
pinctrl: uniphier: avoid building unneeded pin-mux tables for SPL
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 29 Jun 2016 10:39:00 +0000 (19:39 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 1 Jul 2016 20:44:30 +0000 (05:44 +0900)
SPL does not use all of the devices, so we can save some memory
footprint.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c
drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
drivers/pinctrl/uniphier/pinctrl-uniphier.h

index 0ad15abb4a0d3f5afddfc7939bb1826a3fb63f0b..225a05c56d09f366cb46018e2b836fd8bcae1e74 100644 (file)
@@ -14,6 +14,8 @@
 
 #include "pinctrl-uniphier.h"
 
+static const char *uniphier_pinctrl_dummy_name = "_dummy";
+
 static int uniphier_pinctrl_get_groups_count(struct udevice *dev)
 {
        struct uniphier_pinctrl_priv *priv = dev_get_priv(dev);
@@ -26,6 +28,9 @@ static const char *uniphier_pinctrl_get_group_name(struct udevice *dev,
 {
        struct uniphier_pinctrl_priv *priv = dev_get_priv(dev);
 
+       if (!priv->socdata->groups[selector].name)
+               return uniphier_pinctrl_dummy_name;
+
        return priv->socdata->groups[selector].name;
 }
 
@@ -41,6 +46,9 @@ static const char *uniphier_pinmux_get_function_name(struct udevice *dev,
 {
        struct uniphier_pinctrl_priv *priv = dev_get_priv(dev);
 
+       if (!priv->socdata->functions[selector])
+               return uniphier_pinctrl_dummy_name;
+
        return priv->socdata->functions[selector];
 }
 
index e7147fc14b504ff6e1c3a49035a60e2348802b8c..e2bd9ae7f54ed40bf3a3ea5eed4d4082cb7bab59 100644 (file)
@@ -48,29 +48,29 @@ static const struct uniphier_pinctrl_group uniphier_ld11_groups[] = {
        UNIPHIER_PINCTRL_GROUP(i2c3),
        UNIPHIER_PINCTRL_GROUP(i2c4),
        UNIPHIER_PINCTRL_GROUP(nand),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart3),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
 };
 
 static const char * const uniphier_ld11_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c3",
-       "i2c4",
-       "nand",
-       "uart0",
-       "uart1",
-       "uart2",
-       "uart3",
-       "usb0",
-       "usb1",
-       "usb2",
+       UNIPHIER_PINMUX_FUNCTION(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(i2c4),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart3),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_ld11_pinctrl_socdata = {
index b662ae7efc828cbfadd48c7e9e8edfb0ab44666d..15ee4698ece2aef4c376196cbb0e0c5d3f615321 100644 (file)
@@ -53,10 +53,10 @@ static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = {
        UNIPHIER_PINCTRL_GROUP(i2c4),
        UNIPHIER_PINCTRL_GROUP(nand),
        UNIPHIER_PINCTRL_GROUP(sd),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart3),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
@@ -64,21 +64,21 @@ static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = {
 };
 
 static const char * const uniphier_ld20_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c3",
-       "i2c4",
-       "nand",
-       "sd",
-       "uart0",
-       "uart1",
-       "uart2",
-       "uart3",
-       "usb0",
-       "usb1",
-       "usb2",
-       "usb3",
+       UNIPHIER_PINMUX_FUNCTION(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(i2c4),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION(sd),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart3),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
+       UNIPHIER_PINMUX_FUNCTION(usb3),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_ld20_pinctrl_socdata = {
index f3849b48f0ef9063a4ccae8091928e77da0ff107..56d9d5b3203dab6ab5c68d8e81469a1d21619bf6 100644 (file)
@@ -62,8 +62,8 @@ static const unsigned usb2b_pins[] = {67, 68};
 static const int usb2b_muxvals[] = {23, 23};
 
 static const struct uniphier_pinctrl_group uniphier_ld4_groups[] = {
-       UNIPHIER_PINCTRL_GROUP(emmc),
-       UNIPHIER_PINCTRL_GROUP(emmc_dat8),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc_dat8),
        UNIPHIER_PINCTRL_GROUP(i2c0),
        UNIPHIER_PINCTRL_GROUP(i2c1),
        UNIPHIER_PINCTRL_GROUP(i2c2),
@@ -71,11 +71,11 @@ static const struct uniphier_pinctrl_group uniphier_ld4_groups[] = {
        UNIPHIER_PINCTRL_GROUP(nand),
        UNIPHIER_PINCTRL_GROUP(nand_cs1),
        UNIPHIER_PINCTRL_GROUP(sd),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart1b),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart3),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1b),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
@@ -83,20 +83,20 @@ static const struct uniphier_pinctrl_group uniphier_ld4_groups[] = {
 };
 
 static const char * const uniphier_ld4_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c2",
-       "i2c3",
-       "nand",
-       "sd",
-       "uart0",
-       "uart1",
-       "uart2",
-       "uart3",
-       "usb0",
-       "usb1",
-       "usb2",
+       UNIPHIER_PINMUX_FUNCTION_SPL(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c2),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION(sd),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart3),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_ld4_pinctrl_socdata = {
index 4627f2c156af7b169d075512382a6505f1ff1c67..dd4a28cf6af07ad5f52816d86d4752f8533e6be2 100644 (file)
@@ -61,8 +61,8 @@ static const unsigned usb3_pins[] = {62, 63};
 static const int usb3_muxvals[] = {0, 0};
 
 static const struct uniphier_pinctrl_group uniphier_ld6b_groups[] = {
-       UNIPHIER_PINCTRL_GROUP(emmc),
-       UNIPHIER_PINCTRL_GROUP(emmc_dat8),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc_dat8),
        UNIPHIER_PINCTRL_GROUP(i2c0),
        UNIPHIER_PINCTRL_GROUP(i2c1),
        UNIPHIER_PINCTRL_GROUP(i2c2),
@@ -70,12 +70,12 @@ static const struct uniphier_pinctrl_group uniphier_ld6b_groups[] = {
        UNIPHIER_PINCTRL_GROUP(nand),
        UNIPHIER_PINCTRL_GROUP(nand_cs1),
        UNIPHIER_PINCTRL_GROUP(sd),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart0b),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart1b),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart2b),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0b),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1b),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2b),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
@@ -83,20 +83,20 @@ static const struct uniphier_pinctrl_group uniphier_ld6b_groups[] = {
 };
 
 static const char * const uniphier_ld6b_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c2",
-       "i2c3",
-       "nand",
-       "sd",
-       "uart0",
-       "uart1",
-       "uart2",
-       "usb0",
-       "usb1",
-       "usb2",
-       "usb3",
+       UNIPHIER_PINMUX_FUNCTION_SPL(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c2),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION(sd),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
+       UNIPHIER_PINMUX_FUNCTION(usb3),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_ld6b_pinctrl_socdata = {
index 7e465b6cd2aba45d45a2b93f3c4edd74edcfe295..f87a2c6dd72cd462eddcdd2d6e68869e91b251e2 100644 (file)
@@ -54,8 +54,8 @@ static const unsigned usb3_pins[] = {186, 187};
 static const int usb3_muxvals[] = {0, 0};
 
 static const struct uniphier_pinctrl_group uniphier_pro4_groups[] = {
-       UNIPHIER_PINCTRL_GROUP(emmc),
-       UNIPHIER_PINCTRL_GROUP(emmc_dat8),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc_dat8),
        UNIPHIER_PINCTRL_GROUP(i2c0),
        UNIPHIER_PINCTRL_GROUP(i2c1),
        UNIPHIER_PINCTRL_GROUP(i2c2),
@@ -65,10 +65,10 @@ static const struct uniphier_pinctrl_group uniphier_pro4_groups[] = {
        UNIPHIER_PINCTRL_GROUP(nand_cs1),
        UNIPHIER_PINCTRL_GROUP(sd),
        UNIPHIER_PINCTRL_GROUP(sd1),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart3),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
@@ -76,23 +76,23 @@ static const struct uniphier_pinctrl_group uniphier_pro4_groups[] = {
 };
 
 static const char * const uniphier_pro4_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c2",
-       "i2c3",
-       "i2c6",
-       "nand",
-       "sd",
-       "sd1",
-       "uart0",
-       "uart1",
-       "uart2",
-       "uart3",
-       "usb0",
-       "usb1",
-       "usb2",
-       "usb3",
+       UNIPHIER_PINMUX_FUNCTION_SPL(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c2),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(i2c6),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION(sd),
+       UNIPHIER_PINMUX_FUNCTION(sd1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart3),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
+       UNIPHIER_PINMUX_FUNCTION(usb3),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_pro4_pinctrl_socdata = {
index 2c6b4f9d126e81befb98a7d6c2e9ec3daf31e5e4..50b41cc37c0638cc07125a3c002fff58c472dc13 100644 (file)
@@ -67,8 +67,8 @@ static const unsigned usb2_pins[] = {128, 129};
 static const int usb2_muxvals[] = {0, 0};
 
 static const struct uniphier_pinctrl_group uniphier_pro5_groups[] = {
-       UNIPHIER_PINCTRL_GROUP(emmc),
-       UNIPHIER_PINCTRL_GROUP(emmc_dat8),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc_dat8),
        UNIPHIER_PINCTRL_GROUP(i2c0),
        UNIPHIER_PINCTRL_GROUP(i2c1),
        UNIPHIER_PINCTRL_GROUP(i2c2),
@@ -80,33 +80,33 @@ static const struct uniphier_pinctrl_group uniphier_pro5_groups[] = {
        UNIPHIER_PINCTRL_GROUP(nand),
        UNIPHIER_PINCTRL_GROUP(nand_cs1),
        UNIPHIER_PINCTRL_GROUP(sd),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart0b),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart3),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0b),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
 };
 
 static const char * const uniphier_pro5_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c2",
-       "i2c3",
-       "i2c5",
-       "i2c6",
-       "nand",
-       "sd",
-       "uart0",
-       "uart1",
-       "uart2",
-       "uart3",
-       "usb0",
-       "usb1",
-       "usb2",
+       UNIPHIER_PINMUX_FUNCTION_SPL(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c2),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(i2c5),
+       UNIPHIER_PINMUX_FUNCTION(i2c6),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION(sd),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart3),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_pro5_pinctrl_socdata = {
index 9eddd14708037a6a13492d044a3a98de53b1a040..70fb1689ee1da6e90012b037005f330744321f8b 100644 (file)
@@ -61,8 +61,8 @@ static const unsigned usb3_pins[] = {62, 63};
 static const int usb3_muxvals[] = {8, 8};
 
 static const struct uniphier_pinctrl_group uniphier_pxs2_groups[] = {
-       UNIPHIER_PINCTRL_GROUP(emmc),
-       UNIPHIER_PINCTRL_GROUP(emmc_dat8),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc_dat8),
        UNIPHIER_PINCTRL_GROUP(i2c0),
        UNIPHIER_PINCTRL_GROUP(i2c1),
        UNIPHIER_PINCTRL_GROUP(i2c2),
@@ -72,12 +72,12 @@ static const struct uniphier_pinctrl_group uniphier_pxs2_groups[] = {
        UNIPHIER_PINCTRL_GROUP(nand),
        UNIPHIER_PINCTRL_GROUP(nand_cs1),
        UNIPHIER_PINCTRL_GROUP(sd),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart0b),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart3),
-       UNIPHIER_PINCTRL_GROUP(uart3b),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0b),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3b),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
@@ -85,23 +85,23 @@ static const struct uniphier_pinctrl_group uniphier_pxs2_groups[] = {
 };
 
 static const char * const uniphier_pxs2_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c2",
-       "i2c3",
-       "i2c5",
-       "i2c6",
-       "nand",
-       "sd",
-       "uart0",
-       "uart1",
-       "uart2",
-       "uart3",
-       "usb0",
-       "usb1",
-       "usb2",
-       "usb3",
+       UNIPHIER_PINMUX_FUNCTION_SPL(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c2),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(i2c5),
+       UNIPHIER_PINMUX_FUNCTION(i2c6),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION(sd),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart3),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
+       UNIPHIER_PINMUX_FUNCTION(usb3),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_pxs2_pinctrl_socdata = {
index 82fe33d45003e7b4d4b8d66dea7e1820cd94b245..fe4d70de788a7a629e69d9db80b503a4272ad1c7 100644 (file)
@@ -72,8 +72,8 @@ static const unsigned usb2_pins[] = {114, 115};
 static const int usb2_muxvals[] = {1, 1};
 
 static const struct uniphier_pinctrl_group uniphier_sld8_groups[] = {
-       UNIPHIER_PINCTRL_GROUP(emmc),
-       UNIPHIER_PINCTRL_GROUP(emmc_dat8),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc),
+       UNIPHIER_PINCTRL_GROUP_SPL(emmc_dat8),
        UNIPHIER_PINCTRL_GROUP(i2c0),
        UNIPHIER_PINCTRL_GROUP(i2c1),
        UNIPHIER_PINCTRL_GROUP(i2c2),
@@ -81,30 +81,30 @@ static const struct uniphier_pinctrl_group uniphier_sld8_groups[] = {
        UNIPHIER_PINCTRL_GROUP(nand),
        UNIPHIER_PINCTRL_GROUP(nand_cs1),
        UNIPHIER_PINCTRL_GROUP(sd),
-       UNIPHIER_PINCTRL_GROUP(uart0),
-       UNIPHIER_PINCTRL_GROUP(uart1),
-       UNIPHIER_PINCTRL_GROUP(uart2),
-       UNIPHIER_PINCTRL_GROUP(uart3),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart0),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart1),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart2),
+       UNIPHIER_PINCTRL_GROUP_SPL(uart3),
        UNIPHIER_PINCTRL_GROUP(usb0),
        UNIPHIER_PINCTRL_GROUP(usb1),
        UNIPHIER_PINCTRL_GROUP(usb2),
 };
 
 static const char * const uniphier_sld8_functions[] = {
-       "emmc",
-       "i2c0",
-       "i2c1",
-       "i2c2",
-       "i2c3",
-       "nand",
-       "sd",
-       "uart0",
-       "uart1",
-       "uart2",
-       "uart3",
-       "usb0",
-       "usb1",
-       "usb2",
+       UNIPHIER_PINMUX_FUNCTION_SPL(emmc),
+       UNIPHIER_PINMUX_FUNCTION(i2c0),
+       UNIPHIER_PINMUX_FUNCTION(i2c1),
+       UNIPHIER_PINMUX_FUNCTION(i2c2),
+       UNIPHIER_PINMUX_FUNCTION(i2c3),
+       UNIPHIER_PINMUX_FUNCTION(nand),
+       UNIPHIER_PINMUX_FUNCTION(sd),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart0),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart1),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart2),
+       UNIPHIER_PINMUX_FUNCTION_SPL(uart3),
+       UNIPHIER_PINMUX_FUNCTION(usb0),
+       UNIPHIER_PINMUX_FUNCTION(usb1),
+       UNIPHIER_PINMUX_FUNCTION(usb2),
 };
 
 static struct uniphier_pinctrl_socdata uniphier_sld8_pinctrl_socdata = {
index ff0a368b119a7f833d545f68bd8dac292b627939..4bb893218a47ff9d90001848b5e7b438c1dbb471 100644 (file)
@@ -80,7 +80,7 @@ struct uniphier_pinctrl_socdata {
        .data = UNIPHIER_PIN_ATTR_PACKED(b),                            \
 }
 
-#define UNIPHIER_PINCTRL_GROUP(grp)                                    \
+#define __UNIPHIER_PINCTRL_GROUP(grp)                                  \
        {                                                               \
                .name = #grp,                                           \
                .pins = grp##_pins,                                     \
@@ -90,6 +90,19 @@ struct uniphier_pinctrl_socdata {
                                          ARRAY_SIZE(grp##_muxvals)),   \
        }
 
+#define __UNIPHIER_PINMUX_FUNCTION(func)       #func
+
+#ifdef CONFIG_SPL_BUILD
+#define UNIPHIER_PINCTRL_GROUP(grp)            { .name = NULL }
+#define UNIPHIER_PINMUX_FUNCTION(func)         NULL
+#else
+#define UNIPHIER_PINCTRL_GROUP(grp)            __UNIPHIER_PINCTRL_GROUP(grp)
+#define UNIPHIER_PINMUX_FUNCTION(func)         __UNIPHIER_PINMUX_FUNCTION(func)
+#endif
+
+#define UNIPHIER_PINCTRL_GROUP_SPL(grp)                __UNIPHIER_PINCTRL_GROUP(grp)
+#define UNIPHIER_PINMUX_FUNCTION_SPL(func)     __UNIPHIER_PINMUX_FUNCTION(func)
+
 /**
  * struct uniphier_pinctrl_priv - private data for UniPhier pinctrl driver
  *