Home
last modified time | relevance | path

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

12345678910>>...22

/kernel/linux/linux-4.19/drivers/media/platform/cec-gpio/
Dcec-gpio.c11 #include <media/cec-pin.h>
35 struct cec_gpio *cec = cec_get_drvdata(adap); in cec_gpio_read() local
37 if (cec->cec_is_low) in cec_gpio_read()
39 return gpiod_get_value(cec->cec_gpio); in cec_gpio_read()
44 struct cec_gpio *cec = cec_get_drvdata(adap); in cec_gpio_high() local
46 if (!cec->cec_is_low) in cec_gpio_high()
48 cec->cec_is_low = false; in cec_gpio_high()
49 gpiod_set_value(cec->cec_gpio, 1); in cec_gpio_high()
54 struct cec_gpio *cec = cec_get_drvdata(adap); in cec_gpio_low() local
56 if (cec->cec_is_low) in cec_gpio_low()
[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/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-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-4.19/drivers/gpu/drm/bridge/synopsys/
Ddw-hdmi-cec.c2 * Designware HDMI CEC driver
19 #include <media/cec.h>
20 #include <media/cec-notifier.h>
22 #include "dw-hdmi-cec.h"
70 static void dw_hdmi_write(struct dw_hdmi_cec *cec, u8 val, int offset) in dw_hdmi_write() argument
72 cec->ops->write(cec->hdmi, val, offset); in dw_hdmi_write()
75 static u8 dw_hdmi_read(struct dw_hdmi_cec *cec, int offset) in dw_hdmi_read() argument
77 return cec->ops->read(cec->hdmi, offset); in dw_hdmi_read()
82 struct dw_hdmi_cec *cec = cec_get_drvdata(adap); in dw_hdmi_cec_log_addr() local
85 cec->addresses = 0; in dw_hdmi_cec_log_addr()
[all …]
/kernel/linux/linux-4.19/drivers/media/platform/s5p-cec/
Ds5p_cec.c1 /* drivers/media/platform/s5p-cec/s5p_cec.c
3 * Samsung S5P CEC driver
12 * This driver is based on the "cec interface driver for exynos soc" by
27 #include <media/cec.h>
28 #include <media/cec-notifier.h>
31 #include "regs-cec.h"
34 #define CEC_NAME "s5p-cec"
42 struct s5p_cec_dev *cec = cec_get_drvdata(adap); in s5p_cec_adap_enable() local
45 pm_runtime_get_sync(cec->dev); in s5p_cec_adap_enable()
47 s5p_cec_reset(cec); in s5p_cec_adap_enable()
[all …]
Dexynos_hdmi_cecctrl.c1 /* drivers/media/platform/s5p-cec/exynos_hdmi_cecctrl.c
6 * cec ftn file for Samsung TVOUT driver
17 #include "regs-cec.h"
26 void s5p_cec_set_divider(struct s5p_cec_dev *cec) in s5p_cec_set_divider() argument
33 if (regmap_read(cec->pmu, EXYNOS_HDMI_PHY_CONTROL, &reg)) { in s5p_cec_set_divider()
34 dev_err(cec->dev, "failed to read phy control\n"); in s5p_cec_set_divider()
40 if (regmap_write(cec->pmu, EXYNOS_HDMI_PHY_CONTROL, reg)) { in s5p_cec_set_divider()
41 dev_err(cec->dev, "failed to write phy control\n"); in s5p_cec_set_divider()
47 writeb(0x0, cec->reg + S5P_CEC_DIVISOR_3); in s5p_cec_set_divider()
48 writeb(0x0, cec->reg + S5P_CEC_DIVISOR_2); in s5p_cec_set_divider()
[all …]
/kernel/linux/linux-4.19/drivers/media/platform/tegra-cec/
Dtegra_cec.c2 * Tegra CEC implementation
4 * The original 3.10 CEC driver using a custom API:
8 * Conversion to the CEC framework and to the mainline kernel:
40 #include <media/cec-notifier.h>
44 #define TEGRA_CEC_NAME "tegra-cec"
63 static inline u32 cec_read(struct tegra_cec *cec, u32 reg) in cec_read() argument
65 return readl(cec->cec_base + reg); in cec_read()
68 static inline void cec_write(struct tegra_cec *cec, u32 reg, u32 val) in cec_write() argument
70 writel(val, cec->cec_base + reg); in cec_write()
73 static void tegra_cec_error_recovery(struct tegra_cec *cec) in tegra_cec_error_recovery() argument
[all …]
/kernel/linux/linux-4.19/drivers/media/platform/stm32/
Dstm32-cec.c3 * STM32 CEC driver
17 #include <media/cec.h>
19 #define CEC_NAME "stm32-cec"
21 /* CEC registers */
73 static void cec_hw_init(struct stm32_cec *cec) in cec_hw_init() argument
75 regmap_update_bits(cec->regmap, CEC_CR, TXEOM | TXSOM | CECEN, 0); in cec_hw_init()
77 regmap_update_bits(cec->regmap, CEC_IER, ALL_TX_IT | ALL_RX_IT, in cec_hw_init()
80 regmap_update_bits(cec->regmap, CEC_CFGR, FULL_CFG, FULL_CFG); in cec_hw_init()
83 static void stm32_tx_done(struct stm32_cec *cec, u32 status) in stm32_tx_done() argument
86 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(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 …]
/kernel/linux/linux-4.19/drivers/gpu/drm/mediatek/
Dmtk_cec.c67 static void mtk_cec_clear_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_clear_bits() argument
70 void __iomem *reg = cec->regs + offset; in mtk_cec_clear_bits()
78 static void mtk_cec_set_bits(struct mtk_cec *cec, unsigned int offset, in mtk_cec_set_bits() argument
81 void __iomem *reg = cec->regs + offset; in mtk_cec_set_bits()
89 static void mtk_cec_mask(struct mtk_cec *cec, unsigned int offset, in mtk_cec_mask() argument
92 u32 tmp = readl(cec->regs + offset) & ~mask; in mtk_cec_mask()
95 writel(val, cec->regs + offset); in mtk_cec_mask()
102 struct mtk_cec *cec = dev_get_drvdata(dev); in mtk_cec_set_hpd_event() local
105 spin_lock_irqsave(&cec->lock, flags); in mtk_cec_set_hpd_event()
106 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-4.19/drivers/media/platform/sti/cec/
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-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-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-4.19/drivers/gpu/drm/
Ddrm_dp_cec.c3 * DisplayPort CEC-Tunneling-over-AUX support
12 #include <media/cec.h>
17 * have a converter chip that supports CEC-Tunneling-over-AUX (usually the
18 * Parade PS176), but they do not wire up the CEC pin, thus making CEC
23 * any of the other CEC devices. Quite literally the CEC wire is cut
28 * and no incentive to correctly wire up the CEC pin.
31 * finally fix their adapters and test the CEC functionality.
35 * https://hverkuil.home.xs4all.nl/cec-status.txt
40 * Note that the current implementation does not support CEC over an MST hub.
42 * standard to transport CEC interrupts over an MST device. It might be
[all …]
/kernel/linux/linux-4.19/Documentation/media/uapi/cec/
Dcec-ioc-g-mode.rst11 CEC_G_MODE, CEC_S_MODE - Get or set exclusive use of the CEC adapter
26 File descriptor returned by :c:func:`open() <cec-open>`.
29 Pointer to CEC mode.
36 obtain exclusive access to the CEC adapter. This ioctl sets the
39 used to initiate messages, i.e. it commands other CEC devices. The
40 follower is the filehandle that receives messages sent to the CEC
44 When a CEC message is received, then the CEC framework will decide how
47 is waiting for it. In addition the CEC framework will process it.
49 If the message is not a reply, then the CEC framework will process it
57 The CEC framework will process core messages unless requested otherwise
[all …]
Dcec-ioc-adap-g-log-addrs.rst30 File descriptor returned by :c:func:`open() <cec-open>`.
38 To query the current CEC logical addresses, applications call
53 values (CEC version 2.0, no vendor ID and an empty OSD name).
60 A :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` event is sent when the
92 - The CEC version that this adapter shall use. See
93 :ref:`cec-versions`. Used to implement the
95 Note that :ref:`CEC_OP_CEC_VERSION_1_3A <CEC-OP-CEC-VERSION-1-3A>` is not allowed by the CEC
104 ignored. Note that the CEC 2.0 standard allows for a maximum of 2
108 what was requested. If this field is set to 0, then the CEC
119 - Flags. See :ref:`cec-log-addrs-flags` for a list of available flags.
[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-5.10/drivers/media/rc/keymaps/
Drc-cec.c2 /* Keytable for the CEC remote control
8 * allowed to use request_module() to load rc-cec.ko in that case.
21 * CEC Spec "High-Definition Multimedia Interface Specification" can be obtained
26 static struct rc_map_table cec[] = { variable
36 { 0x09, KEY_ROOT_MENU }, /* CEC Spec: Device Root Menu - see Note 2 */
44 { 0x0b, KEY_MENU }, /* CEC Spec: Contents Menu */
45 { 0x0c, KEY_FAVORITES }, /* CEC Spec: Favorite Menu */
51 { 0x1d, KEY_DIGITS }, /* CEC Spec: select/toggle a Number Entry Mode */
69 { 0x2f, KEY_NEXT_FAVORITE }, /* CEC Spec: Next Favorite */
72 { 0x32, KEY_PREVIOUS }, /* CEC Spec: Previous Channel */
[all …]
/kernel/linux/linux-4.19/drivers/media/rc/keymaps/
Drc-cec.c1 /* Keytable for the CEC remote control
15 * CEC Spec "High-Definition Multimedia Interface Specification" can be obtained
20 static struct rc_map_table cec[] = { variable
30 { 0x09, KEY_ROOT_MENU }, /* CEC Spec: Device Root Menu - see Note 2 */
38 { 0x0b, KEY_MENU }, /* CEC Spec: Contents Menu */
39 { 0x0c, KEY_FAVORITES }, /* CEC Spec: Favorite Menu */
45 { 0x1d, KEY_DIGITS }, /* CEC Spec: select/toggle a Number Entry Mode */
63 { 0x2f, KEY_NEXT_FAVORITE }, /* CEC Spec: Next Favorite */
66 { 0x32, KEY_PREVIOUS }, /* CEC Spec: Previous Channel */
67 { 0x33, KEY_SOUND }, /* CEC Spec: Sound Select */
[all …]

12345678910>>...22