Skip to contentSkip to conversation

NetUP Universal DVB PCIe card support

PATCH New [email protected] 1 participant 6 messages Jul 28, 2015

Subsystems (6)
lore
Share & tools
lore
#0 lore raw

v3 cover NetUP Universal DVB PCIe card support

From: Kozlov Sergey <[email protected]>

Add support for NetUP Universal Dual DVB-CI PCIe board. The board has:

- two CI slots

- Altera FPGA-based PCIe bridge

- two independent multistandard DTV demodulators based on Sony CXD2841ER chip

- two Sony Horus3a DVB-S/S2 tuner chips

- two Sony Ascot2e DVB-T/T2/C/C2 tuner chips

- two LNBH25 SEC controller chips

DVB-C2 is supported by hardware but not yet implemented in the driver. Product webpages are
http://www.netup.tv/en-EN/netup-universal-dual-dvb-ci (official)
http://linuxtv.org/wiki/index.php/NetUP_Dual_Universal_CI (LinuxTV WIKI)

Kozlov Sergey (5):
[media] horus3a: Sony Horus3A DVB-S/S2 tuner driver [media] ascot2e: Sony Ascot2e DVB-C/T/T2 tuner driver [media] lnbh25: LNBH25 SEC controller driver
[media] cxd2841er: Sony CXD2841ER DVB-S/S2/T/T2/C demodulator driver [media] netup_unidvb: NetUP Universal DVB-S/S2/T/T2/C PCI-E card
driver

 MAINTAINERS                                        |   45 +
 drivers/media/dvb-frontends/Kconfig                |   29 +
 drivers/media/dvb-frontends/Makefile               |    4 +
 drivers/media/dvb-frontends/ascot2e.c              |  540 ++++
 drivers/media/dvb-frontends/ascot2e.h              |   58 +
 drivers/media/dvb-frontends/cxd2841er.c            | 2719 ++++++++++++++++++++
 drivers/media/dvb-frontends/cxd2841er.h            |   65 +
 drivers/media/dvb-frontends/cxd2841er_priv.h       |   43 +
 drivers/media/dvb-frontends/horus3a.c              |  421 +++
 drivers/media/dvb-frontends/horus3a.h              |   58 +
 drivers/media/dvb-frontends/lnbh25.c               |  189 ++
 drivers/media/dvb-frontends/lnbh25.h               |   56 +
 drivers/media/pci/Kconfig                          |    1 +
 drivers/media/pci/Makefile                         |    3 +-
 drivers/media/pci/netup_unidvb/Kconfig             |   12 +
 drivers/media/pci/netup_unidvb/Makefile            |    9 +
 drivers/media/pci/netup_unidvb/netup_unidvb.h      |  133 +
 drivers/media/pci/netup_unidvb/netup_unidvb_ci.c   |  248 ++
 drivers/media/pci/netup_unidvb/netup_unidvb_core.c | 1001 +++++++
 drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c  |  381 +++
 drivers/media/pci/netup_unidvb/netup_unidvb_spi.c  |  252 ++
 21 files changed, 6266 insertions(+), 1 deletion(-)
 create mode 100644 drivers/media/dvb-frontends/ascot2e.c
 create mode 100644 drivers/media/dvb-frontends/ascot2e.h
 create mode 100644 drivers/media/dvb-frontends/cxd2841er.c
 create mode 100644 drivers/media/dvb-frontends/cxd2841er.h
 create mode 100644 drivers/media/dvb-frontends/cxd2841er_priv.h
 create mode 100644 drivers/media/dvb-frontends/horus3a.c
 create mode 100644 drivers/media/dvb-frontends/horus3a.h
 create mode 100644 drivers/media/dvb-frontends/lnbh25.c
 create mode 100644 drivers/media/dvb-frontends/lnbh25.h
 create mode 100644 drivers/media/pci/netup_unidvb/Kconfig
 create mode 100644 drivers/media/pci/netup_unidvb/Makefile
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb.h
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_ci.c
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_core.c
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_spi.c
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v3 1/5 horus3a: Sony Horus3A DVB-S/S2 tuner driver

From: Kozlov Sergey <[email protected]>

Add DVB-S/S2 frontend driver for Sony Horus3A (CXD2832AER) chip

Changes in version 3:
- fix DVB-S2 roll-off handling
- fix coding style
- use IS_REACHABLE macro instead of IS_ENABLED

