/linux-6.1.9/drivers/media/cec/platform/s5p/ |
D | s5p_cec.c | 39 struct s5p_cec_dev *cec = cec_get_drvdata(adap); in s5p_cec_adap_enable() local 42 ret = pm_runtime_resume_and_get(cec->dev); in s5p_cec_adap_enable() 46 s5p_cec_reset(cec); in s5p_cec_adap_enable() 48 s5p_cec_set_divider(cec); in s5p_cec_adap_enable() 49 s5p_cec_threshold(cec); in s5p_cec_adap_enable() 51 s5p_cec_unmask_tx_interrupts(cec); in s5p_cec_adap_enable() 52 s5p_cec_unmask_rx_interrupts(cec); in s5p_cec_adap_enable() 53 s5p_cec_enable_rx(cec); in s5p_cec_adap_enable() 55 s5p_cec_mask_tx_interrupts(cec); in s5p_cec_adap_enable() 56 s5p_cec_mask_rx_interrupts(cec); in s5p_cec_adap_enable() [all …]
|
D | exynos_hdmi_cecctrl.c | 23 void s5p_cec_set_divider(struct s5p_cec_dev *cec) in s5p_cec_set_divider() argument 30 if (regmap_read(cec->pmu, EXYNOS_HDMI_PHY_CONTROL, ®)) { in s5p_cec_set_divider() 31 dev_err(cec->dev, "failed to read phy control\n"); in s5p_cec_set_divider() 37 if (regmap_write(cec->pmu, EXYNOS_HDMI_PHY_CONTROL, reg)) { in s5p_cec_set_divider() 38 dev_err(cec->dev, "failed to write phy control\n"); in s5p_cec_set_divider() 44 writeb(0x0, cec->reg + S5P_CEC_DIVISOR_3); in s5p_cec_set_divider() 45 writeb(0x0, cec->reg + S5P_CEC_DIVISOR_2); in s5p_cec_set_divider() 46 writeb(0x0, cec->reg + S5P_CEC_DIVISOR_1); in s5p_cec_set_divider() 47 writeb(div_val, cec->reg + S5P_CEC_DIVISOR_0); in s5p_cec_set_divider() 50 void s5p_cec_enable_rx(struct s5p_cec_dev *cec) in s5p_cec_enable_rx() argument [all …]
|
D | exynos_hdmi_cec.h | 16 void s5p_cec_set_divider(struct s5p_cec_dev *cec); 17 void s5p_cec_enable_rx(struct s5p_cec_dev *cec); 18 void s5p_cec_mask_rx_interrupts(struct s5p_cec_dev *cec); 19 void s5p_cec_unmask_rx_interrupts(struct s5p_cec_dev *cec); 20 void s5p_cec_mask_tx_interrupts(struct s5p_cec_dev *cec); 21 void s5p_cec_unmask_tx_interrupts(struct s5p_cec_dev *cec); 22 void s5p_cec_reset(struct s5p_cec_dev *cec); 23 void s5p_cec_tx_reset(struct s5p_cec_dev *cec); 24 void s5p_cec_rx_reset(struct s5p_cec_dev *cec); 25 void s5p_cec_threshold(struct s5p_cec_dev *cec); [all …]
|
/linux-6.1.9/drivers/media/cec/platform/cec-gpio/ |
D | cec-gpio.c | 36 struct cec_gpio *cec = cec_get_drvdata(adap); in cec_gpio_read() local 38 if (cec->cec_is_low) in cec_gpio_read() 40 return gpiod_get_value(cec->cec_gpio); in cec_gpio_read() 45 struct cec_gpio *cec = cec_get_drvdata(adap); in cec_gpio_high() local 47 if (!cec->cec_is_low) in cec_gpio_high() 49 cec->cec_is_low = false; in cec_gpio_high() 50 gpiod_set_value(cec->cec_gpio, 1); in cec_gpio_high() 55 struct cec_gpio *cec = cec_get_drvdata(adap); in cec_gpio_low() local 57 if (cec->cec_is_low) in cec_gpio_low() 59 cec->cec_is_low = true; in cec_gpio_low() [all …]
|
/linux-6.1.9/drivers/media/cec/platform/tegra/ |
D | tegra_cec.c | 52 static inline u32 cec_read(struct tegra_cec *cec, u32 reg) in cec_read() argument 54 return readl(cec->cec_base + reg); in cec_read() 57 static inline void cec_write(struct tegra_cec *cec, u32 reg, u32 val) in cec_write() argument 59 writel(val, cec->cec_base + reg); in cec_write() 62 static void tegra_cec_error_recovery(struct tegra_cec *cec) in tegra_cec_error_recovery() argument 66 hw_ctrl = cec_read(cec, TEGRA_CEC_HW_CONTROL); in tegra_cec_error_recovery() 67 cec_write(cec, TEGRA_CEC_HW_CONTROL, 0); in tegra_cec_error_recovery() 68 cec_write(cec, TEGRA_CEC_INT_STAT, 0xffffffff); in tegra_cec_error_recovery() 69 cec_write(cec, TEGRA_CEC_HW_CONTROL, hw_ctrl); in tegra_cec_error_recovery() 75 struct tegra_cec *cec = dev_get_drvdata(dev); in tegra_cec_irq_thread_handler() local [all …]
|
/linux-6.1.9/drivers/gpu/drm/bridge/synopsys/ |
D | dw-hdmi-cec.c | 67 static void dw_hdmi_write(struct dw_hdmi_cec *cec, u8 val, int offset) in dw_hdmi_write() argument 69 cec->ops->write(cec->hdmi, val, offset); in dw_hdmi_write() 72 static u8 dw_hdmi_read(struct dw_hdmi_cec *cec, int offset) in dw_hdmi_read() argument 74 return cec->ops->read(cec->hdmi, offset); in dw_hdmi_read() 79 struct dw_hdmi_cec *cec = cec_get_drvdata(adap); in dw_hdmi_cec_log_addr() local 82 cec->addresses = 0; in dw_hdmi_cec_log_addr() 84 cec->addresses |= BIT(logical_addr) | BIT(15); in dw_hdmi_cec_log_addr() 86 dw_hdmi_write(cec, cec->addresses & 255, HDMI_CEC_ADDR_L); in dw_hdmi_cec_log_addr() 87 dw_hdmi_write(cec, cec->addresses >> 8, HDMI_CEC_ADDR_H); in dw_hdmi_cec_log_addr() 95 struct dw_hdmi_cec *cec = cec_get_drvdata(adap); in dw_hdmi_cec_transmit() local [all …]
|
/linux-6.1.9/drivers/media/cec/platform/stm32/ |
D | stm32-cec.c | 80 static void cec_hw_init(struct stm32_cec *cec) in cec_hw_init() argument 82 regmap_update_bits(cec->regmap, CEC_CR, TXEOM | TXSOM | CECEN, 0); in cec_hw_init() 84 regmap_update_bits(cec->regmap, CEC_IER, ALL_TX_IT | ALL_RX_IT, in cec_hw_init() 87 regmap_update_bits(cec->regmap, CEC_CFGR, FULL_CFG, FULL_CFG); in cec_hw_init() 90 static void stm32_tx_done(struct stm32_cec *cec, u32 status) in stm32_tx_done() argument 93 cec_transmit_done(cec->adap, CEC_TX_STATUS_ERROR, in stm32_tx_done() 99 cec_transmit_done(cec->adap, CEC_TX_STATUS_ARB_LOST, in stm32_tx_done() 105 cec_transmit_done(cec->adap, CEC_TX_STATUS_NACK, in stm32_tx_done() 110 if (cec->irq_status & TXBR) { in stm32_tx_done() 112 if (cec->tx_cnt < cec->tx_msg.len) in stm32_tx_done() [all …]
|
/linux-6.1.9/drivers/gpu/drm/mediatek/ |
D | mtk_cec.c | 60 static void mtk_cec_clear_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_clear_bits() argument 63 void __iomem *reg = cec->regs + offset; in mtk_cec_clear_bits() 71 static void mtk_cec_set_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_set_bits() argument 74 void __iomem *reg = cec->regs + offset; in mtk_cec_set_bits() 82 static void mtk_cec_mask(struct mtk_cec *cec, unsigned int offset, in mtk_cec_mask() argument 85 u32 tmp = readl(cec->regs + offset) & ~mask; in mtk_cec_mask() 88 writel(tmp, cec->regs + offset); in mtk_cec_mask() 95 struct mtk_cec *cec = dev_get_drvdata(dev); in mtk_cec_set_hpd_event() local 98 spin_lock_irqsave(&cec->lock, flags); in mtk_cec_set_hpd_event() 99 cec->hdmi_dev = hdmi_dev; in mtk_cec_set_hpd_event() [all …]
|
/linux-6.1.9/drivers/media/cec/platform/sti/ |
D | stih-cec.c | 134 struct stih_cec *cec = cec_get_drvdata(adap); in stih_cec_adap_enable() local 138 unsigned long clk_freq = clk_get_rate(cec->clk); in stih_cec_adap_enable() 141 writel(cec_clk_div, cec->regs + CEC_CLK_DIV); in stih_cec_adap_enable() 145 cec->regs + CEC_BIT_TOUT_THRESH); in stih_cec_adap_enable() 149 cec->regs + CEC_BIT_PULSE_THRESH); in stih_cec_adap_enable() 152 writel(BIT(5) | BIT(7), cec->regs + CEC_TX_CTRL); in stih_cec_adap_enable() 156 cec->regs + CEC_DATA_ARRAY_CTRL); in stih_cec_adap_enable() 160 cec->regs + CEC_CTRL); in stih_cec_adap_enable() 163 writel(0, cec->regs + CEC_ADDR_TABLE); in stih_cec_adap_enable() 166 writel(0x0, cec->regs + CEC_STATUS); in stih_cec_adap_enable() [all …]
|
/linux-6.1.9/drivers/gpu/drm/display/ |
D | drm_dp_cec.c | 191 struct cec_adapter *adap = aux->cec.adap; in drm_dp_cec_received() 214 struct cec_adapter *adap = aux->cec.adap; in drm_dp_cec_handle_irq() 251 mutex_lock(&aux->cec.lock); in drm_dp_cec_irq() 252 if (!aux->cec.adap) in drm_dp_cec_irq() 263 mutex_unlock(&aux->cec.lock); in drm_dp_cec_irq() 286 cec.unregister_work.work); in drm_dp_cec_unregister_work() 288 mutex_lock(&aux->cec.lock); in drm_dp_cec_unregister_work() 289 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_work() 290 aux->cec.adap = NULL; in drm_dp_cec_unregister_work() 291 mutex_unlock(&aux->cec.lock); in drm_dp_cec_unregister_work() [all …]
|
/linux-6.1.9/drivers/media/cec/core/ |
D | Makefile | 2 cec-objs := cec-core.o cec-adap.o cec-api.o 5 cec-objs += cec-notifier.o 9 cec-objs += cec-pin.o 13 cec-objs += cec-pin-error-inj.o 16 obj-$(CONFIG_CEC_CORE) += cec.o
|
/linux-6.1.9/Documentation/userspace-api/media/cec/ |
D | cec-funcs.rst | 13 cec-func-open 14 cec-func-close 15 cec-func-ioctl 16 cec-func-poll 17 cec-ioc-adap-g-caps 18 cec-ioc-adap-g-log-addrs 19 cec-ioc-adap-g-phys-addr 20 cec-ioc-adap-g-conn-info 21 cec-ioc-dqevent 22 cec-ioc-g-mode [all …]
|
D | cec-func-ioctl.rst | 7 cec ioctl() 13 cec-ioctl - Control a cec device 31 CEC ioctl request code as defined in the cec.h header file, for 40 The :c:func:`ioctl()` function manipulates cec device parameters. The 43 The ioctl ``request`` code specifies the cec function to be called. It 47 Macros and structures definitions specifying cec ioctl requests and 48 their parameters are located in the cec.h header file. All cec ioctl 50 :ref:`cec-user-func`.
|
D | cec-api.rst | 23 cec-intro 24 cec-funcs 25 cec-pin-error-inj 26 cec-header
|
/linux-6.1.9/drivers/media/cec/platform/seco/ |
D | seco-cec.c | 94 struct secocec_data *cec = cec_get_drvdata(adap); in secocec_adap_enable() local 95 struct device *dev = cec->dev; in secocec_adap_enable() 243 struct secocec_data *cec = cec_get_drvdata(adap); in secocec_rx_done() local 244 struct device *dev = cec->dev; in secocec_rx_done() 306 cec_received_msg(cec->cec_adap, &msg); in secocec_rx_done() 336 struct secocec_data *cec = priv; in secocec_ir_probe() local 337 struct device *dev = cec->dev; in secocec_ir_probe() 342 cec->ir = devm_rc_allocate_device(dev, RC_DRIVER_SCANCODE); in secocec_ir_probe() 343 if (!cec->ir) in secocec_ir_probe() 346 snprintf(cec->ir_input_phys, sizeof(cec->ir_input_phys), in secocec_ir_probe() [all …]
|
/linux-6.1.9/Documentation/devicetree/bindings/media/ |
D | st,stm32-cec.yaml | 4 $id: http://devicetree.org/schemas/media/st,stm32-cec.yaml# 14 const: st,stm32-cec 29 - const: cec 30 - const: hdmi-cec 45 cec: cec@40006c00 { 46 compatible = "st,stm32-cec"; 50 clock-names = "cec", "hdmi-cec";
|
D | tegra-cec.txt | 8 "nvidia,tegra114-cec" 9 "nvidia,tegra124-cec" 10 "nvidia,tegra210-cec" 15 - clock-names : from common clock binding: must contain "cec", 17 - hdmi-phandle : phandle to the HDMI controller, see also cec.txt. 21 cec@70015000 { 22 compatible = "nvidia,tegra124-cec"; 26 clock-names = "cec";
|
D | amlogic,meson-gx-ao-cec.yaml | 5 $id: "http://devicetree.org/schemas/media/amlogic,meson-gx-ao-cec.yaml#" 20 - amlogic,meson-gx-ao-cec # GXBB, GXL, GXM, G12A and SM1 AO_CEC_A module 21 - amlogic,meson-g12a-ao-cec # G12A AO_CEC_B module 22 - amlogic,meson-sm1-ao-cec # SM1 AO_CEC_B module 46 - amlogic,meson-gx-ao-cec 63 - amlogic,meson-g12a-ao-cec 64 - amlogic,meson-sm1-ao-cec 88 cec_AO: cec@100 { 89 compatible = "amlogic,meson-gx-ao-cec";
|
D | stih-cec.txt | 4 - compatible : value should be "st,stih-cec" 12 - hdmi-phandle: Phandle to the HDMI controller, see also cec.txt. 16 sti-cec@94a087c { 17 compatible = "st,stih-cec"; 20 clock-names = "cec-clk"; 22 interrupt-names = "cec-irq";
|
D | s5p-cec.txt | 8 "samsung,s5p-cec" 18 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt. 22 is high. See cec.txt for more details. 26 hdmicec: cec@100b0000 { 27 compatible = "samsung,s5p-cec";
|
/linux-6.1.9/Documentation/devicetree/bindings/display/mediatek/ |
D | mediatek,cec.yaml | 4 $id: http://devicetree.org/schemas/display/mediatek/mediatek,cec.yaml# 19 - mediatek,mt7623-cec 20 - mediatek,mt8167-cec 21 - mediatek,mt8173-cec 45 cec: cec@10013000 { 46 compatible = "mediatek,mt8173-cec";
|
/linux-6.1.9/Documentation/devicetree/bindings/media/i2c/ |
D | adv7604.yaml | 36 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 37 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 38 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 39 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 40 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 41 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 42 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 43 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 44 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 45 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] [all …]
|
D | adv748x.yaml | 38 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 39 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 40 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 41 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 42 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 43 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 44 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 45 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 46 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] 47 - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ] [all …]
|
/linux-6.1.9/drivers/media/cec/i2c/ |
D | ch7322.c | 153 struct cec_adapter *cec; member 267 cec_transmit_attempt_done(ch7322->cec, status); in ch7322_tx_done() 282 cec_received_msg(ch7322->cec, &msg); in ch7322_rx_done() 303 cec_s_phys_addr(ch7322->cec, pal | (pah << 8), false); in ch7322_phys_addr() 317 cec_phys_addr_invalidate(ch7322->cec); in ch7322_irq() 496 ch7322->cec = cec_allocate_adapter(&ch7322_cec_adap_ops, ch7322, in ch7322_probe() 500 if (IS_ERR(ch7322->cec)) { in ch7322_probe() 501 ret = PTR_ERR(ch7322->cec); in ch7322_probe() 505 ch7322->cec->adap_controls_phys_addr = true; in ch7322_probe() 510 ch7322->cec); in ch7322_probe() [all …]
|
/linux-6.1.9/Documentation/devicetree/bindings/display/ |
D | brcm,bcm2711-hdmi.yaml | 39 - const: cec 54 - const: cec 67 - const: cec-tx 68 - const: cec-rx 69 - const: cec-low 133 "cec", 136 clock-names = "hdmi", "bvb", "audio", "cec";
|