aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/meson
diff options
context:
space:
mode:
authorKevin Hilman <khilman@baylibre.com>2016-05-26 17:24:23 -0400
committerLinus Walleij <linus.walleij@linaro.org>2016-05-31 04:35:25 -0400
commit93ed09e6b6a50f658ca94a4c2661c7901f9d28f0 (patch)
tree48cf642b790283cd143f0fb15e4cc58240d386c2 /drivers/pinctrl/meson
parenta7db1889437d0898eda17c1bd3ec4bb4e29b4ad3 (diff)
pinctrl: amlogic: gxbb: add EMMC and SD pins
Add EE domain pins for eMMC and SD card. Acked-by: Carlo Caione <carlo@endlessm.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/meson')
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson-gxbb.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
index a188d9dae0f2..f0459f26c16c 100644
--- a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
@@ -147,6 +147,22 @@ static const struct pinctrl_pin_desc meson_gxbb_periphs_pins[] = {
147 MESON_PIN(GPIO_TEST_N, EE_OFF), 147 MESON_PIN(GPIO_TEST_N, EE_OFF),
148}; 148};
149 149
150static const unsigned int emmc_nand_d07_pins[] = {
151 PIN(BOOT_0, EE_OFF), PIN(BOOT_1, EE_OFF), PIN(BOOT_2, EE_OFF),
152 PIN(BOOT_3, EE_OFF), PIN(BOOT_4, EE_OFF), PIN(BOOT_5, EE_OFF),
153 PIN(BOOT_6, EE_OFF), PIN(BOOT_7, EE_OFF),
154};
155static const unsigned int emmc_clk_pins[] = { PIN(BOOT_8, EE_OFF) };
156static const unsigned int emmc_cmd_pins[] = { PIN(BOOT_10, EE_OFF) };
157static const unsigned int emmc_ds_pins[] = { PIN(BOOT_15, EE_OFF) };
158
159static const unsigned int sdcard_d0_pins[] = { PIN(CARD_1, EE_OFF) };
160static const unsigned int sdcard_d1_pins[] = { PIN(CARD_0, EE_OFF) };
161static const unsigned int sdcard_d2_pins[] = { PIN(CARD_5, EE_OFF) };
162static const unsigned int sdcard_d3_pins[] = { PIN(CARD_4, EE_OFF) };
163static const unsigned int sdcard_cmd_pins[] = { PIN(CARD_3, EE_OFF) };
164static const unsigned int sdcard_clk_pins[] = { PIN(CARD_2, EE_OFF) };
165
150static const struct pinctrl_pin_desc meson_gxbb_aobus_pins[] = { 166static const struct pinctrl_pin_desc meson_gxbb_aobus_pins[] = {
151 MESON_PIN(GPIOAO_0, 0), 167 MESON_PIN(GPIOAO_0, 0),
152 MESON_PIN(GPIOAO_1, 0), 168 MESON_PIN(GPIOAO_1, 0),
@@ -307,6 +323,20 @@ static struct meson_pmx_group meson_gxbb_periphs_groups[] = {
307 GPIO_GROUP(GPIOCLK_3, EE_OFF), 323 GPIO_GROUP(GPIOCLK_3, EE_OFF),
308 324
309 GPIO_GROUP(GPIO_TEST_N, EE_OFF), 325 GPIO_GROUP(GPIO_TEST_N, EE_OFF),
326
327 /* Bank BOOT */
328 GROUP(emmc_nand_d07, 4, 30),
329 GROUP(emmc_clk, 4, 18),
330 GROUP(emmc_cmd, 4, 19),
331 GROUP(emmc_ds, 4, 31),
332
333 /* Bank CARD */
334 GROUP(sdcard_d1, 2, 14),
335 GROUP(sdcard_d0, 2, 15),
336 GROUP(sdcard_d3, 2, 12),
337 GROUP(sdcard_d2, 2, 13),
338 GROUP(sdcard_cmd, 2, 10),
339 GROUP(sdcard_clk, 2, 11),
310}; 340};
311 341
312static struct meson_pmx_group meson_gxbb_aobus_groups[] = { 342static struct meson_pmx_group meson_gxbb_aobus_groups[] = {
@@ -377,6 +407,15 @@ static const char * const gpio_periphs_groups[] = {
377 "GPIO_TEST_N", 407 "GPIO_TEST_N",
378}; 408};
379 409
410static const char * const emmc_groups[] = {
411 "emmc_nand_d07", "emmc_clk", "emmc_cmd", "emmc_ds",
412};
413
414static const char * const sdcard_groups[] = {
415 "sdcard_d0", "sdcard_d1", "sdcard_d2", "sdcard_d3",
416 "sdcard_cmd", "sdcard_clk",
417};
418
380static const char * const gpio_aobus_groups[] = { 419static const char * const gpio_aobus_groups[] = {
381 "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", "GPIOAO_4", 420 "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", "GPIOAO_4",
382 "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", "GPIOAO_8", "GPIOAO_9", 421 "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", "GPIOAO_8", "GPIOAO_9",
@@ -401,6 +440,8 @@ static const char * const i2c_slave_ao_groups[] = {
401 440
402static struct meson_pmx_func meson_gxbb_periphs_functions[] = { 441static struct meson_pmx_func meson_gxbb_periphs_functions[] = {
403 FUNCTION(gpio_periphs), 442 FUNCTION(gpio_periphs),
443 FUNCTION(emmc),
444 FUNCTION(sdcard),
404}; 445};
405 446
406static struct meson_pmx_func meson_gxbb_aobus_functions[] = { 447static struct meson_pmx_func meson_gxbb_aobus_functions[] = {