From 292ced49312a2e51285627d27f1965dc61eb019d Mon Sep 17 00:00:00 2001 From: Raghavendra Kakarla Date: Sat, 30 Jan 2021 00:32:13 +0530 Subject: [PATCH] irqchip: mpm: Add mpm mapping for gic wakeup capable irqs Add mpm mapping for gic wakeup capable interrupts for sdxnightjar. Change-Id: I1d895706dc9bfca7b1236200aabedfebf31d8c0c Signed-off-by: Raghavendra Kakarla Signed-off-by: Tushar Nimkar --- drivers/irqchip/Makefile | 2 +- drivers/irqchip/qcom-mpm-sdxnightjar.c | 13 +++++++++++++ drivers/irqchip/qcom-mpm.c | 6 +++++- include/soc/qcom/mpm.h | 3 ++- 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 drivers/irqchip/qcom-mpm-sdxnightjar.c diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile index 739d89f5a91b..d765c67dc8b9 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -99,7 +99,7 @@ obj-$(CONFIG_QCOM_PDC) += qcom-pdc.o obj-$(CONFIG_CSKY_MPINTC) += irq-csky-mpintc.o obj-$(CONFIG_CSKY_APB_INTC) += irq-csky-apb-intc.o obj-$(CONFIG_QCOM_MPM) += mpm.o -mpm-objs += qcom-mpm.o qcom-mpm-holi.o +mpm-objs += qcom-mpm.o qcom-mpm-holi.o qcom-mpm-sdxnightjar.o obj-$(CONFIG_SIFIVE_PLIC) += irq-sifive-plic.o obj-$(CONFIG_IMX_IRQSTEER) += irq-imx-irqsteer.o obj-$(CONFIG_MADERA_IRQ) += irq-madera.o diff --git a/drivers/irqchip/qcom-mpm-sdxnightjar.c b/drivers/irqchip/qcom-mpm-sdxnightjar.c new file mode 100644 index 000000000000..ea7068529022 --- /dev/null +++ b/drivers/irqchip/qcom-mpm-sdxnightjar.c @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2021, The Linux Foundation. All rights reserved. + */ + +#include +const struct mpm_pin mpm_sdxnightjar_gic_chip_data[] = { + {2, 216}, /* tsens_upper_lower_int */ + {88, 222}, /* ee0_krait_hlos_spmi_periph_irq */ + {54, 235}, /* qmp_usb3_lfps_rxterm_irq */ + {49, 234}, /* qusb2_phy_dpse_hv qusb2phy_intr */ + {-1}, +}; diff --git a/drivers/irqchip/qcom-mpm.c b/drivers/irqchip/qcom-mpm.c index a342948f55c9..5c4b0679c6d0 100644 --- a/drivers/irqchip/qcom-mpm.c +++ b/drivers/irqchip/qcom-mpm.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2010-2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2010-2021, The Linux Foundation. All rights reserved. */ #include @@ -560,6 +560,10 @@ static const struct of_device_id mpm_gic_chip_data_table[] = { .compatible = "qcom,mpm-gic-holi", .data = mpm_holi_gic_chip_data, }, + { + .compatible = "qcom,mpm-gic-sdxnightjar", + .data = mpm_sdxnightjar_gic_chip_data, + }, {} }; MODULE_DEVICE_TABLE(of, mpm_gic_chip_data_table); diff --git a/include/soc/qcom/mpm.h b/include/soc/qcom/mpm.h index afda78326ff9..f41ca3ea4fa7 100644 --- a/include/soc/qcom/mpm.h +++ b/include/soc/qcom/mpm.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* - * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. */ #ifndef __QCOM_MPM_H__ @@ -17,4 +17,5 @@ struct mpm_pin { void msm_mpm_timer_write(uint32_t *expiry); void msm_mpm_enter_sleep(struct cpumask *cpumask); extern const struct mpm_pin mpm_holi_gic_chip_data[]; +extern const struct mpm_pin mpm_sdxnightjar_gic_chip_data[]; #endif /* __QCOM_MPM_H__ */