Lines Matching +full:imx6q +full:- +full:gpc
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright 2011-2013 Freescale Semiconductor, Inc.
67 /* Tell GPC to power off ARM core when suspend */ in imx_gpc_pre_suspend()
82 /* Keep ARM core powered on for other low-power modes */ in imx_gpc_post_resume()
91 unsigned int idx = d->hwirq / 32; in imx_gpc_irq_set_wake()
94 mask = 1 << d->hwirq % 32; in imx_gpc_irq_set_wake()
100 * wake-up facility... in imx_gpc_irq_set_wake()
149 imx_gpc_hwirq_unmask(d->hwirq); in imx_gpc_irq_unmask()
155 imx_gpc_hwirq_mask(d->hwirq); in imx_gpc_irq_mask()
160 .name = "GPC",
177 if (is_of_node(fwspec->fwnode)) { in imx_gpc_domain_translate()
178 if (fwspec->param_count != 3) in imx_gpc_domain_translate()
179 return -EINVAL; in imx_gpc_domain_translate()
182 if (fwspec->param[0] != 0) in imx_gpc_domain_translate()
183 return -EINVAL; in imx_gpc_domain_translate()
185 *hwirq = fwspec->param[1]; in imx_gpc_domain_translate()
186 *type = fwspec->param[2]; in imx_gpc_domain_translate()
190 return -EINVAL; in imx_gpc_domain_translate()
202 if (fwspec->param_count != 3) in imx_gpc_domain_alloc()
203 return -EINVAL; /* Not GIC compliant */ in imx_gpc_domain_alloc()
204 if (fwspec->param[0] != 0) in imx_gpc_domain_alloc()
205 return -EINVAL; /* No PPI should point to this domain */ in imx_gpc_domain_alloc()
207 hwirq = fwspec->param[1]; in imx_gpc_domain_alloc()
209 return -EINVAL; /* Can't deal with this */ in imx_gpc_domain_alloc()
216 parent_fwspec.fwnode = domain->parent->fwnode; in imx_gpc_domain_alloc()
235 return -ENODEV; in imx_gpc_init()
241 return -ENXIO; in imx_gpc_init()
246 return -ENOMEM; in imx_gpc_init()
253 return -ENOMEM; in imx_gpc_init()
262 * later the GPC power domain driver will not be skipped. in imx_gpc_init()
268 IRQCHIP_DECLARE(imx_gpc, "fsl,imx6q-gpc", imx_gpc_init);
274 np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpc"); in imx_gpc_check_dt()
278 if (WARN_ON(!of_find_property(np, "interrupt-controller", NULL))) { in imx_gpc_check_dt()
281 /* map GPC, so that at least CPUidle and WARs keep working */ in imx_gpc_check_dt()