| /* Copyright (c) 2017, 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 <linux/irqchip.h> |
| #include "pdc.h" |
| |
| static struct pdc_pin sdxpoorwills_data[] = { |
| {0, 179}, /* rpmh_wake */ |
| {1, 180}, /* ee0_apps_hlos_spmi_periph_irq */ |
| {2, 181}, /* ee1_apps_trustzone_spmi_periph_irq */ |
| {3, 182}, /* secure_wdog_expired */ |
| {4, 183}, /* secure_wdog_bark_irq */ |
| {5, 184}, /* aop_wdog_expired_irq */ |
| {8, 187}, /* aoss_pmic_arb_mpu_xpu_summary_irq */ |
| {9, 188}, /* rpmh_wake */ |
| {12, 191}, /* pdc_apps_epcb_timeout_summary_irq */ |
| {13, 192}, /* spmi_protocol_irq */ |
| {14, 193}, /* tsense0_tsense_max_min_int */ |
| {15, 194}, /* apps_pdc_irq_in_15 */ |
| {16, 195}, /* tsense0_upper_lower_intr */ |
| {17, 196}, /* apps_pdc_irq_in_17 */ |
| {18, 197}, /* tsense0_critical_intr */ |
| {19, 198}, /* apps_pdc_irq_in_19 */ |
| {20, 199}, /* apps_pdc.gp_irq_mux[0] */ |
| {21, 200}, /* apps_pdc.gp_irq_mux[1] */ |
| {22, 201}, /* apps_pdc.gp_irq_mux[2] */ |
| {23, 202}, /* apps_pdc.gp_irq_mux[3] */ |
| {24, 203}, /* apps_pdc.gp_irq_mux[4] */ |
| {25, 204}, /* apps_pdc.gp_irq_mux[5] */ |
| {26, 205}, /* apps_pdc.gp_irq_mux[6] */ |
| {27, 206}, /* apps_pdc.gp_irq_mux[7] */ |
| {28, 207}, /* apps_pdc.gp_irq_mux[8] */ |
| {29, 208}, /* apps_pdc.gp_irq_mux[9] */ |
| {30, 209}, /* apps_pdc.gp_irq_mux[10] */ |
| {31, 210}, /* apps_pdc.gp_irq_mux[11] */ |
| {32, 211}, /* apps_pdc.gp_irq_mux[12] */ |
| {33, 212}, /* apps_pdc.gp_irq_mux[13] */ |
| {34, 213}, /* apps_pdc.gp_irq_mux[14] */ |
| {35, 214}, /* apps_pdc.gp_irq_mux[15] */ |
| {36, 215}, /* apps_pdc.gp_irq_mux[16] */ |
| {37, 216}, /* apps_pdc.gp_irq_mux[17] */ |
| {38, 217}, /* apps_pdc.gp_irq_mux[18] */ |
| {39, 218}, /* apps_pdc.gp_irq_mux[19] */ |
| {40, 219}, /* apps_pdc.gp_irq_mux[20] */ |
| {41, 220}, /* apps_pdc.gp_irq_mux[21] */ |
| {42, 221}, /* apps_pdc.gp_irq_mux[22] */ |
| {43, 222}, /* apps_pdc.gp_irq_mux[23] */ |
| {44, 223}, /* apps_pdc.gp_irq_mux[24] */ |
| {45, 224}, /* apps_pdc.gp_irq_mux[25] */ |
| {46, 225}, /* apps_pdc.gp_irq_mux[26] */ |
| {47, 226}, /* apps_pdc.gp_irq_mux[27] */ |
| {48, 227}, /* apps_pdc.gp_irq_mux[28] */ |
| {49, 228}, /* apps_pdc.gp_irq_mux[29] */ |
| {50, 229}, /* apps_pdc.gp_irq_mux[30] */ |
| {51, 230}, /* apps_pdc.gp_irq_mux[31] */ |
| {-1} |
| }; |
| |
| static int __init qcom_pdc_gic_init(struct device_node *node, |
| struct device_node *parent) |
| { |
| pr_info("PDC sdxpoowills initialized\n"); |
| return qcom_pdc_init(node, parent, sdxpoorwills_data); |
| } |
| |
| IRQCHIP_DECLARE(pdc_sdxpoorwills, "qcom,pdc-sdxpoorwills", qcom_pdc_gic_init); |