Home
last modified time | relevance | path

Searched refs:cec (Results 1 – 25 of 154) sorted by relevance

1234567

/Linux-v5.10/drivers/media/cec/platform/s5p/
Ds5p_cec.c38 struct s5p_cec_dev *cec = cec_get_drvdata(adap); in s5p_cec_adap_enable() local
41 pm_runtime_get_sync(cec->dev); in s5p_cec_adap_enable()
43 s5p_cec_reset(cec); in s5p_cec_adap_enable()
45 s5p_cec_set_divider(cec); in s5p_cec_adap_enable()
46 s5p_cec_threshold(cec); in s5p_cec_adap_enable()
48 s5p_cec_unmask_tx_interrupts(cec); in s5p_cec_adap_enable()
49 s5p_cec_unmask_rx_interrupts(cec); in s5p_cec_adap_enable()
50 s5p_cec_enable_rx(cec); in s5p_cec_adap_enable()
52 s5p_cec_mask_tx_interrupts(cec); in s5p_cec_adap_enable()
53 s5p_cec_mask_rx_interrupts(cec); in s5p_cec_adap_enable()
[all …]
Dexynos_hdmi_cecctrl.c23 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, &reg)) { 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 …]
Dexynos_hdmi_cec.h16 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-v5.10/drivers/media/cec/platform/cec-gpio/
Dcec-gpio.c36 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-v5.10/drivers/media/cec/platform/tegra/
Dtegra_cec.c52 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-v5.10/drivers/gpu/drm/bridge/synopsys/
Ddw-hdmi-cec.c67 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-v5.10/drivers/media/cec/platform/stm32/
Dstm32-cec.c80 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-v5.10/drivers/gpu/drm/mediatek/
Dmtk_cec.c59 static void mtk_cec_clear_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_clear_bits() argument
62 void __iomem *reg = cec->regs + offset; in mtk_cec_clear_bits()
70 static void mtk_cec_set_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_set_bits() argument
73 void __iomem *reg = cec->regs + offset; in mtk_cec_set_bits()
81 static void mtk_cec_mask(struct mtk_cec *cec, unsigned int offset, in mtk_cec_mask() argument
84 u32 tmp = readl(cec->regs + offset) & ~mask; in mtk_cec_mask()
87 writel(val, cec->regs + offset); in mtk_cec_mask()
94 struct mtk_cec *cec = dev_get_drvdata(dev); in mtk_cec_set_hpd_event() local
97 spin_lock_irqsave(&cec->lock, flags); in mtk_cec_set_hpd_event()
98 cec->hdmi_dev = hdmi_dev; in mtk_cec_set_hpd_event()
[all …]
/Linux-v5.10/drivers/media/cec/platform/sti/
Dstih-cec.c134 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-v5.10/drivers/gpu/drm/
Ddrm_dp_cec.c191 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-v5.10/drivers/media/cec/core/
DMakefile2 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-v5.10/Documentation/userspace-api/media/cec/
Dcec-funcs.rst13 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 …]
Dcec-func-ioctl.rst7 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`.
Dcec-api.rst23 cec-intro
24 cec-funcs
25 cec-pin-error-inj
26 cec-header
Dcec-func-close.rst7 cec close()
13 cec-close - Close a cec device
33 Closes the cec device. Resources associated with the file descriptor are
Dcec-func-open.rst7 cec open()
13 cec-open - Open a cec device
46 To open a cec device applications call :c:func:`open()` with the
/Linux-v5.10/drivers/media/cec/platform/seco/
Dseco-cec.c107 struct secocec_data *cec = cec_get_drvdata(adap); in secocec_adap_enable() local
108 struct device *dev = cec->dev; in secocec_adap_enable()
256 struct secocec_data *cec = cec_get_drvdata(adap); in secocec_rx_done() local
257 struct device *dev = cec->dev; in secocec_rx_done()
319 cec_received_msg(cec->cec_adap, &msg); in secocec_rx_done()
349 struct secocec_data *cec = priv; in secocec_ir_probe() local
350 struct device *dev = cec->dev; in secocec_ir_probe()
355 cec->ir = devm_rc_allocate_device(dev, RC_DRIVER_SCANCODE); in secocec_ir_probe()
356 if (!cec->ir) in secocec_ir_probe()
359 snprintf(cec->ir_input_phys, sizeof(cec->ir_input_phys), in secocec_ir_probe()
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/media/
Dtegra-cec.txt8 "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";
Dstih-cec.txt4 - 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";
Ds5p-cec.txt8 "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";
Dcec-gpio.txt12 - compatible: value must be "cec-gpio".
13 - cec-gpios: gpio that the CEC line is connected to. The line should be
19 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt.
37 cec-gpio {
38 compatible = "cec-gpio";
39 cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
/Linux-v5.10/drivers/media/cec/i2c/
Dch7322.c153 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-v5.10/drivers/gpu/drm/tegra/
Doutput.c38 cec_notifier_set_phys_addr_from_edid(output->cec, edid); in tegra_output_connector_get_modes()
68 cec_notifier_phys_addr_invalidate(output->cec); in tegra_output_connector_detect()
77 if (output->cec) in tegra_output_connector_destroy()
78 cec_notifier_conn_unregister(output->cec); in tegra_output_connector_destroy()
210 output->cec = cec_notifier_conn_register(output->dev, NULL, in tegra_output_init()
212 if (!output->cec) in tegra_output_init()
/Linux-v5.10/drivers/media/rc/keymaps/
Drc-cec.c16 static struct rc_map_table cec[] = { variable
157 .scan = cec,
158 .size = ARRAY_SIZE(cec),
/Linux-v5.10/drivers/media/cec/platform/meson/
DMakefile2 obj-$(CONFIG_CEC_MESON_AO) += ao-cec.o
3 obj-$(CONFIG_CEC_MESON_G12A_AO) += ao-cec-g12a.o

1234567