---
 MAINTAINERS                           |    9 +
 drivers/media/dvb-frontends/Kconfig   |    7 +
 drivers/media/dvb-frontends/Makefile  |    1 +
 drivers/media/dvb-frontends/horus3a.c |  421 +++++++++++++++++++++++++++++++++
 drivers/media/dvb-frontends/horus3a.h |   58 +++++
 5 files changed, 496 insertions(+)
 create mode 100644 drivers/media/dvb-frontends/horus3a.c
 create mode 100644 drivers/media/dvb-frontends/horus3a.h
MAINTAINERS +9 -0
index af802b3..57726b1 100644
@@ -6344,6 +6344,15 @@ W:	http://linuxtv.org
 S:	Maintained
 F:	drivers/media/radio/radio-maxiradio*
 
+MEDIA DRIVERS FOR HORUS3A
+M:	Sergey Kozlov <[email protected]>
+L:	[email protected]
+W:	http://linuxtv.org/
+W:	http://netup.tv/
+T:	git git://linuxtv.org/media_tree.git
+S:	Supported
+F:	drivers/media/dvb-frontends/horus3a*
+
 MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
 M:	Mauro Carvalho Chehab <[email protected]>
 P:	LinuxTV.org Project
drivers/media/dvb-frontends/Kconfig +7 -0
index 97c151d..17cf7e3 100644
@@ -806,6 +806,13 @@ config DVB_AF9033
 	depends on DVB_CORE && I2C
 	default m if !MEDIA_SUBDRV_AUTOSELECT
 
+config DVB_HORUS3A
+	tristate "Sony Horus3A tuner"
+	depends on DVB_CORE && I2C
+	default m if !MEDIA_SUBDRV_AUTOSELECT
+	help
+	  Say Y when you want to support this frontend.
+
 comment "Tools to develop new frontends"
 
 config DVB_DUMMY_FE
drivers/media/dvb-frontends/Makefile +1 -0
index 23d399b..8b523cd 100644
@@ -117,3 +117,4 @@ obj-$(CONFIG_DVB_M88RS2000) += m88rs2000.o
 obj-$(CONFIG_DVB_AF9033) += af9033.o
 obj-$(CONFIG_DVB_AS102_FE) += as102_fe.o
 obj-$(CONFIG_DVB_TC90522) += tc90522.o
+obj-$(CONFIG_DVB_HORUS3A) += horus3a.o
drivers/media/dvb-frontends/horus3a.c new file +421 -0

421 lines not on this page · raw message

drivers/media/dvb-frontends/horus3a.h new file +58 -0

58 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v3 2/5 ascot2e: Sony Ascot2e DVB-C/T/T2 tuner driver

In reply to [email protected]

From: Kozlov Sergey <[email protected]>

Add DVB-T/T2/C frontend driver for Sony Ascot2e (CXD2861ER) chip.

Changes in version 3:
- fix DVB-C bandwidth frequency handling
- use IS_REACHABLE() macro instead of IS_ENABLED()

---
 MAINTAINERS                           |    9 +
 drivers/media/dvb-frontends/Kconfig   |    7 +
 drivers/media/dvb-frontends/Makefile  |    1 +
 drivers/media/dvb-frontends/ascot2e.c |  540 +++++++++++++++++++++++++++++++++
 drivers/media/dvb-frontends/ascot2e.h |   58 ++++
 5 files changed, 615 insertions(+)
 create mode 100644 drivers/media/dvb-frontends/ascot2e.c
 create mode 100644 drivers/media/dvb-frontends/ascot2e.h
MAINTAINERS +9 -0
index 57726b1..bc82b91 100644
@@ -6344,6 +6344,15 @@ W:	http://linuxtv.org
 S:	Maintained
 F:	drivers/media/radio/radio-maxiradio*
 
+MEDIA DRIVERS FOR ASCOT2E
+M:	Sergey Kozlov <[email protected]>
+L:	[email protected]
+W:	http://linuxtv.org
+W:	http://netup.tv/
+T:	git git://linuxtv.org/media_tree.git
+S:	Supported
+F:	drivers/media/dvb-frontends/ascot2e*
+
 MEDIA DRIVERS FOR HORUS3A
 M:	Sergey Kozlov <[email protected]>
 L:	[email protected]
drivers/media/dvb-frontends/Kconfig +7 -0
index 17cf7e3..3bdc357 100644
@@ -813,6 +813,13 @@ config DVB_HORUS3A
 	help
 	  Say Y when you want to support this frontend.
 
