From afc0718a7a334b9a8315b7bbccc8e77b2e711687 Mon Sep 17 00:00:00 2001 From: Akshaya Bhat Date: Tue, 11 May 2021 20:05:26 +0530 Subject: [PATCH] irqchip: mpm: Add mpm mapping for SA2150P Add mpm mapping for gic wakeup capable interrupts for SA2150P. Change-Id: I958721057ef868506c3bf5eeb2cd31d2a6aa07cd Signed-off-by: Akshaya Bhat --- drivers/irqchip/Makefile | 2 +- drivers/irqchip/qcom-mpm-qcs405.c | 16 ++++++++++++++++ drivers/irqchip/qcom-mpm.c | 4 ++++ include/soc/qcom/mpm.h | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 drivers/irqchip/qcom-mpm-qcs405.c diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile index 3c44dcc71a7a..4e4ac6b2dfff 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 qcom-mpm-sdxnightjar.o qcom-mpm-monaco.o +mpm-objs += qcom-mpm.o qcom-mpm-holi.o qcom-mpm-sdxnightjar.o qcom-mpm-monaco.o qcom-mpm-qcs405.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-qcs405.c b/drivers/irqchip/qcom-mpm-qcs405.c new file mode 100644 index 000000000000..1f2137a136b9 --- /dev/null +++ b/drivers/irqchip/qcom-mpm-qcs405.c @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. + */ + +#include + +const struct mpm_pin mpm_qcs405_gic_chip_data[] = { + {2, 184}, + {35, 318}, /* dmse_hv, usb20 -> hs_phy_irq */ + {36, 318}, /* dpse_hv, usb20 -> hs_phy_irq */ + {38, 319}, /* dmse_hv, usb30 -> hs_phy_irq */ + {39, 319}, /* dpse_hv, usb30 -> hs_phy_irq */ + {62, 190}, /* mpm_wake,spmi_m */ + {-1}, +}; diff --git a/drivers/irqchip/qcom-mpm.c b/drivers/irqchip/qcom-mpm.c index da1bcba03e72..acdddcbfac11 100644 --- a/drivers/irqchip/qcom-mpm.c +++ b/drivers/irqchip/qcom-mpm.c @@ -568,6 +568,10 @@ static const struct of_device_id mpm_gic_chip_data_table[] = { .compatible = "qcom,mpm-gic-monaco", .data = mpm_monaco_gic_chip_data, }, + { + .compatible = "qcom,mpm-gic-qcs405", + .data = mpm_qcs405_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 4348c351b9ba..49a82f6246a1 100644 --- a/include/soc/qcom/mpm.h +++ b/include/soc/qcom/mpm.h @@ -19,4 +19,5 @@ 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[]; extern const struct mpm_pin mpm_monaco_gic_chip_data[]; +extern const struct mpm_pin mpm_qcs405_gic_chip_data[]; #endif /* __QCOM_MPM_H__ */