Lines Matching +full:cpm1 +full:- +full:fsl
1 // SPDX-License-Identifier: GPL-2.0
11 #include <asm/cpm1.h>
23 clrbits32(&data->reg->cpic_cimr, (1 << cpm_vec)); in cpm_mask_irq()
31 setbits32(&data->reg->cpic_cimr, (1 << cpm_vec)); in cpm_unmask_irq()
39 out_be32(&data->reg->cpic_cisr, (1 << cpm_vec)); in cpm_end_irq()
58 out_be16(&data->reg->cpic_civr, 1); in cpm_get_irq()
59 cpm_vec = in_be16(&data->reg->cpic_civr); in cpm_get_irq()
62 return irq_linear_revmap(data->host, cpm_vec); in cpm_get_irq()
73 irq_set_chip_data(virq, h->host_data); in cpm_pic_host_map()
85 struct device *dev = &pdev->dev; in cpm_pic_probe()
92 return -ENODEV; in cpm_pic_probe()
96 return -ENOMEM; in cpm_pic_probe()
98 data->reg = devm_ioremap(dev, res->start, resource_size(res)); in cpm_pic_probe()
99 if (!data->reg) in cpm_pic_probe()
100 return -ENODEV; in cpm_pic_probe()
107 out_be32(&data->reg->cpic_cicr, in cpm_pic_probe()
111 out_be32(&data->reg->cpic_cimr, 0); in cpm_pic_probe()
113 data->host = irq_domain_add_linear(dev->of_node, 64, &cpm_pic_host_ops, data); in cpm_pic_probe()
114 if (!data->host) in cpm_pic_probe()
115 return -ENODEV; in cpm_pic_probe()
120 setbits32(&data->reg->cpic_cicr, CICR_IEN); in cpm_pic_probe()
127 .compatible = "fsl,cpm1-pic",
129 .type = "cpm-pic",
136 .name = "cpm-pic",
151 * and return. This is a no-op function so we don't need any special
171 { .compatible = "fsl,cpm1" },
178 .name = "cpm-error",