Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 053e9a04 authored by Archana Sathyakumar's avatar Archana Sathyakumar Committed by Mahesh Sivasubramanian
Browse files

irqchip: qcom: pdc: Enable PDC for sdxpoorwills



Add PDC and GIC map for sdxpoorwills target.

Change-Id: I773acf0e2362fe0b8e0fed7516e3432d36720fee
Signed-off-by: default avatarArchana Sathyakumar <asathyak@codeaurora.org>
parent e52de84c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ Properties:
	* "qcom,pdc-sdm845": For sdm845 pin data
	* "qcom,pdc-sdm845-v2": For sdm845 v2 pin data
	* "qcom,pdc-sdm670": For sdm670 pin data
	* "qcom,pdc-sdxpoorwills": For sdxpoorwills pin data

- reg:
	Usage: required
+7 −0
Original line number Diff line number Diff line
@@ -20,3 +20,10 @@ config QTI_PDC_SDM670
        default y if ARCH_SDM670
        help
          QTI Power Domain Controller for SDM670

config QTI_PDC_SDXPOORWILLS
        bool "QTI PDC SDxPOORWILLS"
        select QTI_PDC
        default y if ARCH_SDXPOORWILLS
        help
          QTI Power Domain Controller for SDxPoorwills
+1 −0
Original line number Diff line number Diff line
obj-$(CONFIG_QTI_PDC)			+= pdc.o
obj-$(CONFIG_QTI_PDC_SDM845)		+= pdc-sdm845.o
obj-$(CONFIG_QTI_PDC_SDM670)		+= pdc-sdm670.o
obj-$(CONFIG_QTI_PDC_SDXPOORWILLS)	+= pdc-sdxpoorwills.o
+76 −0
Original line number Diff line number Diff line
/* 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);