Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ac0038d authored by Tim Harvey's avatar Tim Harvey Committed by Mauro Carvalho Chehab
Browse files

media: i2c: Add TDA1997x HDMI receiver driver



Add support for the TDA1997x HDMI receivers.

Signed-off-by: default avatarTim Harvey <tharvey@gateworks.com>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
[hans.verkuil@cisco.com: fix type 'testin' -> 'testing']
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 10c1d542
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -56,6 +56,15 @@ config VIDEO_TDA9840
	  To compile this driver as a module, choose M here: the
	  module will be called tda9840.

config VIDEO_TDA1997X
	tristate "NXP TDA1997x HDMI receiver"
	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
	---help---
	  V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.

	  To compile this driver as a module, choose M here: the
	  module will be called tda1997x.

config VIDEO_TEA6415C
	tristate "Philips TEA6415C audio processor"
	depends on I2C
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o
obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o
obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o
obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o
obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o
obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o
obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o
obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o
+2820 −0

File added.

Preview size limit exceeded, changes collapsed.

+641 −0

File added.

Preview size limit exceeded, changes collapsed.

+42 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * tda1997x - NXP HDMI receiver
 *
 * Copyright 2017 Tim Harvey <tharvey@gateworks.com>
 *
 */

#ifndef _TDA1997X_
#define _TDA1997X_

/* Platform Data */
struct tda1997x_platform_data {
	enum v4l2_mbus_type vidout_bus_type;
	u32 vidout_bus_width;
	u8 vidout_port_cfg[9];
	/* pin polarity (1=invert) */
	bool vidout_inv_de;
	bool vidout_inv_hs;
	bool vidout_inv_vs;
	bool vidout_inv_pclk;
	/* clock delays (0=-8, 1=-7 ... 15=+7 pixels) */
	u8 vidout_delay_hs;
	u8 vidout_delay_vs;
	u8 vidout_delay_de;
	u8 vidout_delay_pclk;
	/* sync selections (controls how sync pins are derived) */
	u8 vidout_sel_hs;
	u8 vidout_sel_vs;
	u8 vidout_sel_de;

	/* Audio Port Output */
	int audout_format;
	u32 audout_mclk_fs;	/* clock multiplier */
	u32 audout_width;	/* 13 or 32 bit */
	u32 audout_layout;	/* layout0=AP0 layout1=AP0,AP1,AP2,AP3 */
	bool audout_layoutauto;	/* audio layout dictated by pkt header */
	bool audout_invert_clk;	/* data valid on rising edge of BCLK */
	bool audio_auto_mute;	/* enable hardware audio auto-mute */
};

#endif