+config DVB_ASCOT2E
+	tristate "Sony Ascot2E tuner"
+	depends on DVB_CORE && I2C
+	default m if !MEDIA_SUBDRV_AUTOSELECT
+	help
+	  Say Y when you want to support this frontend.
+
 comment "Tools to develop new frontends"
 
 config DVB_DUMMY_FE
drivers/media/dvb-frontends/Makefile +1 -0
index 8b523cd..74b729e 100644
@@ -118,3 +118,4 @@ obj-$(CONFIG_DVB_AF9033) += af9033.o
 obj-$(CONFIG_DVB_AS102_FE) += as102_fe.o
 obj-$(CONFIG_DVB_TC90522) += tc90522.o
 obj-$(CONFIG_DVB_HORUS3A) += horus3a.o
+obj-$(CONFIG_DVB_ASCOT2E) += ascot2e.o
drivers/media/dvb-frontends/ascot2e.c new file +540 -0

540 lines not on this page · raw message

drivers/media/dvb-frontends/ascot2e.h new file +58 -0

58 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#3 lore raw

PATCH v3 3/5 lnbh25: LNBH25 SEC controller driver

In reply to [email protected]

From: Kozlov Sergey <[email protected]>

Add DVB SEC frontend driver for STM LNBH25PQR chip.

Changes in version 3:
- use print_hex_dump() insted of dynamic_hex_dump()
- use IS_REACHABLE macro instead of IS_ENABLED

---
 MAINTAINERS                          |    9 ++
 drivers/media/dvb-frontends/Kconfig  |    8 ++
 drivers/media/dvb-frontends/Makefile |    1 +
 drivers/media/dvb-frontends/lnbh25.c |  189 ++++++++++++++++++++++++++++++++++
 drivers/media/dvb-frontends/lnbh25.h |   56 ++++++++++
 5 files changed, 263 insertions(+)
 create mode 100644 drivers/media/dvb-frontends/lnbh25.c
 create mode 100644 drivers/media/dvb-frontends/lnbh25.h
MAINTAINERS +9 -0
index bc82b91..156e3a3 100644
@@ -6362,6 +6362,15 @@ T:	git git://linuxtv.org/media_tree.git
 S:	Supported
 F:	drivers/media/dvb-frontends/horus3a*
 
+MEDIA DRIVERS FOR LNBH25
+M:	Sergey Kozlov <[email protected]>
+L:	[email protected]
+W:	http://linuxtv.org/
+W:	http://netup.tv/
+T:	git git://linuxtv.org/media_tree.git
+S:	Supported
+F:	drivers/media/dvb-frontends/lnbh25*
+
 MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
 M:	Mauro Carvalho Chehab <[email protected]>
 P:	LinuxTV.org Project
drivers/media/dvb-frontends/Kconfig +8 -0
index 3bdc357..90fcabf 100644
@@ -703,6 +703,14 @@ comment "SEC control devices for DVB-S"
 
 source "drivers/media/dvb-frontends/drx39xyj/Kconfig"
 
+config DVB_LNBH25
+	tristate "LNBH25 SEC controller"
+	depends on DVB_CORE && I2C
+	default m if !MEDIA_SUBDRV_AUTOSELECT
+	help
+	  An SEC control chip.
+	  Say Y when you want to support this chip.
+
 config DVB_LNBP21
 	tristate "LNBP21/LNBH24 SEC controllers"
 	depends on DVB_CORE && I2C
drivers/media/dvb-frontends/Makefile +1 -0
index 74b729e..74055f9 100644
@@ -57,6 +57,7 @@ obj-$(CONFIG_DVB_LGDT3305) += lgdt3305.o
 obj-$(CONFIG_DVB_LGDT3306A) += lgdt3306a.o
 obj-$(CONFIG_DVB_LG2160) += lg2160.o
 obj-$(CONFIG_DVB_CX24123) += cx24123.o
+obj-$(CONFIG_DVB_LNBH25) += lnbh25.o
 obj-$(CONFIG_DVB_LNBP21) += lnbp21.o
 obj-$(CONFIG_DVB_LNBP22) += lnbp22.o
 obj-$(CONFIG_DVB_ISL6405) += isl6405.o
drivers/media/dvb-frontends/lnbh25.c new file +189 -0

189 lines not on this page · raw message

drivers/media/dvb-frontends/lnbh25.h new file +56 -0

56 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#4 lore raw

