aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-12-14 12:17:17 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-12-14 12:17:17 -0500
commit7fb5f5d3738c3a3ed7a3a8685266bc88dc69fbbd (patch)
treec9f82af8ff2b358bcf31932bd90a46a72fc2e924
parent92de1de51e99910ff0b45b340c95994573a1ad23 (diff)
parent478b6767ad26ab86d9ecc341027dd09a87b1f997 (diff)
Merge tag 'pinctrl-v4.20-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control fixes from Linus Walleij: "Three pin control fixes for the v4.20 series. Just odd drivers, so nothing particularly interesting: - Set the tile property on Qualcomm SDM60. - Fix up enable register calculation for the Meson - Fix an IRQ offset on the Sunxi (Allwinner)" * tag 'pinctrl-v4.20-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: sunxi: a83t: Fix IRQ offset typo for PH11 pinctrl: meson: fix pull enable register calculation pinctrl: sdm660: Set tile property for pingroups
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson.c3
-rw-r--r--drivers/pinctrl/qcom/pinctrl-sdm660.c28
-rw-r--r--drivers/pinctrl/sunxi/pinctrl-sun8i-a83t.c2
3 files changed, 18 insertions, 15 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index 53d449076dee..ea87d739f534 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -191,7 +191,8 @@ static int meson_pinconf_set(struct pinctrl_dev *pcdev, unsigned int pin,
191 case PIN_CONFIG_BIAS_DISABLE: 191 case PIN_CONFIG_BIAS_DISABLE:
192 dev_dbg(pc->dev, "pin %u: disable bias\n", pin); 192 dev_dbg(pc->dev, "pin %u: disable bias\n", pin);
193 193
194 meson_calc_reg_and_bit(bank, pin, REG_PULL, &reg, &bit); 194 meson_calc_reg_and_bit(bank, pin, REG_PULLEN, &reg,
195 &bit);
195 ret = regmap_update_bits(pc->reg_pullen, reg, 196 ret = regmap_update_bits(pc->reg_pullen, reg,
196 BIT(bit), 0); 197 BIT(bit), 0);
197 if (ret) 198 if (ret)
diff --git a/drivers/pinctrl/qcom/pinctrl-sdm660.c b/drivers/pinctrl/qcom/pinctrl-sdm660.c
index 6838b38555a1..1bfb0ae6b387 100644
--- a/drivers/pinctrl/qcom/pinctrl-sdm660.c
+++ b/drivers/pinctrl/qcom/pinctrl-sdm660.c
@@ -33,7 +33,7 @@ enum {
33 } 33 }
34 34
35 35
36#define PINGROUP(id, base, f1, f2, f3, f4, f5, f6, f7, f8, f9) \ 36#define PINGROUP(id, _tile, f1, f2, f3, f4, f5, f6, f7, f8, f9) \
37 { \ 37 { \
38 .name = "gpio" #id, \ 38 .name = "gpio" #id, \
39 .pins = gpio##id##_pins, \ 39 .pins = gpio##id##_pins, \
@@ -51,11 +51,12 @@ enum {
51 msm_mux_##f9 \ 51 msm_mux_##f9 \
52 }, \ 52 }, \
53 .nfuncs = 10, \ 53 .nfuncs = 10, \
54 .ctl_reg = base + REG_SIZE * id, \ 54 .ctl_reg = REG_SIZE * id, \
55 .io_reg = base + 0x4 + REG_SIZE * id, \ 55 .io_reg = 0x4 + REG_SIZE * id, \
56 .intr_cfg_reg = base + 0x8 + REG_SIZE * id, \ 56 .intr_cfg_reg = 0x8 + REG_SIZE * id, \
57 .intr_status_reg = base + 0xc + REG_SIZE * id, \ 57 .intr_status_reg = 0xc + REG_SIZE * id, \
58 .intr_target_reg = base + 0x8 + REG_SIZE * id, \ 58 .intr_target_reg = 0x8 + REG_SIZE * id, \
59 .tile = _tile, \
59 .mux_bit = 2, \ 60 .mux_bit = 2, \
60 .pull_bit = 0, \ 61 .pull_bit = 0, \
61 .drv_bit = 6, \ 62 .drv_bit = 6, \
@@ -82,6 +83,7 @@ enum {
82 .intr_cfg_reg = 0, \ 83 .intr_cfg_reg = 0, \
83 .intr_status_reg = 0, \ 84 .intr_status_reg = 0, \
84 .intr_target_reg = 0, \ 85 .intr_target_reg = 0, \
86 .tile = NORTH, \
85 .mux_bit = -1, \ 87 .mux_bit = -1, \
86 .pull_bit = pull, \ 88 .pull_bit = pull, \
87 .drv_bit = drv, \ 89 .drv_bit = drv, \
@@ -1397,13 +1399,13 @@ static const struct msm_pingroup sdm660_groups[] = {
1397 PINGROUP(111, SOUTH, _, _, _, _, _, _, _, _, _), 1399 PINGROUP(111, SOUTH, _, _, _, _, _, _, _, _, _),
1398 PINGROUP(112, SOUTH, _, _, _, _, _, _, _, _, _), 1400 PINGROUP(112, SOUTH, _, _, _, _, _, _, _, _, _),
1399 PINGROUP(113, SOUTH, _, _, _, _, _, _, _, _, _), 1401 PINGROUP(113, SOUTH, _, _, _, _, _, _, _, _, _),
1400 SDC_QDSD_PINGROUP(sdc1_clk, 0x99a000, 13, 6), 1402 SDC_QDSD_PINGROUP(sdc1_clk, 0x9a000, 13, 6),
1401 SDC_QDSD_PINGROUP(sdc1_cmd, 0x99a000, 11, 3), 1403 SDC_QDSD_PINGROUP(sdc1_cmd, 0x9a000, 11, 3),
1402 SDC_QDSD_PINGROUP(sdc1_data, 0x99a000, 9, 0), 1404 SDC_QDSD_PINGROUP(sdc1_data, 0x9a000, 9, 0),
1403 SDC_QDSD_PINGROUP(sdc2_clk, 0x99b000, 14, 6), 1405 SDC_QDSD_PINGROUP(sdc2_clk, 0x9b000, 14, 6),
1404 SDC_QDSD_PINGROUP(sdc2_cmd, 0x99b000, 11, 3), 1406 SDC_QDSD_PINGROUP(sdc2_cmd, 0x9b000, 11, 3),
1405 SDC_QDSD_PINGROUP(sdc2_data, 0x99b000, 9, 0), 1407 SDC_QDSD_PINGROUP(sdc2_data, 0x9b000, 9, 0),
1406 SDC_QDSD_PINGROUP(sdc1_rclk, 0x99a000, 15, 0), 1408 SDC_QDSD_PINGROUP(sdc1_rclk, 0x9a000, 15, 0),
1407}; 1409};
1408 1410
1409static const struct msm_pinctrl_soc_data sdm660_pinctrl = { 1411static const struct msm_pinctrl_soc_data sdm660_pinctrl = {
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t.c b/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t.c
index 6624499eae72..4ada80317a3b 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t.c
@@ -568,7 +568,7 @@ static const struct sunxi_desc_pin sun8i_a83t_pins[] = {
568 SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 11), 568 SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 11),
569 SUNXI_FUNCTION(0x0, "gpio_in"), 569 SUNXI_FUNCTION(0x0, "gpio_in"),
570 SUNXI_FUNCTION(0x1, "gpio_out"), 570 SUNXI_FUNCTION(0x1, "gpio_out"),
571 SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 1)), /* PH_EINT11 */ 571 SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 11)), /* PH_EINT11 */
572}; 572};
573 573
574static const struct sunxi_pinctrl_desc sun8i_a83t_pinctrl_data = { 574static const struct sunxi_pinctrl_desc sun8i_a83t_pinctrl_data = {