pinctrl: ingenic: Add lcd-8bit group for JZ4770
authorPaul Cercueil <paul@crapouillou.net>
Sun, 1 Nov 2020 09:01:04 +0000 (09:01 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 10 Nov 2020 13:58:14 +0000 (14:58 +0100)
Add the "lcd-8bit" group to the "lcd" function.

As "lcd-24bit" is a superset of "lcd-8bit", in theory the former could
be modified to only contain the pins not already included in "lcd-8bit",
just like how it's done for the JZ4740 and JZ4725B platforms. However,
we can't do that without breaking Device Tree ABI, so in that case we
have no choice but to have two groups containing the same pins.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
Link: https://lore.kernel.org/r/20201101090104.5088-3-paul@crapouillou.net
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-ingenic.c

index 01498b6..6d3c2c8 100644 (file)
@@ -626,6 +626,10 @@ static int jz4770_cim_8bit_pins[] = {
 static int jz4770_cim_12bit_pins[] = {
        0x32, 0x33, 0xb0, 0xb1,
 };
+static int jz4770_lcd_8bit_pins[] = {
+       0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x4c, 0x4d,
+       0x48, 0x49, 0x52, 0x53,
+};
 static int jz4770_lcd_24bit_pins[] = {
        0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
        0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
@@ -730,6 +734,7 @@ static const struct group_desc jz4770_groups[] = {
        INGENIC_PIN_GROUP("i2c2-data", jz4770_i2c2, 2),
        INGENIC_PIN_GROUP("cim-data-8bit", jz4770_cim_8bit, 0),
        INGENIC_PIN_GROUP("cim-data-12bit", jz4770_cim_12bit, 0),
+       INGENIC_PIN_GROUP("lcd-8bit", jz4770_lcd_8bit, 0),
        INGENIC_PIN_GROUP("lcd-24bit", jz4770_lcd_24bit, 0),
        { "lcd-no-pins", },
        INGENIC_PIN_GROUP("pwm0", jz4770_pwm_pwm0, 0),
@@ -791,7 +796,9 @@ static const char *jz4770_i2c0_groups[] = { "i2c0-data", };
 static const char *jz4770_i2c1_groups[] = { "i2c1-data", };
 static const char *jz4770_i2c2_groups[] = { "i2c2-data", };
 static const char *jz4770_cim_groups[] = { "cim-data-8bit", "cim-data-12bit", };
-static const char *jz4770_lcd_groups[] = { "lcd-24bit", "lcd-no-pins", };
+static const char *jz4770_lcd_groups[] = {
+       "lcd-8bit", "lcd-24bit", "lcd-no-pins",
+};
 static const char *jz4770_pwm0_groups[] = { "pwm0", };
 static const char *jz4770_pwm1_groups[] = { "pwm1", };
 static const char *jz4770_pwm2_groups[] = { "pwm2", };