Lines Matching defs:icu

23 #include <dt-bindings/interrupt-controller/mvebu-icu.h>
58 struct mvebu_icu *icu;
64 struct mvebu_icu *icu;
71 static void mvebu_icu_init(struct mvebu_icu *icu,
81 writel_relaxed(msg[0].address_hi, icu->base + subset->offset_set_ah);
82 writel_relaxed(msg[0].address_lo, icu->base + subset->offset_set_al);
88 writel_relaxed(msg[1].address_hi, icu->base + subset->offset_clr_ah);
89 writel_relaxed(msg[1].address_lo, icu->base + subset->offset_clr_al);
97 struct mvebu_icu *icu = icu_irqd->icu;
102 mvebu_icu_init(icu, msi_data, msg);
113 writel_relaxed(icu_int, icu->base + ICU_INT_CFG(d->hwirq));
126 icu->base + ICU_INT_CFG(ICU_SATA0_ICU_ID));
128 icu->base + ICU_INT_CFG(ICU_SATA1_ICU_ID));
156 struct mvebu_icu *icu = msi_data->icu;
160 dev_err(icu->dev, "wrong ICU parameter count %d\n",
169 dev_err(icu->dev, "wrong ICU group type %x\n",
188 dev_err(icu->dev, "invalid interrupt number %ld\n", *hwirq);
203 struct mvebu_icu *icu = msi_data->icu;
214 dev_err(icu->dev, "failed to translate ICU parameters\n");
222 icu_irqd->icu = icu;
226 dev_err(icu->dev, "failed to allocate ICU interrupt in parent domain\n");
241 dev_err(icu->dev, "failed to set the data to IRQ domain\n");
288 .compatible = "marvell,cp110-icu-nsr",
292 .compatible = "marvell,cp110-icu-sei",
310 msi_data->icu = dev_get_drvdata(dev);
313 msi_data->icu = dev_get_drvdata(dev->parent);
341 .name = "mvebu-icu-subset",
349 struct mvebu_icu *icu;
352 icu = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_icu),
354 if (!icu)
357 icu->dev = &pdev->dev;
359 icu->base = devm_platform_ioremap_resource(pdev, 0);
360 if (IS_ERR(icu->base))
361 return PTR_ERR(icu->base);
380 icu_int = readl_relaxed(icu->base + ICU_INT_CFG(i));
386 writel_relaxed(0x0, icu->base + ICU_INT_CFG(i));
389 platform_set_drvdata(pdev, icu);
398 { .compatible = "marvell,cp110-icu", },
405 .name = "mvebu-icu",