Home
last modified time | relevance | path

Searched full:cec (Results 1 – 25 of 618) sorted by relevance

12345678910>>...25

/kernel/linux/linux-6.6/drivers/media/cec/platform/cec-gpio/
Dcec-gpio.c11 #include <media/cec-notifier.h>
12 #include <media/cec-pin.h>
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
[all …]
/kernel/linux/linux-6.6/drivers/media/cec/platform/s5p/
Ds5p_cec.c2 /* drivers/media/platform/s5p-cec/s5p_cec.c
4 * Samsung S5P CEC driver
8 * This driver is based on the "cec interface driver for exynos soc" by
23 #include <media/cec.h>
24 #include <media/cec-notifier.h>
27 #include "regs-cec.h"
30 #define CEC_NAME "s5p-cec"
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()
[all …]
Dexynos_hdmi_cecctrl.c2 /* drivers/media/platform/s5p-cec/exynos_hdmi_cecctrl.c
7 * cec ftn file for Samsung TVOUT driver
14 #include "regs-cec.h"
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, &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()
[all …]
/kernel/linux/linux-6.6/drivers/media/cec/platform/tegra/
Dtegra_cec.c3 * Tegra CEC implementation
5 * The original 3.10 CEC driver using a custom API:
9 * Conversion to the CEC framework and to the mainline kernel:
29 #include <media/cec-notifier.h>
33 #define TEGRA_CEC_NAME "tegra-cec"
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
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/bridge/synopsys/
Ddw-hdmi-cec.c3 * Designware HDMI CEC driver
16 #include <media/cec.h>
17 #include <media/cec-notifier.h>
19 #include "dw-hdmi-cec.h"
71 static void dw_hdmi_write(struct dw_hdmi_cec *cec, u8 val, int offset) in dw_hdmi_write() argument
73 cec->ops->write(cec->hdmi, val, offset); in dw_hdmi_write()
76 static u8 dw_hdmi_read(struct dw_hdmi_cec *cec, int offset) in dw_hdmi_read() argument
78 return cec->ops->read(cec->hdmi, offset); in dw_hdmi_read()
83 struct dw_hdmi_cec *cec = cec_get_drvdata(adap); in dw_hdmi_cec_log_addr() local
86 cec->addresses = 0; in dw_hdmi_cec_log_addr()
[all …]
/kernel/linux/linux-5.10/drivers/media/cec/platform/cec-gpio/
Dcec-gpio.c11 #include <media/cec-notifier.h>
12 #include <media/cec-pin.h>
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
[all …]
/kernel/linux/linux-5.10/drivers/media/cec/platform/tegra/
Dtegra_cec.c3 * Tegra CEC implementation
5 * The original 3.10 CEC driver using a custom API:
9 * Conversion to the CEC framework and to the mainline kernel:
29 #include <media/cec-notifier.h>
33 #define TEGRA_CEC_NAME "tegra-cec"
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
[all …]
/kernel/linux/linux-5.10/drivers/media/cec/platform/s5p/
Ds5p_cec.c2 /* drivers/media/platform/s5p-cec/s5p_cec.c
4 * Samsung S5P CEC driver
8 * This driver is based on the "cec interface driver for exynos soc" by
23 #include <media/cec.h>
24 #include <media/cec-notifier.h>
27 #include "regs-cec.h"
30 #define CEC_NAME "s5p-cec"
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()
[all …]
Dexynos_hdmi_cecctrl.c2 /* drivers/media/platform/s5p-cec/exynos_hdmi_cecctrl.c
7 * cec ftn file for Samsung TVOUT driver
14 #include "regs-cec.h"
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, &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()
[all …]
/kernel/linux/linux-5.10/drivers/media/cec/platform/stm32/
Dstm32-cec.c3 * STM32 CEC driver
17 #include <media/cec.h>
19 #define CEC_NAME "stm32-cec"
21 /* CEC registers */
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()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/bridge/synopsys/
Ddw-hdmi-cec.c3 * Designware HDMI CEC driver
16 #include <media/cec.h>
17 #include <media/cec-notifier.h>
19 #include "dw-hdmi-cec.h"
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()
[all …]
/kernel/linux/linux-6.6/drivers/media/cec/platform/stm32/
Dstm32-cec.c3 * STM32 CEC driver
16 #include <media/cec.h>
18 #define CEC_NAME "stm32-cec"
20 /* CEC registers */
79 static void cec_hw_init(struct stm32_cec *cec) in cec_hw_init() argument
81 regmap_update_bits(cec->regmap, CEC_CR, TXEOM | TXSOM | CECEN, 0); in cec_hw_init()
83 regmap_update_bits(cec->regmap, CEC_IER, ALL_TX_IT | ALL_RX_IT, in cec_hw_init()
86 regmap_update_bits(cec->regmap, CEC_CFGR, FULL_CFG, FULL_CFG); in cec_hw_init()
89 static void stm32_tx_done(struct stm32_cec *cec, u32 status) in stm32_tx_done() argument
92 cec_transmit_done(cec->adap, CEC_TX_STATUS_ERROR, in stm32_tx_done()
[all …]
/kernel/linux/linux-5.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(tmp, 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 …]
/kernel/linux/linux-6.6/drivers/gpu/drm/mediatek/
Dmtk_cec.c62 static void mtk_cec_clear_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_clear_bits() argument
65 void __iomem *reg = cec->regs + offset; in mtk_cec_clear_bits()
73 static void mtk_cec_set_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_set_bits() argument
76 void __iomem *reg = cec->regs + offset; in mtk_cec_set_bits()
84 static void mtk_cec_mask(struct mtk_cec *cec, unsigned int offset, in mtk_cec_mask() argument
87 u32 tmp = readl(cec->regs + offset) & ~mask; in mtk_cec_mask()
90 writel(tmp, cec->regs + offset); in mtk_cec_mask()
97 struct mtk_cec *cec = dev_get_drvdata(dev); in mtk_cec_set_hpd_event() local
100 spin_lock_irqsave(&cec->lock, flags); in mtk_cec_set_hpd_event()
101 cec->hdmi_dev = hdmi_dev; in mtk_cec_set_hpd_event()
[all …]
/kernel/linux/linux-5.10/drivers/media/cec/platform/sti/
Dstih-cec.c3 * STIH4xx CEC driver
16 #include <media/cec.h>
17 #include <media/cec-notifier.h>
19 #define CEC_NAME "stih-cec"
21 /* CEC registers */
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()
[all …]
/kernel/linux/linux-6.6/drivers/media/cec/platform/sti/
Dstih-cec.c3 * STIH4xx CEC driver
16 #include <media/cec.h>
17 #include <media/cec-notifier.h>
19 #define CEC_NAME "stih-cec"
21 /* CEC registers */
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()
[all …]
/kernel/linux/linux-6.6/Documentation/admin-guide/media/
Dcec.rst4 HDMI CEC
14 - STIH4xx HDMI CEC
20 - amlogic (meson ao-cec and ao-cec-g12a)
26 - DisplayPort CEC-Tunneling-over-AUX on i915, nouveau and amdgpu
27 - ChromeOS EC CEC
28 - CEC for SECO boards (UDOO x86).
41 - Pulse-Eight: the pulse8-cec driver implements the following module option:
51 - vivid: emulates a CEC receiver and CEC transmitter.
52 Can be used to test CEC applications without actual CEC hardware.
54 - cec-gpio. If the CEC pin is hooked up to a GPIO pin then
[all …]
/kernel/linux/linux-5.10/drivers/media/cec/platform/
DKconfig6 tristate "ChromeOS EC CEC driver"
13 ChromeOS Embedded Controller's CEC.
14 The CEC bus is present in the HDMI connector and enables communication
18 tristate "Amlogic Meson AO CEC driver"
23 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
24 generic CEC framework interface.
25 CEC bus is present in the HDMI connector and enables communication
28 tristate "Amlogic Meson G12A AO CEC driver"
36 This is a driver for Amlogic Meson G12A SoCs AO CEC interface.
37 This driver if for the new AO-CEC module found in G12A SoCs,
[all …]
/kernel/linux/linux-6.6/drivers/media/cec/platform/
DKconfig6 tristate "ChromeOS EC CEC driver"
13 ChromeOS Embedded Controller's CEC.
14 The CEC bus is present in the HDMI connector and enables communication
18 tristate "Amlogic Meson AO CEC driver"
23 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the
24 generic CEC framework interface.
25 CEC bus is present in the HDMI connector and enables communication
28 tristate "Amlogic Meson G12A AO CEC driver"
36 This is a driver for Amlogic Meson G12A SoCs AO CEC interface.
37 This driver if for the new AO-CEC module found in G12A SoCs,
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/display/
Ddrm_dp_cec.c3 * DisplayPort CEC-Tunneling-over-AUX support
12 #include <media/cec.h>
21 * have a converter chip that supports CEC-Tunneling-over-AUX (usually the
22 * Parade PS176), but they do not wire up the CEC pin, thus making CEC
24 * support for CEC tunneling. Those adapters that I have tested using
25 * this chipset all have the CEC line connected.
29 * any of the other CEC devices. Quite literally the CEC wire is cut
34 * and no incentive to correctly wire up the CEC pin.
37 * finally fix their adapters and test the CEC functionality.
41 * https://hverkuil.home.xs4all.nl/cec-status.txt
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/
Ddrm_dp_cec.c3 * DisplayPort CEC-Tunneling-over-AUX support
12 #include <media/cec.h>
21 * have a converter chip that supports CEC-Tunneling-over-AUX (usually the
22 * Parade PS176), but they do not wire up the CEC pin, thus making CEC
24 * support for CEC tunneling. Those adapters that I have tested using
25 * this chipset all have the CEC line connected.
29 * any of the other CEC devices. Quite literally the CEC wire is cut
34 * and no incentive to correctly wire up the CEC pin.
37 * finally fix their adapters and test the CEC functionality.
41 * https://hverkuil.home.xs4all.nl/cec-status.txt
[all …]
/kernel/linux/linux-5.10/Documentation/userspace-api/media/cec/
Dcec-ioc-g-mode.rst2 .. c:namespace:: CEC
12 CEC_G_MODE, CEC_S_MODE - Get or set exclusive use of the CEC adapter
32 Pointer to CEC mode.
39 obtain exclusive access to the CEC adapter. This ioctl sets the
42 used to initiate messages, i.e. it commands other CEC devices. The
43 follower is the filehandle that receives messages sent to the CEC
47 When a CEC message is received, then the CEC framework will decide how
50 is waiting for it. In addition the CEC framework will process it.
52 If the message is not a reply, then the CEC framework will process it
60 The CEC framework will process core messages unless requested otherwise
[all …]
Dcec-ioc-adap-g-log-addrs.rst2 .. c:namespace:: CEC
40 To query the current CEC logical addresses, applications call
55 values (CEC version 2.0, no vendor ID and an empty OSD name).
62 A :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` event is sent when the
94 - The CEC version that this adapter shall use. See
95 :ref:`cec-versions`. Used to implement the
97 Note that :ref:`CEC_OP_CEC_VERSION_1_3A <CEC-OP-CEC-VERSION-1-3A>` is not allowed by the CEC
106 ignored. Note that the CEC 2.0 standard allows for a maximum of 2
110 what was requested. If this field is set to 0, then the CEC
121 - Flags. See :ref:`cec-log-addrs-flags` for a list of available flags.
[all …]
/kernel/linux/linux-6.6/Documentation/userspace-api/media/cec/
Dcec-ioc-g-mode.rst2 .. c:namespace:: CEC
12 CEC_G_MODE, CEC_S_MODE - Get or set exclusive use of the CEC adapter
32 Pointer to CEC mode.
39 obtain exclusive access to the CEC adapter. This ioctl sets the
42 used to initiate messages, i.e. it commands other CEC devices. The
43 follower is the filehandle that receives messages sent to the CEC
47 When a CEC message is received, then the CEC framework will decide how
50 is waiting for it. In addition the CEC framework will process it.
52 If the message is not a reply, then the CEC framework will process it
60 The CEC framework will process core messages unless requested otherwise
[all …]
Dcec-ioc-adap-g-log-addrs.rst2 .. c:namespace:: CEC
40 To query the current CEC logical addresses, applications call
55 values (CEC version 2.0, no vendor ID and an empty OSD name).
62 A :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` event is sent when the
94 - The CEC version that this adapter shall use. See
95 :ref:`cec-versions`. Used to implement the
97 Note that :ref:`CEC_OP_CEC_VERSION_1_3A <CEC-OP-CEC-VERSION-1-3A>` is not allowed by the CEC
106 ignored. Note that the CEC 2.0 standard allows for a maximum of 2
110 what was requested. If this field is set to 0, then the CEC
121 - Flags. See :ref:`cec-log-addrs-flags` for a list of available flags.
[all …]

12345678910>>...25