Merge tag 'pinctrl-qcom-fixes-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into devel

Qualcomm pin control fixes for v7.2

- fix intr_target_width for summary interrupt routing in pinctrl-shikra

Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
Linus Walleij
2026-08-16 18:59:23 +02:00
6 changed files with 27 additions and 20 deletions

View File

@@ -480,7 +480,7 @@ static const char * const ps_hold_groups[] = {
};
static const struct pinfunction ipq8064_functions[] = {
IPQ_PIN_FUNCTION(gpio),
IPQ_GPIO_PIN_FUNCTION(gpio),
IPQ_PIN_FUNCTION(mdio),
IPQ_PIN_FUNCTION(ssbi),
IPQ_PIN_FUNCTION(spmi),
@@ -507,19 +507,19 @@ static const struct pinfunction ipq8064_functions[] = {
IPQ_PIN_FUNCTION(usb2_hsic),
IPQ_PIN_FUNCTION(rgmii2),
IPQ_PIN_FUNCTION(sata),
IPQ_PIN_FUNCTION(pcie1_rst),
IPQ_GPIO_PIN_FUNCTION(pcie1_rst),
IPQ_PIN_FUNCTION(pcie1_prsnt),
IPQ_PIN_FUNCTION(pcie1_pwren_n),
IPQ_PIN_FUNCTION(pcie1_pwren),
IPQ_PIN_FUNCTION(pcie1_pwrflt),
IPQ_PIN_FUNCTION(pcie1_clk_req),
IPQ_PIN_FUNCTION(pcie2_rst),
IPQ_GPIO_PIN_FUNCTION(pcie2_rst),
IPQ_PIN_FUNCTION(pcie2_prsnt),
IPQ_PIN_FUNCTION(pcie2_pwren_n),
IPQ_PIN_FUNCTION(pcie2_pwren),
IPQ_PIN_FUNCTION(pcie2_pwrflt),
IPQ_PIN_FUNCTION(pcie2_clk_req),
IPQ_PIN_FUNCTION(pcie3_rst),
IPQ_GPIO_PIN_FUNCTION(pcie3_rst),
IPQ_PIN_FUNCTION(pcie3_prsnt),
IPQ_PIN_FUNCTION(pcie3_pwren_n),
IPQ_PIN_FUNCTION(pcie3_pwren),

View File

@@ -310,11 +310,11 @@ static const char *const audio_sec_mclk_out0_groups[] = {
};
static const char *const audio_sec_mclk_in1_groups[] = {
"gpio37",
"gpio39",
};
static const char *const audio_sec_mclk_out1_groups[] = {
"gpio37",
"gpio39",
};
static const char *const audio_sec_groups[] = {

View File

@@ -1240,12 +1240,12 @@ static int msm_gpio_irq_reqres(struct irq_data *d)
/*
* If the wakeup_enable bit is present and marked as available for the
* requested GPIO, it should be enabled when the GPIO is marked as
* wake irq in order to allow the interrupt event to be transfered to
* the PDC HW.
* wake irq in order to allow the interrupt event to be transferred to
* the PDC/MPM HW.
* While the name implies only the wakeup event, it's also required for
* the interrupt event.
*/
if (test_bit(d->hwirq, pctrl->skip_wake_irqs) && g->intr_wakeup_present_bit) {
if (g->intr_wakeup_present_bit) {
u32 intr_cfg;
raw_spin_lock_irqsave(&pctrl->lock, flags);
@@ -1273,7 +1273,7 @@ static void msm_gpio_irq_relres(struct irq_data *d)
unsigned long flags;
/* Disable the wakeup_enable bit if it has been set in msm_gpio_irq_reqres() */
if (test_bit(d->hwirq, pctrl->skip_wake_irqs) && g->intr_wakeup_present_bit) {
if (g->intr_wakeup_present_bit) {
u32 intr_cfg;
raw_spin_lock_irqsave(&pctrl->lock, flags);

View File

@@ -24,6 +24,11 @@ struct pinctrl_pin_desc;
fname##_groups, \
ARRAY_SIZE(fname##_groups))
#define IPQ_GPIO_PIN_FUNCTION(fname) \
[IPQ_MUX_##fname] = PINCTRL_GPIO_PINFUNCTION(#fname, \
fname##_groups, \
ARRAY_SIZE(fname##_groups))
#define MSM_PIN_FUNCTION(fname) \
[msm_mux_##fname] = PINCTRL_PINFUNCTION(#fname, \
fname##_groups, \

View File

@@ -1881,16 +1881,17 @@ static const struct msm_gpio_wakeirq_map sc8280xp_pdc_map[] = {
{ 126, 200 }, { 127, 225 }, { 128, 262 }, { 129, 201 },
{ 130, 209 }, { 131, 173 }, { 132, 202 }, { 136, 210 },
{ 138, 171 }, { 139, 226 }, { 140, 227 }, { 142, 228 },
{ 144, 229 }, { 145, 230 }, { 146, 231 }, { 148, 232 },
{ 149, 233 }, { 150, 234 }, { 152, 235 }, { 154, 212 },
{ 157, 213 }, { 161, 219 }, { 170, 236 }, { 171, 221 },
{ 174, 222 }, { 175, 237 }, { 176, 223 }, { 177, 170 },
{ 180, 238 }, { 181, 239 }, { 182, 240 }, { 183, 241 },
{ 184, 242 }, { 185, 243 }, { 190, 178 }, { 193, 184 },
{ 196, 185 }, { 198, 186 }, { 200, 174 }, { 201, 175 },
{ 205, 176 }, { 206, 177 }, { 208, 187 }, { 210, 198 },
{ 211, 199 }, { 212, 204 }, { 215, 205 }, { 220, 188 },
{ 221, 194 }, { 223, 195 }, { 225, 196 }, { 227, 197 },
{ 143, 261 }, { 144, 229 }, { 145, 230 }, { 146, 231 },
{ 148, 232 }, { 149, 233 }, { 150, 234 }, { 151, 264 },
{ 152, 235 }, { 154, 212 }, { 157, 213 }, { 161, 219 },
{ 170, 236 }, { 171, 221 }, { 174, 222 }, { 175, 237 },
{ 176, 223 }, { 177, 170 }, { 180, 238 }, { 181, 239 },
{ 182, 240 }, { 183, 241 }, { 184, 242 }, { 185, 243 },
{ 190, 178 }, { 193, 184 }, { 196, 185 }, { 198, 186 },
{ 200, 174 }, { 201, 175 }, { 205, 176 }, { 206, 177 },
{ 208, 187 }, { 210, 198 }, { 211, 199 }, { 212, 204 },
{ 215, 205 }, { 220, 188 }, { 221, 194 }, { 223, 195 },
{ 225, 196 }, { 227, 197 },
};
static struct msm_pinctrl_soc_data sc8280xp_pinctrl = {

View File

@@ -44,6 +44,7 @@
.intr_status_bit = 0, \
.intr_wakeup_enable_bit = 7, \
.intr_wakeup_present_bit = 6, \
.intr_target_width = 4, \
.intr_target_bit = 8, \
.intr_target_kpss_val = 3, \
.intr_raw_status_bit = 4, \