PATCH v3 4/5 cxd2841er: Sony CXD2841ER DVB-S/S2/T/T2/C demodulator driver

In reply to [email protected]

From: Kozlov Sergey <[email protected]>

Add DVB-C/T/T2/S/S2 demodulator frontend driver Sony CXD2841ER chip.

Changes in version 3:
- use IS_REACHABLE() macro instead of IS_ENABLED()

---
 MAINTAINERS                                  |    9 +
 drivers/media/dvb-frontends/Kconfig          |    7 +
 drivers/media/dvb-frontends/Makefile         |    1 +
 drivers/media/dvb-frontends/cxd2841er.c      | 2719 ++++++++++++++++++++++++++
 drivers/media/dvb-frontends/cxd2841er.h      |   65 +
 drivers/media/dvb-frontends/cxd2841er_priv.h |   43 +
 6 files changed, 2844 insertions(+)
 create mode 100644 drivers/media/dvb-frontends/cxd2841er.c
 create mode 100644 drivers/media/dvb-frontends/cxd2841er.h
 create mode 100644 drivers/media/dvb-frontends/cxd2841er_priv.h
MAINTAINERS +9 -0
index 156e3a3..40e630d 100644
@@ -6353,6 +6353,15 @@ T:	git git://linuxtv.org/media_tree.git
 S:	Supported
 F:	drivers/media/dvb-frontends/ascot2e*
 
+MEDIA DRIVERS FOR CXD2841ER
+M:	Sergey Kozlov <[email protected]>
+L:	[email protected]
+W:	http://linuxtv.org/
+W:	http://netup.tv/
+T:	git git://linuxtv.org/media_tree.git
+S:	Supported
+F:	drivers/media/dvb-frontends/cxd2841er*
+
 MEDIA DRIVERS FOR HORUS3A
 M:	Sergey Kozlov <[email protected]>
 L:	[email protected]
drivers/media/dvb-frontends/Kconfig +7 -0
index 90fcabf..f27387a 100644
@@ -441,6 +441,13 @@ config DVB_CXD2820R
 	help
 	  Say Y when you want to support this frontend.
 
+config DVB_CXD2841ER
+	tristate "Sony CXD2841ER"
+	depends on DVB_CORE && I2C
+	default m if !MEDIA_SUBDRV_AUTOSELECT
+	help
+	  Say Y when you want to support this frontend.
+
 config DVB_RTL2830
 	tristate "Realtek RTL2830 DVB-T"
 	depends on DVB_CORE && I2C && I2C_MUX
drivers/media/dvb-frontends/Makefile +1 -0
index 74055f9..74a1cd3 100644
@@ -105,6 +105,7 @@ obj-$(CONFIG_DVB_MB86A20S) += mb86a20s.o
 obj-$(CONFIG_DVB_IX2505V) += ix2505v.o
 obj-$(CONFIG_DVB_STV0367) += stv0367.o
 obj-$(CONFIG_DVB_CXD2820R) += cxd2820r.o
+obj-$(CONFIG_DVB_CXD2841ER) += cxd2841er.o
 obj-$(CONFIG_DVB_DRXK) += drxk.o
 obj-$(CONFIG_DVB_TDA18271C2DD) += tda18271c2dd.o
 obj-$(CONFIG_DVB_SI2165) += si2165.o
drivers/media/dvb-frontends/cxd2841er.c new file +2719 -0

2,719 lines not on this page · raw message

drivers/media/dvb-frontends/cxd2841er.h new file +65 -0

65 lines not on this page · raw message

drivers/media/dvb-frontends/cxd2841er_priv.h new file +43 -0

43 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#5 lore raw

PATCH v3 5/5 netup_unidvb: NetUP Universal DVB-S/S2/T/T2/C PCI-E card driver

In reply to [email protected]

From: Kozlov Sergey <[email protected]>

Add NetUP Dual Universal CI PCIe board driver. The board has
- two CI slots
- two I2C adapters
- SPI master bus for accessing flash memory containing FPGA firmware

No changes required.

