From cea7789bf11bb554b75513533d8cd9c86c1dfb9b Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Tue, 15 Jun 2021 18:18:48 +0530 Subject: [PATCH] irqchip: mpm: Add mpm mapping for Blair Currently both Blair and Holi use the same MPM pins mapping configuration as they use the same compatible string. USB PHY has a different GIC IRQ on Blair, so different MPM configuration is required. Change-Id: I1d72a70c0139abeac2d2ee32d103b7119a192ec9 Signed-off-by: Pavankumar Kondeti --- drivers/irqchip/Makefile | 2 +- drivers/irqchip/qcom-mpm-blair.c | 17 +++++++++++++++++ drivers/irqchip/qcom-mpm.c | 4 ++++ include/soc/qcom/mpm.h | 1 + 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 drivers/irqchip/qcom-mpm-blair.c diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile index 4e4ac6b2dfff..ef73e2c2cf85 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 qcom-mpm-qcs405.o +mpm-objs += qcom-mpm.o qcom-mpm-holi.o qcom-mpm-sdxnightjar.o qcom-mpm-monaco.o qcom-mpm-qcs405.o qcom-mpm-blair.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-blair.c b/drivers/irqchip/qcom-mpm-blair.c new file mode 100644 index 000000000000..b4da13878435 --- /dev/null +++ b/drivers/irqchip/qcom-mpm-blair.c @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: GPL-2.0-only + +/* + * Copyright (c) 2021, The Linux Foundation. All rights reserved. + */ + +#include +const struct mpm_pin mpm_blair_gic_chip_data[] = { + {5, 296}, /* lpass_irq_out_sdc */ + {12, 422}, /* qmp_usb3_lfps_rxterm_irq_cx */ + {86, 183}, /* mpm_wake,spmi_m */ + {89, 314}, /* tsens0_tsens_0C_int */ + {90, 315}, /* tsens1_tsens_0C_int */ + {93, 164}, /* eud_p0_dmse_int_mx */ + {94, 165}, /* eud_p0_dpse_int_mx */ + {-1}, +}; diff --git a/drivers/irqchip/qcom-mpm.c b/drivers/irqchip/qcom-mpm.c index acdddcbfac11..bebd0a8898fe 100644 --- a/drivers/irqchip/qcom-mpm.c +++ b/drivers/irqchip/qcom-mpm.c @@ -572,6 +572,10 @@ static const struct of_device_id mpm_gic_chip_data_table[] = { .compatible = "qcom,mpm-gic-qcs405", .data = mpm_qcs405_gic_chip_data, }, + { + .compatible = "qcom,mpm-gic-blair", + .data = mpm_blair_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 49a82f6246a1..6c9cb12cddc8 100644 --- a/include/soc/qcom/mpm.h +++ b/include/soc/qcom/mpm.h @@ -20,4 +20,5 @@ 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[]; +extern const struct mpm_pin mpm_blair_gic_chip_data[]; #endif /* __QCOM_MPM_H__ */