Documentation/driver-api/media/drivers/tuners.rst GitHub 원문 ↗

Linux 6.18.37 · Driver API

Tuner drivers

Tuner bandswitch API와 Samsung·Philips·Temic·LG Innotek·ALPS model 식별 규칙을 정리한 전문 번역입니다.

Source pathDocumentation/driver-api/media/drivers/tuners.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

tuners.rst:1-133

이 문서는 tuner를 설정할 때 model 이름만으로 broadcast standard, FM 지원, connector, bandswitch API를 판별하는 오래된 hardware 식별 규칙을 모아 둡니다. 같은 제조사라도 series 세대에 따라 API가 달라질 수 있으므로 family와 suffix를 함께 확인해야 합니다.

특히 Temic은 `40x2`만 `TEMIC_API`이고 이후 model은 `PHILIPS_API`이며, Philips는 MK2와 2002년 도입된 MK3의 API가 다릅니다. LG Innotek 목록 끝의 `(P,...)`와 `(L,...)`은 첫 절의 `PHILIPS_API`와 `LG_API` 표기를 연결해 읽을 수 있습니다.

문서 구성
원문 줄내용핵심 확인값
1-17단순 tuner programming APIBandswitch byte 5종
18-50Samsung 식별 규칙표준·FM·connector field
51-76Philips 식별 규칙Series·표준·지역 suffix·MK 세대
77-98Temic 식별 규칙`40x2` API 예외
99-120LG Innotek model 목록방송 표준·FM variant·connector suffix
121-133기타 tuner와 ALPS`TSBE1` 추가 API와 출처

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 Tuner drivers
4 =============
5
6 Simple tuner Programming
7 ------------------------
8
9 There are some flavors of Tuner programming APIs.
10 These differ mainly by the bandswitch byte.
11
12 - L= LG_API (VHF_LO=0x01, VHF_HI=0x02, UHF=0x08, radio=0x04)
13 - P= PHILIPS_API (VHF_LO=0xA0, VHF_HI=0x90, UHF=0x30, radio=0x04)
14 - T= TEMIC_API (VHF_LO=0x02, VHF_HI=0x04, UHF=0x01)
15 - A= ALPS_API (VHF_LO=0x14, VHF_HI=0x12, UHF=0x11)
16 - M= PHILIPS_MK3 (VHF_LO=0x01, VHF_HI=0x02, UHF=0x04, radio=0x19)
17
18 Tuner Manufacturers
19 -------------------
20
21 - Samsung Tuner identification: (e.g. TCPM9091PD27)
22
23 .. code-block:: none
24
25 TCP [ABCJLMNQ] 90[89][125] [DP] [ACD] 27 [ABCD]
26 [ABCJLMNQ]:
27 A= BG+DK
28 B= BG
29 C= I+DK
30 J= NTSC-Japan
31 L= Secam LL
32 M= BG+I+DK
33 N= NTSC
34 Q= BG+I+DK+LL
35 [89]: ?
36 [125]:
37 2: No FM
38 5: With FM
39 [DP]:
40 D= NTSC
41 P= PAL
42 [ACD]:
43 A= F-connector
44 C= Phono connector
45 D= Din Jack
46 [ABCD]:
47 3-wire/I2C tuning, 2-band/3-band
48
49 These Tuners are PHILIPS_API compatible.
50
51 Philips Tuner identification: (e.g. FM1216MF)
52
53 .. code-block:: none
54
55 F[IRMQ]12[1345]6{MF|ME|MP}
56 F[IRMQ]:
57 FI12x6: Tuner Series
58 FR12x6: Tuner + Radio IF
59 FM12x6: Tuner + FM
60 FQ12x6: special
61 FMR12x6: special
62 TD15xx: Digital Tuner ATSC
63 12[1345]6:
64 1216: PAL BG
65 1236: NTSC
66 1246: PAL I
67 1256: Pal DK
68 {MF|ME|MP}
69 MF: BG LL w/ Secam (Multi France)
70 ME: BG DK I LL (Multi Europe)
71 MP: BG DK I (Multi PAL)
72 MR: BG DK M (?)
73 MG: BG DKI M (?)
74 MK2 series PHILIPS_API, most tuners are compatible to this one !
75 MK3 series introduced in 2002 w/ PHILIPS_MK3_API
76
77 Temic Tuner identification: (.e.g 4006FH5)
78
79 .. code-block:: none
80
81 4[01][0136][269]F[HYNR]5
82 40x2: Tuner (5V/33V), TEMIC_API.
83 40x6: Tuner 5V
84 41xx: Tuner compact
85 40x9: Tuner+FM compact
86 [0136]
87 xx0x: PAL BG
88 xx1x: Pal DK, Secam LL
89 xx3x: NTSC
90 xx6x: PAL I
91 F[HYNR]5
92 FH5: Pal BG
93 FY5: others
94 FN5: multistandard
95 FR5: w/ FM radio
96 3X xxxx: order number with specific connector
97 Note: Only 40x2 series has TEMIC_API, all newer tuners have PHILIPS_API.
98
99 LG Innotek Tuner:
100
101 - TPI8NSR11 : NTSC J/M (TPI8NSR01 w/FM) (P,210/497)
102 - TPI8PSB11 : PAL B/G (TPI8PSB01 w/FM) (P,170/450)
103 - TAPC-I701 : PAL I (TAPC-I001 w/FM) (P,170/450)
104 - TPI8PSB12 : PAL D/K+B/G (TPI8PSB02 w/FM) (P,170/450)
105 - TAPC-H701P: NTSC_JP (TAPC-H001P w/FM) (L,170/450)
106 - TAPC-G701P: PAL B/G (TAPC-G001P w/FM) (L,170/450)
107 - TAPC-W701P: PAL I (TAPC-W001P w/FM) (L,170/450)
108 - TAPC-Q703P: PAL D/K (TAPC-Q001P w/FM) (L,170/450)
109 - TAPC-Q704P: PAL D/K+I (L,170/450)
110 - TAPC-G702P: PAL D/K+B/G (L,170/450)
111
112 - TADC-H002F: NTSC (L,175/410?; 2-B, C-W+11, W+12-69)
113 - TADC-M201D: PAL D/K+B/G+I (L,143/425) (sound control at I2C address 0xc8)
114 - TADC-T003F: NTSC Taiwan (L,175/410?; 2-B, C-W+11, W+12-69)
115
116 Suffix:
117 - P= Standard phono female socket
118 - D= IEC female socket
119 - F= F-connector
120
121 Other Tuners:
122
123 - TCL2002MB-1 : PAL BG + DK =TUNER_LG_PAL_NEW_TAPC
124 - TCL2002MB-1F: PAL BG + DK w/FM =PHILIPS_PAL
125 - TCL2002MI-2 : PAL I = ??
126
127 ALPS Tuners:
128
129 - Most are LG_API compatible
130 - TSCH6 has ALPS_API (TSCH5 ?)
131 - TSBE1 has extra API 05,02,08 Control_byte=0xCB Source:[#f1]_
132
133 .. [#f1] conexant100029b-PCI-Decoder-ApplicationNote.pdf
134

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

단순 tuner programming API

1-17

이 `GPL-2.0` 문서는 tuner driver를 설명합니다. 단순 tuner programming API에는 여러 변형이 있으며, 주요 차이는 주파수 대역을 선택하는 bandswitch byte입니다.

`L`은 `LG_API`, `P`는 `PHILIPS_API`, `T`는 `TEMIC_API`, `A`는 `ALPS_API`, `M`은 `PHILIPS_MK3`를 뜻합니다. 각 API의 `VHF_LO`, `VHF_HI`, `UHF`, `radio` 값은 아래와 같습니다.

Tuner bandswitch API
표기API`VHF_LO``VHF_HI``UHF``radio`
`L``LG_API``0x01``0x02``0x08``0x04`
`P``PHILIPS_API``0xA0``0x90``0x30``0x04`
`T``TEMIC_API``0x02``0x04``0x01`원문에 값 없음
`A``ALPS_API``0x14``0x12``0x11`원문에 값 없음
`M``PHILIPS_MK3``0x01``0x02``0x04``0x19`

.. SPDX-License-Identifier: GPL-2.0

Tuner drivers
=============

Simple tuner Programming
------------------------

There are some flavors of Tuner programming APIs.
These differ mainly by the bandswitch byte.

- L= LG_API       (VHF_LO=0x01, VHF_HI=0x02, UHF=0x08, radio=0x04)
- P= PHILIPS_API  (VHF_LO=0xA0, VHF_HI=0x90, UHF=0x30, radio=0x04)
- T= TEMIC_API    (VHF_LO=0x02, VHF_HI=0x04, UHF=0x01)
- A= ALPS_API     (VHF_LO=0x14, VHF_HI=0x12, UHF=0x11)
- M= PHILIPS_MK3  (VHF_LO=0x01, VHF_HI=0x02, UHF=0x04, radio=0x19)

Samsung tuner 식별 규칙

18-50

Samsung tuner의 model은 `TCPM9091PD27` 같은 형식이며, 일반 pattern은 `TCP [ABCJLMNQ] 90[89][125] [DP] [ACD] 27 [ABCD]`입니다.

첫 번째 선택 문자는 지원하는 방송 표준을 나타냅니다. `A`는 `BG+DK`, `B`는 `BG`, `C`는 `I+DK`, `J`는 `NTSC-Japan`, `L`은 `Secam LL`, `M`은 `BG+I+DK`, `N`은 `NTSC`, `Q`는 `BG+I+DK+LL`입니다. `[89]` field의 의미는 알려져 있지 않습니다.

`[125]` field에서 `2`는 FM 없음, `5`는 FM 포함을 뜻합니다. `[DP]`에서 `D`는 `NTSC`, `P`는 `PAL`입니다. `[ACD]`에서 `A`는 F-connector, `C`는 phono connector, `D`는 Din Jack입니다. 마지막 `[ABCD]`는 3-wire/I2C tuning과 2-band/3-band 조합을 나타냅니다. 이 tuner들은 `PHILIPS_API`와 호환됩니다.

Samsung 방송 표준 문자
문자지원 표준
`A``BG+DK`
`B``BG`
`C``I+DK`
`J``NTSC-Japan`
`L``Secam LL`
`M``BG+I+DK`
`N``NTSC`
`Q``BG+I+DK+LL`

Pattern `TCP [ABCJLMNQ] 90[89][125] [DP] [ACD] 27 [ABCD]`의 첫 번째 선택 field입니다.

Samsung model field
Field의미
`[89]``8` 또는 `9`알려지지 않음
`[125]``2`FM 없음
`[125]``5`FM 포함
`[DP]``D``NTSC`
`[DP]``P``PAL`
`[ACD]``A`F-connector
`[ACD]``C`Phono connector
`[ACD]``D`Din Jack
마지막 `[ABCD]``A`~`D`3-wire/I2C tuning, 2-band/3-band

Tuner Manufacturers
-------------------

- Samsung Tuner identification: (e.g. TCPM9091PD27)

.. code-block:: none

 TCP [ABCJLMNQ] 90[89][125] [DP] [ACD] 27 [ABCD]
 [ABCJLMNQ]:
   A= BG+DK
   B= BG
   C= I+DK
   J= NTSC-Japan
   L= Secam LL
   M= BG+I+DK
   N= NTSC
   Q= BG+I+DK+LL
 [89]: ?
 [125]:
   2: No FM
   5: With FM
 [DP]:
   D= NTSC
   P= PAL
 [ACD]:
   A= F-connector
   C= Phono connector
   D= Din Jack
 [ABCD]:
   3-wire/I2C tuning, 2-band/3-band

These Tuners are PHILIPS_API compatible.

Philips tuner 식별 규칙

51-76

Philips tuner는 `FM1216MF` 같은 이름을 사용하며 기본 pattern은 `F[IRMQ]12[1345]6{MF|ME|MP}`입니다. `FI12x6`는 tuner series, `FR12x6`는 tuner와 Radio IF, `FM12x6`는 tuner와 FM, `FQ12x6`와 `FMR12x6`는 special model입니다. `TD15xx`는 ATSC digital tuner입니다.

숫자 부분에서 `1216`은 `PAL BG`, `1236`은 `NTSC`, `1246`은 `PAL I`, `1256`은 `Pal DK`를 뜻합니다. 지역·표준 suffix는 `MF: BG LL w/ Secam (Multi France)`, `ME: BG DK I LL (Multi Europe)`, `MP: BG DK I (Multi PAL)`, `MR: BG DK M (?)`, `MG: BG DKI M (?)`입니다.

`MK2` series는 `PHILIPS_API`를 사용하며 대부분의 tuner가 이 API와 호환됩니다. `MK3` series는 2002년에 `PHILIPS_MK3_API`와 함께 도입됐습니다.

Philips model pattern
구성값 또는 예의미
Series`FI12x6`Tuner Series
Series`FR12x6`Tuner + Radio IF
Series`FM12x6`Tuner + FM
Series`FQ12x6`Special
Series`FMR12x6`Special
Series`TD15xx`Digital Tuner ATSC
Number`1216``PAL BG`
Number`1236``NTSC`
Number`1246``PAL I`
Number`1256``Pal DK`
Suffix`MF``BG LL w/ Secam`, Multi France
Suffix`ME``BG DK I LL`, Multi Europe
Suffix`MP``BG DK I`, Multi PAL
Suffix`MR``BG DK M (?)`
Suffix`MG``BG DKI M (?)`
API`MK2``PHILIPS_API`
API`MK3`2002년 도입, `PHILIPS_MK3_API`

원문의 `F[IRMQ]12[1345]6{MF|ME|MP}` 식별 block을 field별로 재구성했습니다.

Philips Tuner identification: (e.g. FM1216MF)

.. code-block:: none

  F[IRMQ]12[1345]6{MF|ME|MP}
  F[IRMQ]:
   FI12x6: Tuner Series
   FR12x6: Tuner + Radio IF
   FM12x6: Tuner + FM
   FQ12x6: special
   FMR12x6: special
   TD15xx: Digital Tuner ATSC
  12[1345]6:
   1216: PAL BG
   1236: NTSC
   1246: PAL I
   1256: Pal DK
  {MF|ME|MP}
   MF: BG LL w/ Secam (Multi France)
   ME: BG DK I LL   (Multi Europe)
   MP: BG DK I      (Multi PAL)
   MR: BG DK M (?)
   MG: BG DKI M (?)
  MK2 series PHILIPS_API, most tuners are compatible to this one !
  MK3 series introduced in 2002 w/ PHILIPS_MK3_API

Temic tuner 식별 규칙

77-98

Temic tuner는 `4006FH5` 같은 이름을 사용하고 pattern은 `4[01][0136][269]F[HYNR]5`입니다. `40x2`는 5V/33V tuner이며 `TEMIC_API`를 사용하고, `40x6`은 5V tuner, `41xx`는 compact tuner, `40x9`는 tuner+FM compact입니다.

중간 표준 field에서 `xx0x`는 `PAL BG`, `xx1x`는 `Pal DK, Secam LL`, `xx3x`는 `NTSC`, `xx6x`는 `PAL I`입니다. 마지막 `F[HYNR]5` field에서 `FH5`는 `Pal BG`, `FY5`는 기타 표준, `FN5`는 multistandard, `FR5`는 FM radio 포함을 뜻합니다. `3X xxxx`는 특정 connector를 지정한 order number입니다.

주의할 점은 `40x2` series만 `TEMIC_API`를 사용하고, 더 새로운 tuner는 모두 `PHILIPS_API`를 사용한다는 것입니다.

Temic model pattern
Field 또는 model의미API·비고
`40x2`Tuner 5V/33V`TEMIC_API`
`40x6`Tuner 5V더 새 model은 `PHILIPS_API`
`41xx`Compact tuner`PHILIPS_API`
`40x9`Tuner+FM compact`PHILIPS_API`
`xx0x``PAL BG`방송 표준 field
`xx1x``Pal DK, Secam LL`방송 표준 field
`xx3x``NTSC`방송 표준 field
`xx6x``PAL I`방송 표준 field
`FH5``Pal BG`Suffix
`FY5`기타 표준Suffix
`FN5`MultistandardSuffix
`FR5`FM radio 포함Suffix
`3X xxxx`특정 connector용 order numberConnector 변형

원문의 `4[01][0136][269]F[HYNR]5` 식별 block을 model family와 표준 suffix로 재구성했습니다.

Temic Tuner identification: (.e.g 4006FH5)

.. code-block:: none

   4[01][0136][269]F[HYNR]5
    40x2: Tuner (5V/33V), TEMIC_API.
    40x6: Tuner 5V
    41xx: Tuner compact
    40x9: Tuner+FM compact
   [0136]
    xx0x: PAL BG
    xx1x: Pal DK, Secam LL
    xx3x: NTSC
    xx6x: PAL I
   F[HYNR]5
    FH5: Pal BG
    FY5: others
    FN5: multistandard
    FR5: w/ FM radio
   3X xxxx: order number with specific connector
  Note: Only 40x2 series has TEMIC_API, all newer tuners have PHILIPS_API.

LG Innotek tuner 목록과 suffix

99-120

LG Innotek의 `TPI8NSR11`은 `NTSC J/M`이며 FM 포함 variant는 `TPI8NSR01`, 설정은 `(P,210/497)`입니다. `TPI8PSB11`은 `PAL B/G`, FM variant는 `TPI8PSB01`, 설정은 `(P,170/450)`입니다. `TAPC-I701`은 `PAL I`, FM variant는 `TAPC-I001`, 설정은 `(P,170/450)`입니다.

`TPI8PSB12`는 `PAL D/K+B/G`, FM variant는 `TPI8PSB02`, 설정은 `(P,170/450)`입니다. `TAPC-H701P`는 `NTSC_JP`, FM variant는 `TAPC-H001P`, 설정은 `(L,170/450)`입니다. `TAPC-G701P`는 `PAL B/G`, FM variant는 `TAPC-G001P`, 설정은 `(L,170/450)`입니다.

`TAPC-W701P`는 `PAL I`, FM variant는 `TAPC-W001P`, 설정은 `(L,170/450)`입니다. `TAPC-Q703P`는 `PAL D/K`, FM variant는 `TAPC-Q001P`, 설정은 `(L,170/450)`입니다. `TAPC-Q704P`는 `PAL D/K+I`, `TAPC-G702P`는 `PAL D/K+B/G`이며 둘 다 `(L,170/450)`입니다.

`TADC-H002F`는 `NTSC`이고 `(L,175/410?; 2-B, C-W+11, W+12-69)`로 표기됩니다. `TADC-M201D`는 `PAL D/K+B/G+I`, 설정은 `(L,143/425)`이며 I2C address `0xc8`에서 sound를 제어합니다. `TADC-T003F`는 Taiwan용 `NTSC`이고 `(L,175/410?; 2-B, C-W+11, W+12-69)`입니다.

Model suffix `P`는 standard phono female socket, `D`는 IEC female socket, `F`는 F-connector를 뜻합니다.

LG Innotek tuner model
Model방송 표준FM variant·설정·비고
`TPI8NSR11``NTSC J/M``TPI8NSR01` w/FM, `(P,210/497)`
`TPI8PSB11``PAL B/G``TPI8PSB01` w/FM, `(P,170/450)`
`TAPC-I701``PAL I``TAPC-I001` w/FM, `(P,170/450)`
`TPI8PSB12``PAL D/K+B/G``TPI8PSB02` w/FM, `(P,170/450)`
`TAPC-H701P``NTSC_JP``TAPC-H001P` w/FM, `(L,170/450)`
`TAPC-G701P``PAL B/G``TAPC-G001P` w/FM, `(L,170/450)`
`TAPC-W701P``PAL I``TAPC-W001P` w/FM, `(L,170/450)`
`TAPC-Q703P``PAL D/K``TAPC-Q001P` w/FM, `(L,170/450)`
`TAPC-Q704P``PAL D/K+I``(L,170/450)`
`TAPC-G702P``PAL D/K+B/G``(L,170/450)`
`TADC-H002F``NTSC``(L,175/410?; 2-B, C-W+11, W+12-69)`
`TADC-M201D``PAL D/K+B/G+I``(L,143/425)`, sound control at I2C `0xc8`
`TADC-T003F``NTSC Taiwan``(L,175/410?; 2-B, C-W+11, W+12-69)`
Suffix `P`-Standard phono female socket
Suffix `D`-IEC female socket
Suffix `F`-F-connector

LG Innotek Tuner:

- TPI8NSR11 : NTSC J/M    (TPI8NSR01 w/FM)  (P,210/497)
- TPI8PSB11 : PAL B/G     (TPI8PSB01 w/FM)  (P,170/450)
- TAPC-I701 : PAL I       (TAPC-I001 w/FM)  (P,170/450)
- TPI8PSB12 : PAL D/K+B/G (TPI8PSB02 w/FM)  (P,170/450)
- TAPC-H701P: NTSC_JP     (TAPC-H001P w/FM) (L,170/450)
- TAPC-G701P: PAL B/G     (TAPC-G001P w/FM) (L,170/450)
- TAPC-W701P: PAL I       (TAPC-W001P w/FM) (L,170/450)
- TAPC-Q703P: PAL D/K     (TAPC-Q001P w/FM) (L,170/450)
- TAPC-Q704P: PAL D/K+I   (L,170/450)
- TAPC-G702P: PAL D/K+B/G (L,170/450)

- TADC-H002F: NTSC (L,175/410?; 2-B, C-W+11, W+12-69)
- TADC-M201D: PAL D/K+B/G+I (L,143/425)  (sound control at I2C address 0xc8)
- TADC-T003F: NTSC Taiwan  (L,175/410?; 2-B, C-W+11, W+12-69)

Suffix:
  - P= Standard phono female socket
  - D= IEC female socket
  - F= F-connector

기타 tuner와 ALPS API

121-133

기타 tuner 중 `TCL2002MB-1`은 `PAL BG + DK`이며 `TUNER_LG_PAL_NEW_TAPC`에 대응합니다. `TCL2002MB-1F`는 FM을 포함한 `PAL BG + DK`이며 `PHILIPS_PAL`에 대응합니다. `TCL2002MI-2`는 `PAL I`이지만 대응 값은 알려져 있지 않습니다.

ALPS tuner 대부분은 `LG_API`와 호환됩니다. `TSCH6`는 `ALPS_API`를 사용하며 `TSCH5`도 같은지에는 물음표가 붙어 있습니다. `TSBE1`은 추가 API byte `05,02,08`과 `Control_byte=0xCB`를 사용합니다. 이 정보의 출처는 `conexant100029b-PCI-Decoder-ApplicationNote.pdf`입니다.

기타 및 ALPS tuner
Model·family표준 또는 API대응 값·비고
`TCL2002MB-1``PAL BG + DK``TUNER_LG_PAL_NEW_TAPC`
`TCL2002MB-1F``PAL BG + DK w/FM``PHILIPS_PAL`
`TCL2002MI-2``PAL I`대응 값 미상
대부분의 ALPS tuner`LG_API` compatible-
`TSCH6``ALPS_API``TSCH5`는 불확실
`TSBE1`추가 API `05,02,08``Control_byte=0xCB`
Source-`conexant100029b-PCI-Decoder-ApplicationNote.pdf`

Other Tuners:

- TCL2002MB-1 : PAL BG + DK       =TUNER_LG_PAL_NEW_TAPC
- TCL2002MB-1F: PAL BG + DK w/FM  =PHILIPS_PAL
- TCL2002MI-2 : PAL I                = ??

ALPS Tuners:

- Most are LG_API compatible
- TSCH6 has ALPS_API (TSCH5 ?)
- TSBE1 has extra API 05,02,08 Control_byte=0xCB Source:[#f1]_

.. [#f1] conexant100029b-PCI-Decoder-ApplicationNote.pdf