요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. 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)
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 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 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:
- 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
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
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` 값은 아래와 같습니다.
.. 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-50Samsung 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`와 호환됩니다.
Pattern `TCP [ABCJLMNQ] 90[89][125] [DP] [ACD] 27 [ABCD]`의 첫 번째 선택 field입니다.
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-76Philips 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`와 함께 도입됐습니다.
원문의 `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-98Temic 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`를 사용한다는 것입니다.
원문의 `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-120LG 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:
- 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`입니다.
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
요약과 해설
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` 표기를 연결해 읽을 수 있습니다.