^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tvaudio.h - definition for tvaudio inputs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Copyright (C) 2006 Hans Verkuil (hverkuil@xs4all.nl)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #ifndef _TVAUDIO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define _TVAUDIO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * i2c bus addresses for the chips supported by tvaudio.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define I2C_ADDR_TDA8425 0x82
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define I2C_ADDR_TDA9840 0x84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define I2C_ADDR_TDA9874 0xb0 /* also used by 9875 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define I2C_ADDR_TDA9875 0xb0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define I2C_ADDR_TDA8425 0x82
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define I2C_ADDR_TDA9840 0x84 /* also used by TA8874Z */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define I2C_ADDR_TDA985x_L 0xb4 /* also used by 9873 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define I2C_ADDR_TDA985x_H 0xb6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define I2C_ADDR_TDA9874 0xb0 /* also used by 9875 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define I2C_ADDR_TEA6300 0x80 /* also used by 6320 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define I2C_ADDR_TEA6420 0x98
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define I2C_ADDR_PIC16C54 0x96 /* PV951 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) /* The tvaudio module accepts the following inputs: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define TVAUDIO_INPUT_TUNER 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define TVAUDIO_INPUT_RADIO 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define TVAUDIO_INPUT_EXTERN 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #define TVAUDIO_INPUT_INTERN 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) static inline const unsigned short *tvaudio_addrs(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) static const unsigned short addrs[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) I2C_ADDR_TDA8425 >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) I2C_ADDR_TEA6300 >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) I2C_ADDR_TEA6420 >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) I2C_ADDR_TDA9840 >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) I2C_ADDR_TDA985x_L >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) I2C_ADDR_TDA985x_H >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) I2C_ADDR_TDA9874 >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) I2C_ADDR_PIC16C54 >> 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) I2C_CLIENT_END
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) return addrs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #endif