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 01498b6ff83af5a72547f1890d8f7a96f2d8985f..6d3c2c80c8ec199b709eb62aea802f56fcf0525f 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", };