| /kernel/linux/linux-5.10/drivers/gpu/drm/mediatek/ |
| D | mtk_cec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 52 int irq; member 59 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 [all …]
|
| /kernel/linux/linux-6.6/drivers/media/cec/platform/s5p/ |
| D | s5p_cec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 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" 34 MODULE_PARM_DESC(debug, "debug level (0-2)"); 39 struct s5p_cec_dev *cec = cec_get_drvdata(adap); in s5p_cec_adap_enable() local [all …]
|
| D | s5p_cec.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* drivers/media/platform/s5p-cec/s5p_cec.h 4 * Samsung S5P HDMI CEC driver 22 #include <media/cec.h> 25 #include "regs-cec.h" 28 #define CEC_NAME "s5p-cec" 46 /* CEC Rx buffer size */ 48 /* CEC Tx buffer size */ 68 int irq; member
|
| /kernel/linux/linux-5.10/drivers/media/cec/platform/s5p/ |
| D | s5p_cec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 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" 34 MODULE_PARM_DESC(debug, "debug level (0-2)"); 39 struct s5p_cec_dev *cec = cec_get_drvdata(adap); in s5p_cec_adap_enable() local [all …]
|
| D | s5p_cec.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* drivers/media/platform/s5p-cec/s5p_cec.h 4 * Samsung S5P HDMI CEC driver 22 #include <media/cec.h> 25 #include "regs-cec.h" 28 #define CEC_NAME "s5p-cec" 46 /* CEC Rx buffer size */ 48 /* CEC Tx buffer size */ 68 int irq; member
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/mediatek/ |
| D | mtk_cec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 55 int irq; member 62 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 [all …]
|
| /kernel/linux/linux-6.6/drivers/media/cec/platform/cec-gpio/ |
| D | cec-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #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() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/cec/platform/cec-gpio/ |
| D | cec-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #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() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/cec/platform/stm32/ |
| D | stm32-cec.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * STM32 CEC driver 17 #include <media/cec.h> 19 #define CEC_NAME "stm32-cec" 21 /* CEC registers */ 73 int irq; member 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/cec/platform/stm32/ |
| D | stm32-cec.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * STM32 CEC driver 16 #include <media/cec.h> 18 #define CEC_NAME "stm32-cec" 20 /* CEC registers */ 72 int irq; member 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() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/bridge/synopsys/ |
| D | dw-hdmi-cec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Designware HDMI CEC driver 5 * Copyright (C) 2015-2017 Russell King. 16 #include <media/cec.h> 17 #include <media/cec-notifier.h> 19 #include "dw-hdmi-cec.h" 64 int irq; member 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 [all …]
|
| /kernel/linux/linux-5.10/drivers/media/cec/platform/sti/ |
| D | stih-cec.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * STIH4xx CEC driver 16 #include <media/cec.h> 17 #include <media/cec-notifier.h> 19 #define CEC_NAME "stih-cec" 21 /* CEC registers */ 127 int irq; member 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/cec/platform/sti/ |
| D | stih-cec.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * STIH4xx CEC driver 16 #include <media/cec.h> 17 #include <media/cec-notifier.h> 19 #define CEC_NAME "stih-cec" 21 /* CEC registers */ 127 int irq; member 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/bridge/synopsys/ |
| D | dw-hdmi-cec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Designware HDMI CEC driver 5 * Copyright (C) 2015-2017 Russell King. 16 #include <media/cec.h> 17 #include <media/cec-notifier.h> 19 #include "dw-hdmi-cec.h" 64 int irq; member 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 [all …]
|
| /kernel/linux/linux-5.10/drivers/media/cec/platform/seco/ |
| D | seco-cec.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * CEC driver for SECO X86 Boards 20 /* CEC Framework */ 21 #include <media/cec-notifier.h> 23 #include "seco-cec.h" 32 int irq; member 55 return -EINVAL; in smb_word_op() 88 status = -EBUSY; in smb_word_op() 93 status = -EIO; in smb_word_op() 107 struct secocec_data *cec = cec_get_drvdata(adap); in secocec_adap_enable() local [all …]
|
| /kernel/linux/linux-6.6/drivers/media/cec/platform/seco/ |
| D | seco-cec.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * CEC driver for SECO X86 Boards 19 /* CEC Framework */ 20 #include <media/cec-notifier.h> 22 #include "seco-cec.h" 31 int irq; member 75 status = -EBUSY; in smb_word_op() 80 status = -EIO; in smb_word_op() 94 struct secocec_data *cec = cec_get_drvdata(adap); in secocec_adap_enable() local 95 struct device *dev = cec->dev; in secocec_adap_enable() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/media/cec/ |
| D | st,stih-cec.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/media/cec/st,stih-cec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STIH4xx HDMI CEC 10 - Alain Volmat <alain.volmat@foss.st.com> 13 - $ref: cec-common.yaml# 17 const: st,stih-cec 22 clock-names: 24 - const: cec-clk [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/media/ |
| D | stih-cec.txt | 1 STMicroelectronics STIH4xx HDMI CEC driver 4 - compatible : value should be "st,stih-cec" 5 - reg : Physical base address of the IP registers and length of memory 7 - clocks : from common clock binding: handle to HDMI CEC clock 8 - interrupts : HDMI CEC interrupt number to the CPU. 9 - pinctrl-names: Contains only one value - "default" 10 - pinctrl-0: Specifies the pin control groups used for CEC hardware. 11 - resets: Reference to a reset controller 12 - hdmi-phandle: Phandle to the HDMI controller, see also cec.txt. 16 sti-cec@94a087c { [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/mediatek/ |
| D | mediatek,cec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/mediatek/mediatek,cec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Mediatek HDMI CEC Controller 10 - CK Hu <ck.hu@mediatek.com> 11 - Jitao shi <jitao.shi@mediatek.com> 14 The HDMI CEC controller handles hotplug detection and CEC communication. 19 - mediatek,mt7623-cec 20 - mediatek,mt8167-cec [all …]
|
| /kernel/linux/linux-6.6/drivers/media/cec/platform/tegra/ |
| D | tegra_cec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Tegra CEC implementation 5 * The original 3.10 CEC driver using a custom API: 7 * Copyright (c) 2012-2015, NVIDIA CORPORATION. All rights reserved. 9 * Conversion to the CEC framework and to the mainline kernel: 11 * Copyright 2016-2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved. 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() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/cec/platform/tegra/ |
| D | tegra_cec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Tegra CEC implementation 5 * The original 3.10 CEC driver using a custom API: 7 * Copyright (c) 2012-2015, NVIDIA CORPORATION. All rights reserved. 9 * Conversion to the CEC framework and to the mainline kernel: 11 * Copyright 2016-2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved. 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() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/media/i2c/ |
| D | chrontel,ch7322.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Chrontel HDMI-CEC Controller 10 - Jeff Chase <jnchase@google.com> 13 The Chrontel CH7322 is a discrete HDMI-CEC controller. It is 14 programmable through I2C and drives a single CEC line. 17 - $ref: /schemas/media/cec/cec-common.yaml# 33 reset-gpios: 36 pin is active-low. [all …]
|
| /kernel/linux/linux-5.10/drivers/media/cec/platform/cros-ec/ |
| D | cros-ec-cec.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * CEC driver for ChromeOS Embedded Controller 14 #include <linux/cec.h> 19 #include <media/cec.h> 20 #include <media/cec-notifier.h> 22 #define DRV_NAME "cros-ec-cec" 25 * struct cros_ec_cec - Driver data for EC CEC 29 * @adap: CEC adapter 30 * @notify: CEC notifier pointer 43 struct cros_ec_device *cros_ec = cros_ec_cec->cros_ec; in handle_cec_message() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/tegra/ |
| D | output.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 #include <media/cec-notifier.h> 30 if (output->panel) { in tegra_output_connector_get_modes() 31 err = drm_panel_get_modes(output->panel, connector); in tegra_output_connector_get_modes() 36 if (output->edid) in tegra_output_connector_get_modes() 37 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes() 38 else if (output->ddc) in tegra_output_connector_get_modes() 39 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes() 41 cec_notifier_set_phys_addr_from_edid(output->cec, edid); in tegra_output_connector_get_modes() 58 if (output->hpd_gpio) { in tegra_output_connector_detect() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/tegra/ |
| D | output.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include <media/cec-notifier.h> 27 if (output->panel) { in tegra_output_connector_get_modes() 28 err = drm_panel_get_modes(output->panel, connector); in tegra_output_connector_get_modes() 33 if (output->edid) in tegra_output_connector_get_modes() 34 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes() 35 else if (output->ddc) in tegra_output_connector_get_modes() 36 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes() 38 cec_notifier_set_phys_addr_from_edid(output->cec, edid); in tegra_output_connector_get_modes() 55 if (output->hpd_gpio) { in tegra_output_connector_detect() [all …]
|