diff options
| author | Kevin Hilman <khilman@baylibre.com> | 2016-05-26 17:24:23 -0400 |
|---|---|---|
| committer | Linus Walleij <linus.walleij@linaro.org> | 2016-05-31 04:35:25 -0400 |
| commit | 93ed09e6b6a50f658ca94a4c2661c7901f9d28f0 (patch) | |
| tree | 48cf642b790283cd143f0fb15e4cc58240d386c2 /drivers/pinctrl/meson | |
| parent | a7db1889437d0898eda17c1bd3ec4bb4e29b4ad3 (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.c | 41 |
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 | ||
| 150 | static 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 | }; | ||
| 155 | static const unsigned int emmc_clk_pins[] = { PIN(BOOT_8, EE_OFF) }; | ||
| 156 | static const unsigned int emmc_cmd_pins[] = { PIN(BOOT_10, EE_OFF) }; | ||
| 157 | static const unsigned int emmc_ds_pins[] = { PIN(BOOT_15, EE_OFF) }; | ||
| 158 | |||
| 159 | static const unsigned int sdcard_d0_pins[] = { PIN(CARD_1, EE_OFF) }; | ||
| 160 | static const unsigned int sdcard_d1_pins[] = { PIN(CARD_0, EE_OFF) }; | ||
| 161 | static const unsigned int sdcard_d2_pins[] = { PIN(CARD_5, EE_OFF) }; | ||
| 162 | static const unsigned int sdcard_d3_pins[] = { PIN(CARD_4, EE_OFF) }; | ||
| 163 | static const unsigned int sdcard_cmd_pins[] = { PIN(CARD_3, EE_OFF) }; | ||
| 164 | static const unsigned int sdcard_clk_pins[] = { PIN(CARD_2, EE_OFF) }; | ||
| 165 | |||
| 150 | static const struct pinctrl_pin_desc meson_gxbb_aobus_pins[] = { | 166 | static 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 | ||
| 312 | static struct meson_pmx_group meson_gxbb_aobus_groups[] = { | 342 | static 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 | ||
| 410 | static const char * const emmc_groups[] = { | ||
| 411 | "emmc_nand_d07", "emmc_clk", "emmc_cmd", "emmc_ds", | ||
| 412 | }; | ||
| 413 | |||
| 414 | static const char * const sdcard_groups[] = { | ||
| 415 | "sdcard_d0", "sdcard_d1", "sdcard_d2", "sdcard_d3", | ||
| 416 | "sdcard_cmd", "sdcard_clk", | ||
| 417 | }; | ||
| 418 | |||
| 380 | static const char * const gpio_aobus_groups[] = { | 419 | static 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 | ||
| 402 | static struct meson_pmx_func meson_gxbb_periphs_functions[] = { | 441 | static 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 | ||
| 406 | static struct meson_pmx_func meson_gxbb_aobus_functions[] = { | 447 | static struct meson_pmx_func meson_gxbb_aobus_functions[] = { |
