diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-01-01 16:19:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-01-01 16:19:16 -0500 |
commit | c9bef4a651769927445900564781a9c99fdf6258 (patch) | |
tree | d7611bd01581bbd49f189b304f1d6a23c4477c3b /drivers/pinctrl/meson | |
parent | 115502a6f31d84d8172a71283aaea266302a8ad5 (diff) | |
parent | 88cc9fc41c7318565bcf28a843b1e4e3f2acf894 (diff) |
Merge tag 'pinctrl-v4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij:
"We have no core changes but lots of incremental development in drivers
all over the place: Renesas, NXP, Mediatek and Actions Semiconductor
keep churning out new SoCs.
I have some subtree maintainers for Renesas and Intel helping out to
keep down the load, it's been working smoothly (Samsung also have a
subtree but it was not used this cycle.)
New drivers:
- NXP (ex Freescale) i.MX 8 QXP SoC driver.
- Mediatek MT6797 SoC driver.
- Mediatek MT7629 SoC driver.
- Actions Semiconductor S700 SoC driver.
- Renesas RZ/A2 SoC driver.
- Allwinner sunxi suniv F1C100 SoC driver.
- Qualcomm PMS405 PMIC driver.
- Microsemi Ocelot Jaguar2 SoC driver.
Improvements:
- Some RT improvements (using raw spinlocks where appropriate).
- A lot of new pin sets on the Renesas PFC pin controllers.
- GPIO hogs now work on the Qualcomm SPMI/SSBI pin controller GPIO
chips, and Xway.
- Major modernization of the Intel pin control drivers.
- STM32 pin control driver will now synchronize usage of pins with
another CPU using a hardware spinlock"
* tag 'pinctrl-v4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (145 commits)
dt-bindings: arm: fsl-scu: add imx8qm pinctrl support
pinctrl: freescale: Break dependency on SOC_IMX8MQ for i.MX8MQ
pinctrl: imx-scu: Depend on IMX_SCU
pinctrl: ocelot: Add dependency on HAS_IOMEM
pinctrl: ocelot: add MSCC Jaguar2 support
pinctrl: bcm: ns: support updated DT binding as syscon subnode
dt-bindings: pinctrl: bcm4708-pinmux: rework binding to use syscon
MAINTAINERS: merge at91 pinctrl entries
pinctrl: imx8qxp: break the dependency on SOC_IMX8QXP
pinctrl: uniphier: constify uniphier_pinctrl_socdata
pinctrl: mediatek: improve Kconfig dependencies
pinctrl: msm: mark PM functions as __maybe_unused
dt-bindings: pinctrl: sunxi: Add supply properties
pinctrl: meson: meson8b: add the missing GPIO_GROUPs for BOOT and CARD
pinctrl: meson: meson8: add the missing GPIO_GROUPs for BOOT and CARD
pinctrl: meson: meson8: rename the "gpio" function to "gpio_periphs"
pinctrl: meson: meson8: rename the "gpio" function to "gpio_periphs"
pinctrl: meson: meson8b: fix the GPIO function for the GPIOAO pins
pinctrl: meson: meson8: fix the GPIO function for the GPIOAO pins
pinctrl: sh-pfc: Make pinmux_cfg_reg.var_field_width[] variable-length
...
Diffstat (limited to 'drivers/pinctrl/meson')
-rw-r--r-- | drivers/pinctrl/meson/pinctrl-meson-gxl.c | 12 | ||||
-rw-r--r-- | drivers/pinctrl/meson/pinctrl-meson8.c | 33 | ||||
-rw-r--r-- | drivers/pinctrl/meson/pinctrl-meson8b.c | 45 |
3 files changed, 71 insertions, 19 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c index 158f618f1695..0c0a5018102b 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c | |||
@@ -239,13 +239,9 @@ static const unsigned int eth_link_led_pins[] = { GPIOZ_14 }; | |||
239 | static const unsigned int eth_act_led_pins[] = { GPIOZ_15 }; | 239 | static const unsigned int eth_act_led_pins[] = { GPIOZ_15 }; |
240 | 240 | ||
241 | static const unsigned int tsin_a_d0_pins[] = { GPIODV_0 }; | 241 | static const unsigned int tsin_a_d0_pins[] = { GPIODV_0 }; |
242 | static const unsigned int tsin_a_d0_x_pins[] = { GPIOX_10 }; | ||
243 | static const unsigned int tsin_a_clk_pins[] = { GPIODV_8 }; | 242 | static const unsigned int tsin_a_clk_pins[] = { GPIODV_8 }; |
244 | static const unsigned int tsin_a_clk_x_pins[] = { GPIOX_11 }; | ||
245 | static const unsigned int tsin_a_sop_pins[] = { GPIODV_9 }; | 243 | static const unsigned int tsin_a_sop_pins[] = { GPIODV_9 }; |
246 | static const unsigned int tsin_a_sop_x_pins[] = { GPIOX_8 }; | ||
247 | static const unsigned int tsin_a_d_valid_pins[] = { GPIODV_10 }; | 244 | static const unsigned int tsin_a_d_valid_pins[] = { GPIODV_10 }; |
248 | static const unsigned int tsin_a_d_valid_x_pins[] = { GPIOX_9 }; | ||
249 | static const unsigned int tsin_a_fail_pins[] = { GPIODV_11 }; | 245 | static const unsigned int tsin_a_fail_pins[] = { GPIODV_11 }; |
250 | static const unsigned int tsin_a_dp_pins[] = { | 246 | static const unsigned int tsin_a_dp_pins[] = { |
251 | GPIODV_1, GPIODV_2, GPIODV_3, GPIODV_4, GPIODV_5, GPIODV_6, GPIODV_7, | 247 | GPIODV_1, GPIODV_2, GPIODV_3, GPIODV_4, GPIODV_5, GPIODV_6, GPIODV_7, |
@@ -432,10 +428,6 @@ static struct meson_pmx_group meson_gxl_periphs_groups[] = { | |||
432 | GROUP(spi_miso, 5, 2), | 428 | GROUP(spi_miso, 5, 2), |
433 | GROUP(spi_ss0, 5, 1), | 429 | GROUP(spi_ss0, 5, 1), |
434 | GROUP(spi_sclk, 5, 0), | 430 | GROUP(spi_sclk, 5, 0), |
435 | GROUP(tsin_a_sop_x, 6, 3), | ||
436 | GROUP(tsin_a_d_valid_x, 6, 2), | ||
437 | GROUP(tsin_a_d0_x, 6, 1), | ||
438 | GROUP(tsin_a_clk_x, 6, 0), | ||
439 | 431 | ||
440 | /* Bank Z */ | 432 | /* Bank Z */ |
441 | GROUP(eth_mdio, 4, 23), | 433 | GROUP(eth_mdio, 4, 23), |
@@ -698,8 +690,8 @@ static const char * const eth_led_groups[] = { | |||
698 | }; | 690 | }; |
699 | 691 | ||
700 | static const char * const tsin_a_groups[] = { | 692 | static const char * const tsin_a_groups[] = { |
701 | "tsin_a_clk", "tsin_a_clk_x", "tsin_a_sop", "tsin_a_sop_x", | 693 | "tsin_a_clk", "tsin_a_sop", |
702 | "tsin_a_d_valid", "tsin_a_d_valid_x", "tsin_a_d0", "tsin_a_d0_x", | 694 | "tsin_a_d_valid", "tsin_a_d0", |
703 | "tsin_a_dp", "tsin_a_fail", | 695 | "tsin_a_dp", "tsin_a_fail", |
704 | }; | 696 | }; |
705 | 697 | ||
diff --git a/drivers/pinctrl/meson/pinctrl-meson8.c b/drivers/pinctrl/meson/pinctrl-meson8.c index 86466173114d..785e29e74a56 100644 --- a/drivers/pinctrl/meson/pinctrl-meson8.c +++ b/drivers/pinctrl/meson/pinctrl-meson8.c | |||
@@ -506,6 +506,32 @@ static struct meson_pmx_group meson8_cbus_groups[] = { | |||
506 | GPIO_GROUP(GPIOZ_12), | 506 | GPIO_GROUP(GPIOZ_12), |
507 | GPIO_GROUP(GPIOZ_13), | 507 | GPIO_GROUP(GPIOZ_13), |
508 | GPIO_GROUP(GPIOZ_14), | 508 | GPIO_GROUP(GPIOZ_14), |
509 | GPIO_GROUP(CARD_0), | ||
510 | GPIO_GROUP(CARD_1), | ||
511 | GPIO_GROUP(CARD_2), | ||
512 | GPIO_GROUP(CARD_3), | ||
513 | GPIO_GROUP(CARD_4), | ||
514 | GPIO_GROUP(CARD_5), | ||
515 | GPIO_GROUP(CARD_6), | ||
516 | GPIO_GROUP(BOOT_0), | ||
517 | GPIO_GROUP(BOOT_1), | ||
518 | GPIO_GROUP(BOOT_2), | ||
519 | GPIO_GROUP(BOOT_3), | ||
520 | GPIO_GROUP(BOOT_4), | ||
521 | GPIO_GROUP(BOOT_5), | ||
522 | GPIO_GROUP(BOOT_6), | ||
523 | GPIO_GROUP(BOOT_7), | ||
524 | GPIO_GROUP(BOOT_8), | ||
525 | GPIO_GROUP(BOOT_9), | ||
526 | GPIO_GROUP(BOOT_10), | ||
527 | GPIO_GROUP(BOOT_11), | ||
528 | GPIO_GROUP(BOOT_12), | ||
529 | GPIO_GROUP(BOOT_13), | ||
530 | GPIO_GROUP(BOOT_14), | ||
531 | GPIO_GROUP(BOOT_15), | ||
532 | GPIO_GROUP(BOOT_16), | ||
533 | GPIO_GROUP(BOOT_17), | ||
534 | GPIO_GROUP(BOOT_18), | ||
509 | 535 | ||
510 | /* bank X */ | 536 | /* bank X */ |
511 | GROUP(sd_d0_a, 8, 5), | 537 | GROUP(sd_d0_a, 8, 5), |
@@ -774,7 +800,7 @@ static struct meson_pmx_group meson8_aobus_groups[] = { | |||
774 | GROUP(hdmi_cec_ao, 0, 17), | 800 | GROUP(hdmi_cec_ao, 0, 17), |
775 | }; | 801 | }; |
776 | 802 | ||
777 | static const char * const gpio_groups[] = { | 803 | static const char * const gpio_periphs_groups[] = { |
778 | "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", "GPIOX_4", | 804 | "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", "GPIOX_4", |
779 | "GPIOX_5", "GPIOX_6", "GPIOX_7", "GPIOX_8", "GPIOX_9", | 805 | "GPIOX_5", "GPIOX_6", "GPIOX_7", "GPIOX_8", "GPIOX_9", |
780 | "GPIOX_10", "GPIOX_11", "GPIOX_12", "GPIOX_13", "GPIOX_14", | 806 | "GPIOX_10", "GPIOX_11", "GPIOX_12", "GPIOX_13", "GPIOX_14", |
@@ -807,7 +833,9 @@ static const char * const gpio_groups[] = { | |||
807 | "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_9", | 833 | "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_9", |
808 | "BOOT_10", "BOOT_11", "BOOT_12", "BOOT_13", "BOOT_14", | 834 | "BOOT_10", "BOOT_11", "BOOT_12", "BOOT_13", "BOOT_14", |
809 | "BOOT_15", "BOOT_16", "BOOT_17", "BOOT_18", | 835 | "BOOT_15", "BOOT_16", "BOOT_17", "BOOT_18", |
836 | }; | ||
810 | 837 | ||
838 | static const char * const gpio_aobus_groups[] = { | ||
811 | "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", | 839 | "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", |
812 | "GPIOAO_4", "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", | 840 | "GPIOAO_4", "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", |
813 | "GPIOAO_8", "GPIOAO_9", "GPIOAO_10", "GPIOAO_11", | 841 | "GPIOAO_8", "GPIOAO_9", "GPIOAO_10", "GPIOAO_11", |
@@ -994,7 +1022,7 @@ static const char * const hdmi_cec_ao_groups[] = { | |||
994 | }; | 1022 | }; |
995 | 1023 | ||
996 | static struct meson_pmx_func meson8_cbus_functions[] = { | 1024 | static struct meson_pmx_func meson8_cbus_functions[] = { |
997 | FUNCTION(gpio), | 1025 | FUNCTION(gpio_periphs), |
998 | FUNCTION(sd_a), | 1026 | FUNCTION(sd_a), |
999 | FUNCTION(sdxc_a), | 1027 | FUNCTION(sdxc_a), |
1000 | FUNCTION(pcm_a), | 1028 | FUNCTION(pcm_a), |
@@ -1030,6 +1058,7 @@ static struct meson_pmx_func meson8_cbus_functions[] = { | |||
1030 | }; | 1058 | }; |
1031 | 1059 | ||
1032 | static struct meson_pmx_func meson8_aobus_functions[] = { | 1060 | static struct meson_pmx_func meson8_aobus_functions[] = { |
1061 | FUNCTION(gpio_aobus), | ||
1033 | FUNCTION(uart_ao), | 1062 | FUNCTION(uart_ao), |
1034 | FUNCTION(remote), | 1063 | FUNCTION(remote), |
1035 | FUNCTION(i2c_slave_ao), | 1064 | FUNCTION(i2c_slave_ao), |
diff --git a/drivers/pinctrl/meson/pinctrl-meson8b.c b/drivers/pinctrl/meson/pinctrl-meson8b.c index 647ad15d5c3c..c69ca95b1ad5 100644 --- a/drivers/pinctrl/meson/pinctrl-meson8b.c +++ b/drivers/pinctrl/meson/pinctrl-meson8b.c | |||
@@ -403,6 +403,34 @@ static struct meson_pmx_group meson8b_cbus_groups[] = { | |||
403 | GPIO_GROUP(GPIOH_8), | 403 | GPIO_GROUP(GPIOH_8), |
404 | GPIO_GROUP(GPIOH_9), | 404 | GPIO_GROUP(GPIOH_9), |
405 | 405 | ||
406 | GPIO_GROUP(CARD_0), | ||
407 | GPIO_GROUP(CARD_1), | ||
408 | GPIO_GROUP(CARD_2), | ||
409 | GPIO_GROUP(CARD_3), | ||
410 | GPIO_GROUP(CARD_4), | ||
411 | GPIO_GROUP(CARD_5), | ||
412 | GPIO_GROUP(CARD_6), | ||
413 | |||
414 | GPIO_GROUP(BOOT_0), | ||
415 | GPIO_GROUP(BOOT_1), | ||
416 | GPIO_GROUP(BOOT_2), | ||
417 | GPIO_GROUP(BOOT_3), | ||
418 | GPIO_GROUP(BOOT_4), | ||
419 | GPIO_GROUP(BOOT_5), | ||
420 | GPIO_GROUP(BOOT_6), | ||
421 | GPIO_GROUP(BOOT_7), | ||
422 | GPIO_GROUP(BOOT_8), | ||
423 | GPIO_GROUP(BOOT_9), | ||
424 | GPIO_GROUP(BOOT_10), | ||
425 | GPIO_GROUP(BOOT_11), | ||
426 | GPIO_GROUP(BOOT_12), | ||
427 | GPIO_GROUP(BOOT_13), | ||
428 | GPIO_GROUP(BOOT_14), | ||
429 | GPIO_GROUP(BOOT_15), | ||
430 | GPIO_GROUP(BOOT_16), | ||
431 | GPIO_GROUP(BOOT_17), | ||
432 | GPIO_GROUP(BOOT_18), | ||
433 | |||
406 | GPIO_GROUP(DIF_0_P), | 434 | GPIO_GROUP(DIF_0_P), |
407 | GPIO_GROUP(DIF_0_N), | 435 | GPIO_GROUP(DIF_0_N), |
408 | GPIO_GROUP(DIF_1_P), | 436 | GPIO_GROUP(DIF_1_P), |
@@ -622,7 +650,7 @@ static struct meson_pmx_group meson8b_aobus_groups[] = { | |||
622 | GROUP(i2s_lr_clk_in, 0, 14), | 650 | GROUP(i2s_lr_clk_in, 0, 14), |
623 | }; | 651 | }; |
624 | 652 | ||
625 | static const char * const gpio_groups[] = { | 653 | static const char * const gpio_periphs_groups[] = { |
626 | "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", "GPIOX_4", | 654 | "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", "GPIOX_4", |
627 | "GPIOX_5", "GPIOX_6", "GPIOX_7", "GPIOX_8", "GPIOX_9", | 655 | "GPIOX_5", "GPIOX_6", "GPIOX_7", "GPIOX_8", "GPIOX_9", |
628 | "GPIOX_10", "GPIOX_11", "GPIOX_16", "GPIOX_17", "GPIOX_18", | 656 | "GPIOX_10", "GPIOX_11", "GPIOX_16", "GPIOX_17", "GPIOX_18", |
@@ -646,16 +674,18 @@ static const char * const gpio_groups[] = { | |||
646 | "BOOT_10", "BOOT_11", "BOOT_12", "BOOT_13", "BOOT_14", | 674 | "BOOT_10", "BOOT_11", "BOOT_12", "BOOT_13", "BOOT_14", |
647 | "BOOT_15", "BOOT_16", "BOOT_17", "BOOT_18", | 675 | "BOOT_15", "BOOT_16", "BOOT_17", "BOOT_18", |
648 | 676 | ||
649 | "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", | ||
650 | "GPIOAO_4", "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", | ||
651 | "GPIOAO_8", "GPIOAO_9", "GPIOAO_10", "GPIOAO_11", | ||
652 | "GPIOAO_12", "GPIOAO_13", "GPIO_BSD_EN", "GPIO_TEST_N", | ||
653 | |||
654 | "DIF_0_P", "DIF_0_N", "DIF_1_P", "DIF_1_N", | 677 | "DIF_0_P", "DIF_0_N", "DIF_1_P", "DIF_1_N", |
655 | "DIF_2_P", "DIF_2_N", "DIF_3_P", "DIF_3_N", | 678 | "DIF_2_P", "DIF_2_N", "DIF_3_P", "DIF_3_N", |
656 | "DIF_4_P", "DIF_4_N" | 679 | "DIF_4_P", "DIF_4_N" |
657 | }; | 680 | }; |
658 | 681 | ||
682 | static const char * const gpio_aobus_groups[] = { | ||
683 | "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", | ||
684 | "GPIOAO_4", "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", | ||
685 | "GPIOAO_8", "GPIOAO_9", "GPIOAO_10", "GPIOAO_11", | ||
686 | "GPIOAO_12", "GPIOAO_13", "GPIO_BSD_EN", "GPIO_TEST_N" | ||
687 | }; | ||
688 | |||
659 | static const char * const sd_a_groups[] = { | 689 | static const char * const sd_a_groups[] = { |
660 | "sd_d0_a", "sd_d1_a", "sd_d2_a", "sd_d3_a", "sd_clk_a", | 690 | "sd_d0_a", "sd_d1_a", "sd_d2_a", "sd_d3_a", "sd_clk_a", |
661 | "sd_cmd_a" | 691 | "sd_cmd_a" |
@@ -837,7 +867,7 @@ static const char * const tsin_b_groups[] = { | |||
837 | }; | 867 | }; |
838 | 868 | ||
839 | static struct meson_pmx_func meson8b_cbus_functions[] = { | 869 | static struct meson_pmx_func meson8b_cbus_functions[] = { |
840 | FUNCTION(gpio), | 870 | FUNCTION(gpio_periphs), |
841 | FUNCTION(sd_a), | 871 | FUNCTION(sd_a), |
842 | FUNCTION(sdxc_a), | 872 | FUNCTION(sdxc_a), |
843 | FUNCTION(pcm_a), | 873 | FUNCTION(pcm_a), |
@@ -871,6 +901,7 @@ static struct meson_pmx_func meson8b_cbus_functions[] = { | |||
871 | }; | 901 | }; |
872 | 902 | ||
873 | static struct meson_pmx_func meson8b_aobus_functions[] = { | 903 | static struct meson_pmx_func meson8b_aobus_functions[] = { |
904 | FUNCTION(gpio_aobus), | ||
874 | FUNCTION(uart_ao), | 905 | FUNCTION(uart_ao), |
875 | FUNCTION(uart_ao_b), | 906 | FUNCTION(uart_ao_b), |
876 | FUNCTION(i2c_slave_ao), | 907 | FUNCTION(i2c_slave_ao), |