Loading Documentation/devicetree/bindings/interrupt-controller/qti,mpm.txt +12 −4 Original line number Diff line number Diff line Loading @@ -17,7 +17,11 @@ Properties: - compatible: Usage: required Value type: <string> Definition: Should contain "qcom,mpm-gic" and the respective target compatible flag. Definition: Should contain "qcom,mpm-gic" and the respective target compatible flag from below ones. "qcom,mpm-gic-msm8953", "qcom,mpm-gic-msm8937", "qcom,mpm-gic-qcs405" - interrupts: Usage: required Loading Loading @@ -52,7 +56,7 @@ Properties: Example: wakegic: wake-gic@7781b8 { compatible = "qcom,mpm-gic", "qcom,mpm-gic-msm8953", "qcom,mpm-gic-msm8937"; compatible = "qcom,mpm-gic", "qcom,mpm-gic-msm8953"; interrupts = <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>; reg = <0x601d4 0x1000>, <0xb011008 0x4>; /* MSM_APCS_GCC_BASE 4K */ Loading @@ -70,7 +74,11 @@ properties: - compatible: Usage: required Value type: <string> Definition: Should contain "qcom,mpm-gpio" and the respective target compatible flag. Definition: Should contain "qcom,mpm-gpio" and the respective target compatible flag from below ones. "qcom,mpm-gpio-msm8953", "qcom,mpm-gpio-msm8937", "qcom,mpm-gpio-qcs405" - interrupt-parent: Usage: required Loading @@ -85,7 +93,7 @@ properties: Example: wakegpio: wake-gpio { compatible = "qcom,mpm-gpio", "qcom,mpm-gpio-msm8953", "qcom,mpm-gpio-msm8937"; compatible = "qcom,mpm-gpio", "qcom,mpm-gpio-msm8953"; interrupt-controller; interrupt-parent = <&tlmm>; #interrupt-cells = <2>; Loading drivers/irqchip/qcom/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -3,4 +3,4 @@ obj-$(CONFIG_QTI_PDC_SM8150) += pdc-sm8150.o obj-$(CONFIG_QTI_PDC_SM6150) += pdc-sm6150.o obj-$(CONFIG_QTI_PDC_SDMMAGPIE) += pdc-sdmmagpie.o obj-$(CONFIG_QTI_MPM) += mpm.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o mpm-qcs405.o drivers/irqchip/qcom/mpm-qcs405.c 0 → 100644 +74 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #include "mpm.h" const struct mpm_pin mpm_qcs405_gic_chip_data[] = { {2, 216}, {35, 350}, /* dmse_hv, usb20 -> hs_phy_irq */ {36, 350}, /* dpse_hv, usb20 -> hs_phy_irq */ {38, 351}, /* dmse_hv, usb30 -> hs_phy_irq */ {39, 351}, /* dpse_hv, usb30 -> hs_phy_irq */ {62, 222}, /* mpm_wake,spmi_m */ {-1}, }; const struct mpm_pin mpm_qcs405_gpio_chip_data[] = { {3, 4}, {4, 6}, {5, 14}, {6, 18}, {7, 117}, {8, 19}, {9, 20}, {10, 21}, {11, 22}, {12, 23}, {13, 24}, {14, 27}, {15, 28}, {16, 31}, {17, 32}, {18, 34}, {19, 35}, {20, 37}, {21, 38}, {22, 59}, {23, 61}, {24, 62}, {25, 77}, {26, 78}, {27, 79}, {28, 80}, {29, 81}, {30, 83}, {31, 84}, {32, 88}, {33, 89}, {34, 99}, {42, 100}, {43, 104}, {47, 105}, {48, 106}, {49, 107}, {52, 109}, {53, 110}, {54, 111}, {55, 112}, {56, 113}, {57, 114}, {58, 115}, {67, 53}, {68, 54}, {-1}, }; drivers/irqchip/qcom/mpm.c +8 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,10 @@ static const struct of_device_id mpm_gic_chip_data_table[] = { .compatible = "qcom,mpm-gic-msm8937", .data = mpm_msm8937_gic_chip_data, }, { .compatible = "qcom,mpm-gic-qcs405", .data = mpm_qcs405_gic_chip_data, }, {} }; MODULE_DEVICE_TABLE(of, mpm_gic_chip_data_table); Loading @@ -614,6 +618,10 @@ static const struct of_device_id mpm_gpio_chip_data_table[] = { .compatible = "qcom,mpm-gpio-msm8937", .data = mpm_msm8937_gpio_chip_data, }, { .compatible = "qcom,mpm-gpio-qcs405", .data = mpm_qcs405_gpio_chip_data, }, {} }; Loading drivers/irqchip/qcom/mpm.h +2 −0 Original line number Diff line number Diff line Loading @@ -24,4 +24,6 @@ struct mpm_pin { extern const struct mpm_pin mpm_msm8937_gic_chip_data[]; extern const struct mpm_pin mpm_msm8937_gpio_chip_data[]; extern const struct mpm_pin mpm_qcs405_gic_chip_data[]; extern const struct mpm_pin mpm_qcs405_gpio_chip_data[]; #endif /* __QCOM_MPM_H__ */ Loading
Documentation/devicetree/bindings/interrupt-controller/qti,mpm.txt +12 −4 Original line number Diff line number Diff line Loading @@ -17,7 +17,11 @@ Properties: - compatible: Usage: required Value type: <string> Definition: Should contain "qcom,mpm-gic" and the respective target compatible flag. Definition: Should contain "qcom,mpm-gic" and the respective target compatible flag from below ones. "qcom,mpm-gic-msm8953", "qcom,mpm-gic-msm8937", "qcom,mpm-gic-qcs405" - interrupts: Usage: required Loading Loading @@ -52,7 +56,7 @@ Properties: Example: wakegic: wake-gic@7781b8 { compatible = "qcom,mpm-gic", "qcom,mpm-gic-msm8953", "qcom,mpm-gic-msm8937"; compatible = "qcom,mpm-gic", "qcom,mpm-gic-msm8953"; interrupts = <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>; reg = <0x601d4 0x1000>, <0xb011008 0x4>; /* MSM_APCS_GCC_BASE 4K */ Loading @@ -70,7 +74,11 @@ properties: - compatible: Usage: required Value type: <string> Definition: Should contain "qcom,mpm-gpio" and the respective target compatible flag. Definition: Should contain "qcom,mpm-gpio" and the respective target compatible flag from below ones. "qcom,mpm-gpio-msm8953", "qcom,mpm-gpio-msm8937", "qcom,mpm-gpio-qcs405" - interrupt-parent: Usage: required Loading @@ -85,7 +93,7 @@ properties: Example: wakegpio: wake-gpio { compatible = "qcom,mpm-gpio", "qcom,mpm-gpio-msm8953", "qcom,mpm-gpio-msm8937"; compatible = "qcom,mpm-gpio", "qcom,mpm-gpio-msm8953"; interrupt-controller; interrupt-parent = <&tlmm>; #interrupt-cells = <2>; Loading
drivers/irqchip/qcom/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -3,4 +3,4 @@ obj-$(CONFIG_QTI_PDC_SM8150) += pdc-sm8150.o obj-$(CONFIG_QTI_PDC_SM6150) += pdc-sm6150.o obj-$(CONFIG_QTI_PDC_SDMMAGPIE) += pdc-sdmmagpie.o obj-$(CONFIG_QTI_MPM) += mpm.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o mpm-qcs405.o
drivers/irqchip/qcom/mpm-qcs405.c 0 → 100644 +74 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #include "mpm.h" const struct mpm_pin mpm_qcs405_gic_chip_data[] = { {2, 216}, {35, 350}, /* dmse_hv, usb20 -> hs_phy_irq */ {36, 350}, /* dpse_hv, usb20 -> hs_phy_irq */ {38, 351}, /* dmse_hv, usb30 -> hs_phy_irq */ {39, 351}, /* dpse_hv, usb30 -> hs_phy_irq */ {62, 222}, /* mpm_wake,spmi_m */ {-1}, }; const struct mpm_pin mpm_qcs405_gpio_chip_data[] = { {3, 4}, {4, 6}, {5, 14}, {6, 18}, {7, 117}, {8, 19}, {9, 20}, {10, 21}, {11, 22}, {12, 23}, {13, 24}, {14, 27}, {15, 28}, {16, 31}, {17, 32}, {18, 34}, {19, 35}, {20, 37}, {21, 38}, {22, 59}, {23, 61}, {24, 62}, {25, 77}, {26, 78}, {27, 79}, {28, 80}, {29, 81}, {30, 83}, {31, 84}, {32, 88}, {33, 89}, {34, 99}, {42, 100}, {43, 104}, {47, 105}, {48, 106}, {49, 107}, {52, 109}, {53, 110}, {54, 111}, {55, 112}, {56, 113}, {57, 114}, {58, 115}, {67, 53}, {68, 54}, {-1}, };
drivers/irqchip/qcom/mpm.c +8 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,10 @@ static const struct of_device_id mpm_gic_chip_data_table[] = { .compatible = "qcom,mpm-gic-msm8937", .data = mpm_msm8937_gic_chip_data, }, { .compatible = "qcom,mpm-gic-qcs405", .data = mpm_qcs405_gic_chip_data, }, {} }; MODULE_DEVICE_TABLE(of, mpm_gic_chip_data_table); Loading @@ -614,6 +618,10 @@ static const struct of_device_id mpm_gpio_chip_data_table[] = { .compatible = "qcom,mpm-gpio-msm8937", .data = mpm_msm8937_gpio_chip_data, }, { .compatible = "qcom,mpm-gpio-qcs405", .data = mpm_qcs405_gpio_chip_data, }, {} }; Loading
drivers/irqchip/qcom/mpm.h +2 −0 Original line number Diff line number Diff line Loading @@ -24,4 +24,6 @@ struct mpm_pin { extern const struct mpm_pin mpm_msm8937_gic_chip_data[]; extern const struct mpm_pin mpm_msm8937_gpio_chip_data[]; extern const struct mpm_pin mpm_qcs405_gic_chip_data[]; extern const struct mpm_pin mpm_qcs405_gpio_chip_data[]; #endif /* __QCOM_MPM_H__ */