/linux/drivers/gpu/drm/bridge/synopsys/ |
H A D | dw-hdmi-cec.c | 3 * 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 …]
|
/linux/drivers/media/cec/platform/s5p/ |
H A D | exynos_hdmi_cecctrl.c | 2 /* 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, ®)) { 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 …]
|
H A D | exynos_hdmi_cec.h | 2 /* drivers/media/platform/s5p-cec/exynos_hdmi_cec.h 7 * Header file for interface of Samsung Exynos hdmi cec hardware 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); [all …]
|
/linux/Documentation/userspace-api/media/cec/ |
H A D | cec-ioc-g-mode.rst | 2 .. 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 …]
|
H A D | cec-ioc-adap-g-log-addrs.rst | 2 .. 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 …]
|
H A D | cec-ioc-adap-g-caps.rst | 2 .. c:namespace:: CEC 33 All cec devices must support :ref:`ioctl CEC_ADAP_G_CAPS <CEC_ADAP_G_CAPS>`. To query 49 - The name of the cec adapter driver. 52 - The name of this CEC adapter. The combination ``driver`` and 59 - The capabilities of the CEC adapter, see 60 :ref:`cec-capabilities`. 63 - CEC Framework API version, formatted with the ``KERNEL_VERSION()`` 70 .. flat-table:: CEC Capabilities Flags 75 * .. _`CEC-CAP-PHYS-ADDR`: 84 * .. _`CEC-CAP-LOG-ADDRS`: [all …]
|
H A D | cec-intro.rst | 10 HDMI cable to communicate. The protocol for CEC version 1.4 is defined 11 in supplements 1 (CEC) and 2 (HEAC or HDMI Ethernet and Audio Return 13 extensions added to CEC version 2.0 are defined in chapter 11 of the 21 CEC, need to be handled by the kernel, others can be handled either by 24 In addition, CEC can be implemented in HDMI receivers, transmitters and 26 control just the CEC pin. 28 Drivers that support CEC will create a CEC device node (/dev/cecX) to 29 give userspace access to the CEC adapter. The 34 provides three tools to handle CEC: 36 - cec-ctl: the Swiss army knife of CEC. Allows you to configure, transmit [all …]
|
H A D | cec-ioc-dqevent.rst | 2 .. c:namespace:: CEC 13 CEC_DQEVENT - Dequeue a CEC event 33 CEC devices can send asynchronous events. These can be retrieved by 43 two :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` events with 93 replied to within a second according to the CEC specification, 114 - The CEC event type, see :ref:`cec-events`. 117 - Event flags, see :ref:`cec-event-flags`. 122 - The new adapter state as sent by the :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` 126 - The number of lost messages as sent by the :ref:`CEC_EVENT_LOST_MSGS <CEC-EVENT-LOST-MSGS>` 135 .. flat-table:: CEC Events Types [all …]
|
H A D | cec-ioc-receive.rst | 2 .. c:namespace:: CEC 14 CEC_RECEIVE, CEC_TRANSMIT - Receive or transmit a CEC message 39 To receive a CEC message the application has to fill in the 50 1. a message received from another CEC device (the ``sequence`` field will 58 To send a CEC message the application has to fill in the struct 64 of 2-byte messages). Note that the CEC kernel framework will also reply 65 to core messages (see :ref:`cec-core-processing`), so it is not a good 79 However, the CEC specification allows sending messages from 'Unregistered' to 85 physical address, but the cable is still connected and CEC still works. 126 - A non-zero sequence number is automatically assigned by the CEC framework [all …]
|
H A 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 …]
|
H A D | cec-func-ioctl.rst | 2 .. c:namespace:: CEC 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`.
|
/linux/drivers/media/rc/keymaps/ |
H A D | rc-cec.c | 2 /* 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 …]
|
/linux/Documentation/driver-api/media/ |
H A D | cec-core.rst | 3 CEC Kernel Support 6 The CEC framework provides a unified kernel interface for use with HDMI CEC 14 The CEC Protocol 17 The CEC protocol enables consumer electronic devices to communicate with each 24 The CEC framework described here is up to date with the CEC 2.0 specification. 32 CEC Adapter Interface 35 The struct cec_adapter represents the CEC adapter hardware. It is created by 49 adapter operations which are called by the CEC framework and that you 57 the name of the CEC adapter. Note: this name will be copied. 60 capabilities of the CEC adapter. These capabilities determine the [all …]
|
/linux/include/media/ |
H A D | cec-pin.h | 3 * cec-pin.h - low-level CEC pin control 12 #include <media/cec.h> 15 * struct cec_pin_ops - low-level CEC pin operations 16 * @read: read the CEC pin. Returns > 0 if high, 0 if low, or an error 18 * @low: drive the CEC pin low. 19 * @high: stop driving the CEC pin. The pull-up will drive the pin 30 * @received: optional. High-level CEC message callback. Allows the driver 31 * to process CEC messages. 34 * cec pin framework to manipulate the CEC pin. 47 /* High-level CEC message callback */ [all …]
|
H A D | cec-notifier.h | 3 * cec-notifier.h - notify CEC drivers of physical address changes 13 #include <media/cec.h> 55 * @adap: the cec adapter that registered this notifier. 73 * @adap: the cec adapter that registered this notifier. 80 * @n: the CEC notifier 81 * @pa: the CEC physical address 83 * Set a new CEC physical address. 90 * @n: the CEC notifier 93 * Parses the EDID to obtain the new CEC physical address and set it. 106 * list, but it is never accessed by the CEC driver. [all …]
|
/linux/Documentation/devicetree/bindings/media/cec/ |
H A D | amlogic,meson-gx-ao-cec.yaml | 5 $id: http://devicetree.org/schemas/media/cec/amlogic,meson-gx-ao-cec.yaml# 8 title: Amlogic Meson AO-CEC Controller 14 The Amlogic Meson AO-CEC module is present is Amlogic SoCs and its purpose is 15 to handle communication between HDMI connected devices over the CEC bus. 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 37 - $ref: cec-common.yaml# 43 - amlogic,meson-gx-ao-cec 49 - description: AO-CEC clock [all …]
|
H A D | st,stm32-cec.yaml | 4 $id: http://devicetree.org/schemas/media/cec/st,stm32-cec.yaml# 7 title: STMicroelectronics STM32 CEC 14 const: st,stm32-cec 29 - const: cec 30 - const: hdmi-cec 49 cec: cec@40006c00 { 50 compatible = "st,stm32-cec"; 54 clock-names = "cec", "hdmi-cec";
|
H A D | st,stih-cec.yaml | 4 $id: http://devicetree.org/schemas/media/cec/st,stih-cec.yaml# 7 title: STMicroelectronics STIH4xx HDMI CEC 13 - $ref: cec-common.yaml# 17 const: st,stih-cec 24 - const: cec-clk 31 - const: cec-irq 54 cec@94a087c { 55 compatible = "st,stih-cec"; 59 clock-names = "cec-clk"; 62 interrupt-names = "cec-irq";
|
H A D | samsung,s5p-cec.yaml | 4 $id: http://devicetree.org/schemas/media/cec/samsung,s5p-cec.yaml# 7 title: Samsung S5PV210 and Exynos HDMI CEC 14 - $ref: cec-common.yaml# 18 const: samsung,s5p-cec 54 cec@101b0000 { 55 compatible = "samsung,s5p-cec";
|
/linux/drivers/media/cec/ |
H A D | Kconfig | 11 menu "CEC support" 14 bool "HDMI CEC RC integration" 18 Pass on CEC remote control messages to the RC framework. 21 bool "Enable CEC error injection support" 24 This option enables CEC error injection using debugfs. 28 prompt "HDMI CEC drivers" 31 Enable support for HDMI CEC (Consumer Electronics Control), 34 Say Y when you have an HDMI receiver, transmitter or a USB CEC 35 adapter that supports HDMI CEC. 38 source "drivers/media/cec/i2c/Kconfig" [all …]
|
/linux/drivers/media/cec/core/ |
H A 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/Documentation/devicetree/bindings/display/mediatek/ |
H A D | mediatek,cec.yaml | 4 $id: http://devicetree.org/schemas/display/mediatek/mediatek,cec.yaml# 7 title: Mediatek HDMI CEC Controller 14 The HDMI CEC controller handles hotplug detection and CEC communication. 19 - mediatek,mt7623-cec 20 - mediatek,mt8167-cec 21 - mediatek,mt8173-cec 45 cec: cec@10013000 { 46 compatible = "mediatek,mt8173-cec";
|
/linux/Documentation/devicetree/bindings/display/ |
H A D | brcm,bcm2711-hdmi.yaml | 29 - description: CEC register range 41 - const: cec 49 - description: The HDMI CEC parent clock 56 - const: cec 60 - description: CEC TX interrupt 61 - description: CEC RX interrupt 62 - description: CEC stuck at low interrupt 69 - const: cec-tx 70 - const: cec-rx 71 - const: cec-low [all …]
|
/linux/drivers/media/cec/i2c/ |
H A D | Kconfig | 6 tristate "Chrontel CH7322 CEC controller" 12 This is a driver for the Chrontel CH7322 CEC controller. It uses the 13 generic CEC framework interface. 14 CEC bus is present in the HDMI connector and enables communication 18 tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC" 24 This is a driver for the NXP TDA9950 CEC controller and for the CEC
|
/linux/drivers/gpu/drm/omapdrm/dss/ |
H A D | hdmi4_cec.c | 3 * HDMI CEC 5 * Based on the CEC code from hdmi_ti_4xxx_ip.c from Android. 11 * Heavily modified to use the linux CEC framework: 27 /* HDMI CEC */ 60 /* While there are CEC frames in the FIFO */ in hdmi_cec_received_msg() 175 * Initialize CEC clock divider: CEC needs 2MHz clock hence in hdmi_cec_adap_enable() 182 pr_err("cec-%s: could not clear TX FIFO\n", adap->name); in hdmi_cec_adap_enable() 189 pr_err("cec-%s: could not clear RX FIFO\n", adap->name); in hdmi_cec_adap_enable() 194 /* Clear CEC interrupts */ in hdmi_cec_adap_enable() 202 /* Unmask CEC interrupt */ in hdmi_cec_adap_enable() [all …]
|