---
 MAINTAINERS                                        |    9 +
 drivers/media/pci/Kconfig                          |    1 +
 drivers/media/pci/Makefile                         |    3 +-
 drivers/media/pci/netup_unidvb/Kconfig             |   12 +
 drivers/media/pci/netup_unidvb/Makefile            |    9 +
 drivers/media/pci/netup_unidvb/netup_unidvb.h      |  133 +++
 drivers/media/pci/netup_unidvb/netup_unidvb_ci.c   |  248 +++++
 drivers/media/pci/netup_unidvb/netup_unidvb_core.c | 1001 ++++++++++++++++++++
 drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c  |  381 ++++++++
 drivers/media/pci/netup_unidvb/netup_unidvb_spi.c  |  252 +++++
 10 files changed, 2048 insertions(+), 1 deletion(-)
 create mode 100644 drivers/media/pci/netup_unidvb/Kconfig
 create mode 100644 drivers/media/pci/netup_unidvb/Makefile
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb.h
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_ci.c
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_core.c
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
 create mode 100644 drivers/media/pci/netup_unidvb/netup_unidvb_spi.c
MAINTAINERS +9 -0
index 40e630d..91da895 100644
@@ -6380,6 +6380,15 @@ T:	git git://linuxtv.org/media_tree.git
 S:	Supported
 F:	drivers/media/dvb-frontends/lnbh25*
 
+MEDIA DRIVERS FOR NETUP PCI UNIVERSAL DVB devices
+M:	Sergey Kozlov <[email protected]>
+L:	[email protected]
+W:	http://linuxtv.org/
+W:	http://netup.tv/
+T:	git git://linuxtv.org/media_tree.git
+S:	Supported
+F:	drivers/media/pci/netup_unidvb/*
+
 MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
 M:	Mauro Carvalho Chehab <[email protected]>
 P:	LinuxTV.org Project
drivers/media/pci/Kconfig +1 -0
index 218144a..4bc9188 100644
@@ -47,6 +47,7 @@ source "drivers/media/pci/mantis/Kconfig"
 source "drivers/media/pci/ngene/Kconfig"
 source "drivers/media/pci/ddbridge/Kconfig"
 source "drivers/media/pci/smipcie/Kconfig"
+source "drivers/media/pci/netup_unidvb/Kconfig"
 endif
 
 endif #MEDIA_PCI_SUPPORT
drivers/media/pci/Makefile +2 -1
index 0baf0d2..515cf0f 100644
@@ -12,7 +12,8 @@ obj-y        +=	ttpci/		\
 		ngene/		\
 		ddbridge/	\
 		saa7146/	\
-		smipcie/
+		smipcie/	\
+		netup_unidvb/
 
 obj-$(CONFIG_VIDEO_IVTV) += ivtv/
 obj-$(CONFIG_VIDEO_ZORAN) += zoran/
drivers/media/pci/netup_unidvb/Kconfig new file +12 -0
new file mode 100644
index 0000000..f277b0b
@@ -0,0 +1,12 @@
+config DVB_NETUP_UNIDVB
+	tristate "NetUP Universal DVB card support"
+	depends on DVB_CORE && VIDEO_DEV && PCI && I2C && SPI_MASTER
+    select VIDEOBUF2_DVB
+    select VIDEOBUF2_VMALLOC
+	select DVB_HORUS3A if MEDIA_SUBDRV_AUTOSELECT
+	select DVB_ASCOT2E if MEDIA_SUBDRV_AUTOSELECT
+	select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT
+	select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT
+	---help---
+	  Support for NetUP PCI express Universal DVB card.
+
drivers/media/pci/netup_unidvb/Makefile new file +9 -0
new file mode 100644
index 0000000..ee6ae05
@@ -0,0 +1,9 @@
+netup-unidvb-objs += netup_unidvb_core.o
+netup-unidvb-objs += netup_unidvb_i2c.o
+netup-unidvb-objs += netup_unidvb_ci.o
+netup-unidvb-objs += netup_unidvb_spi.o
+
+obj-$(CONFIG_DVB_NETUP_UNIDVB) += netup-unidvb.o
+
+ccflags-y += -Idrivers/media/dvb-core
+ccflags-y += -Idrivers/media/dvb-frontends
drivers/media/pci/netup_unidvb/netup_unidvb.h new file +133 -0

133 lines not on this page · raw message

drivers/media/pci/netup_unidvb/netup_unidvb_ci.c new file +248 -0

248 lines not on this page · raw message

drivers/media/pci/netup_unidvb/netup_unidvb_core.c new file +1001 -0

1,001 lines not on this page · raw message

drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c new file +381 -0

381 lines not on this page · raw message

drivers/media/pci/netup_unidvb/netup_unidvb_spi.c new file +252 -0

252 lines not on this page · raw message

Signature · 1 line
1.7.10.4