Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ==================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) How to get the bt8xx cards working
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) ==================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) Authors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	 Richard Walker,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 	 Jamie Honan,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 	 Michael Hunold,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 	 Manu Abraham,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	 Uwe Bugla,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 	 Michael Krufky
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) General information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) -------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) This class of cards has a bt878a as the PCI interface, and require the bttv driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) for accessing the i2c bus and the gpio pins of the bt8xx chipset.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) Please see :doc:`bttv-cardlist` for a complete list of Cards based on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) Conexant Bt8xx PCI bridge supported by the Linux Kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) In order to be able to compile the kernel, some config options should be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) enabled::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)     ./scripts/config -e PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)     ./scripts/config -e INPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)     ./scripts/config -m I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)     ./scripts/config -m MEDIA_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)     ./scripts/config -e MEDIA_PCI_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)     ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)     ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)     ./scripts/config -e MEDIA_RADIO_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)     ./scripts/config -e RC_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36)     ./scripts/config -m VIDEO_BT848
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37)     ./scripts/config -m DVB_BT8XX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) If you want to automatically support all possible variants of the Bt8xx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) cards, you should also do::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)     ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46)    Please use the following options with care as deselection of drivers which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)    are in fact necessary may result in DVB devices that cannot be tuned due
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)    to lack of driver support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) If your goal is to just support an specific board, you may, instead,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) required by your board. With that, you can save some RAM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) You can do that by calling make xconfig/qconfig/menuconfig and look at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) the options on those menu options (only enabled if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) ``Autoselect ancillary drivers`` is disabled:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) #) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) #) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) Then, on each of the above menu, please select your card-specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) frontend and tuner modules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) Loading Modules
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) ---------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) Regular case: If the bttv driver detects a bt8xx-based DVB card, all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) frontend and backend modules will be loaded automatically.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) Exceptions are:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) - Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) - Old TwinHan DST cards or clones with or without CA slot and not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)   containing an Eeprom.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) In the following cases overriding the PCI type detection for bttv and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) Running TwinHan and Clones
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) ~~~~~~~~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) As shown at :doc:`bttv-cardlist`, TwinHan and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) clones use ``card=113`` modprobe parameter. So, in order to properly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) detect it for devices without EEPROM, you should use::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	$ modprobe bttv card=113
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	$ modprobe dst
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) Useful parameters for verbosity level and debugging the dst module::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	verbose=0:		messages are disabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 		1:		only error messages are displayed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 		2:		notifications are displayed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 		3:		other useful messages are displayed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 		4:		debug setting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	dst_addons=0:		card is a free to air (FTA) card only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 		0x20:	card has a conditional access slot for scrambled channels
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	dst_algo=0:		(default) Software tuning algorithm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	         1:		Hardware tuning algorithm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) The autodetected values are determined by the cards' "response string".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) For bug reports please send in a complete log with verbose=4 activated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) Please also see :doc:`ci`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) Running multiple cards
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) ~~~~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) See :doc:`bttv-cardlist` for a complete list of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) Card ID. Some examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	===========================	===
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	Brand name			ID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	===========================	===
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	Pinnacle PCTV Sat		 94
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	Nebula Electronics Digi TV	104
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	pcHDTV HD-2000 TV		112
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	Twinhan DST and clones		113
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	Avermedia AverTV DVB-T 77:	123
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	Avermedia AverTV DVB-T 761	124
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	DViCO FusionHDTV DVB-T Lite	128
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	DViCO FusionHDTV 5 Lite		135
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	===========================	===
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)    When you have multiple cards, the order of the card ID should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)    match the order where they're detected by the system. Please notice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)    that removing/inserting other PCI cards may change the detection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)    order.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) Example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	$ modprobe bttv card=113 card=135
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) In case of further problems please subscribe and send questions to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) the mailing list: linux-media@vger.kernel.org.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) Probing the cards with broken PCI subsystem ID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) There are some TwinHan cards whose EEPROM has become corrupted for some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) reason. The cards do not have a correct PCI subsystem ID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) Still, it is possible to force probing the cards with::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	$ echo 109e 0878 $subvendor $subdevice > \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 		/sys/bus/pci/drivers/bt878/new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) The two numbers there are::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 	109e: PCI_VENDOR_ID_BROOKTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	0878: PCI_DEVICE_ID_BROOKTREE_878