Lines Matching +full:mt8173 +full:- +full:hdmi
1 // SPDX-License-Identifier: GPL-2.0-only
64 void __iomem *reg = cec->regs + offset;
75 void __iomem *reg = cec->regs + offset;
86 u32 tmp = readl(cec->regs + offset) & ~mask;
89 writel(tmp, cec->regs + offset);
99 spin_lock_irqsave(&cec->lock, flags);
100 cec->hdmi_dev = hdmi_dev;
101 cec->hpd_event = hpd_event;
102 spin_unlock_irqrestore(&cec->lock, flags);
111 status = readl(cec->regs + RX_EVENT);
158 spin_lock_irqsave(&cec->lock, flags);
159 hpd_event = cec->hpd_event;
160 hdmi_dev = cec->hdmi_dev;
161 spin_unlock_irqrestore(&cec->lock, flags);
176 if (cec->hpd != hpd) {
178 cec->hpd, hpd);
179 cec->hpd = hpd;
187 struct device *dev = &pdev->dev;
193 return -ENOMEM;
196 spin_lock_init(&cec->lock);
198 cec->regs = devm_platform_ioremap_resource(pdev, 0);
199 if (IS_ERR(cec->regs))
200 return dev_err_probe(dev, PTR_ERR(cec->regs),
203 cec->clk = devm_clk_get(dev, NULL);
204 if (IS_ERR(cec->clk))
205 return dev_err_probe(dev, PTR_ERR(cec->clk),
208 cec->irq = platform_get_irq(pdev, 0);
209 if (cec->irq < 0)
210 return cec->irq;
212 ret = devm_request_threaded_irq(dev, cec->irq, NULL,
215 IRQF_ONESHOT, "hdmi hpd", dev);
219 ret = clk_prepare_enable(cec->clk);
234 clk_disable_unprepare(cec->clk);
238 { .compatible = "mediatek,mt8173-cec", },
247 .name = "mediatek-cec",
253 MODULE_DESCRIPTION("MediaTek HDMI CEC Driver");