Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
radio-tea5777.c File Reference
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <media/v4l2-device.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-fh.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-event.h>
#include "radio-tea5777.h"

Go to the source code of this file.

Macros

#define TEA5777_FM_IF   150 /* kHz */
 
#define TEA5777_FM_FREQ_STEP   50 /* kHz */
 
#define TEA5777_AM_IF   21 /* kHz */
 
#define TEA5777_AM_FREQ_STEP   1 /* kHz */
 
#define TEA5777_W_MUTE_MASK   (1LL << 47)
 
#define TEA5777_W_MUTE_SHIFT   47
 
#define TEA5777_W_AM_FM_MASK   (1LL << 46)
 
#define TEA5777_W_AM_FM_SHIFT   46
 
#define TEA5777_W_STB_MASK   (1LL << 45)
 
#define TEA5777_W_STB_SHIFT   45
 
#define TEA5777_W_IFCE_MASK   (1LL << 29)
 
#define TEA5777_W_IFCE_SHIFT   29
 
#define TEA5777_W_IFW_MASK   (1LL << 28)
 
#define TEA5777_W_IFW_SHIFT   28
 
#define TEA5777_W_HILO_MASK   (1LL << 27)
 
#define TEA5777_W_HILO_SHIFT   27
 
#define TEA5777_W_DBUS_MASK   (1LL << 26)
 
#define TEA5777_W_DBUS_SHIFT   26
 
#define TEA5777_W_INTEXT_MASK   (1LL << 24)
 
#define TEA5777_W_INTEXT_SHIFT   24
 
#define TEA5777_W_P1_MASK   (1LL << 23)
 
#define TEA5777_W_P1_SHIFT   23
 
#define TEA5777_W_P0_MASK   (1LL << 22)
 
#define TEA5777_W_P0_SHIFT   22
 
#define TEA5777_W_PEN1_MASK   (1LL << 21)
 
#define TEA5777_W_PEN1_SHIFT   21
 
#define TEA5777_W_PEN0_MASK   (1LL << 20)
 
#define TEA5777_W_PEN0_SHIFT   20
 
#define TEA5777_W_CHP0_MASK   (1LL << 18)
 
#define TEA5777_W_CHP0_SHIFT   18
 
#define TEA5777_W_DEEM_MASK   (1LL << 17)
 
#define TEA5777_W_DEEM_SHIFT   17
 
#define TEA5777_W_SEARCH_MASK   (1LL << 7)
 
#define TEA5777_W_SEARCH_SHIFT   7
 
#define TEA5777_W_PROGBLIM_MASK   (1LL << 6)
 
#define TEA5777_W_PROGBLIM_SHIFT   6
 
#define TEA5777_W_UPDWN_MASK   (1LL << 5)
 
#define TEA5777_W_UPDWN_SHIFT   5
 
#define TEA5777_W_SLEV_MASK   (3LL << 3)
 
#define TEA5777_W_SLEV_SHIFT   3
 
#define TEA5777_W_FM_PLL_MASK   (0x1fffLL << 32)
 
#define TEA5777_W_FM_PLL_SHIFT   32
 
#define TEA5777_W_FM_FREF_MASK   (0x03LL << 30)
 
#define TEA5777_W_FM_FREF_SHIFT   30
 
#define TEA5777_W_FM_FREF_VALUE   0LL /* 50k steps, 150k IF */
 
#define TEA5777_W_FM_FORCEMONO_MASK   (1LL << 15)
 
#define TEA5777_W_FM_FORCEMONO_SHIFT   15
 
#define TEA5777_W_FM_SDSOFF_MASK   (1LL << 14)
 
#define TEA5777_W_FM_SDSOFF_SHIFT   14
 
#define TEA5777_W_FM_DOFF_MASK   (1LL << 13)
 
#define TEA5777_W_FM_DOFF_SHIFT   13
 
#define TEA5777_W_FM_STEP_MASK   (3LL << 1)
 
#define TEA5777_W_FM_STEP_SHIFT   1
 
#define TEA5777_W_AM_PLL_MASK   (0x7ffLL << 34)
 
#define TEA5777_W_AM_PLL_SHIFT   34
 
#define TEA5777_W_AM_AGCRF_MASK   (1LL << 33)
 
#define TEA5777_W_AM_AGCRF_SHIFT   33
 
#define TEA5777_W_AM_AGCIF_MASK   (1LL << 32)
 
#define TEA5777_W_AM_AGCIF_SHIFT   32
 
#define TEA5777_W_AM_MWLW_MASK   (1LL << 31)
 
#define TEA5777_W_AM_MWLW_SHIFT   31
 
#define TEA5777_W_AM_LW   0LL
 
#define TEA5777_W_AM_MW   1LL
 
#define TEA5777_W_AM_LNA_MASK   (1LL << 30)
 
#define TEA5777_W_AM_LNA_SHIFT   30
 
#define TEA5777_W_AM_PEAK_MASK   (1LL << 25)
 
#define TEA5777_W_AM_PEAK_SHIFT   25
 
#define TEA5777_W_AM_RFB_MASK   (1LL << 16)
 
#define TEA5777_W_AM_RFB_SHIFT   16
 
#define TEA5777_W_AM_CALLIGN_MASK   (1LL << 15)
 
#define TEA5777_W_AM_CALLIGN_SHIFT   15
 
#define TEA5777_W_AM_CBANK_MASK   (0x7fLL << 8)
 
#define TEA5777_W_AM_CBANK_SHIFT   8
 
#define TEA5777_W_AM_DELAY_MASK   (1LL << 2)
 
#define TEA5777_W_AM_DELAY_SHIFT   2
 
#define TEA5777_W_AM_STEP_MASK   (1LL << 1)
 
#define TEA5777_W_AM_STEP_SHIFT   1
 
#define TEA5777_R_LEVEL_MASK   (0x0f << 17)
 
#define TEA5777_R_LEVEL_SHIFT   17
 
#define TEA5777_R_SFOUND_MASK   (0x01 << 16)
 
#define TEA5777_R_SFOUND_SHIFT   16
 
#define TEA5777_R_BLIM_MASK   (0x01 << 15)
 
#define TEA5777_R_BLIM_SHIFT   15
 
#define TEA5777_R_FM_STEREO_MASK   (0x01 << 21)
 
#define TEA5777_R_FM_STEREO_SHIFT   21
 
#define TEA5777_R_FM_PLL_MASK   0x1fff
 
#define TEA5777_R_FM_PLL_SHIFT   0
 

Enumerations

enum  { BAND_FM, BAND_AM }
 

Functions

 MODULE_AUTHOR ("Hans de Goede <[email protected]>")
 
 MODULE_DESCRIPTION ("Routines for control of TEA5777 Philips AM/FM radio tuner chips")
 
 MODULE_LICENSE ("GPL")
 
int radio_tea5777_set_freq (struct radio_tea5777 *tea)
 
int radio_tea5777_init (struct radio_tea5777 *tea, struct module *owner)
 
 EXPORT_SYMBOL_GPL (radio_tea5777_init)
 
void radio_tea5777_exit (struct radio_tea5777 *tea)
 
 EXPORT_SYMBOL_GPL (radio_tea5777_exit)
 

Macro Definition Documentation

#define TEA5777_AM_FREQ_STEP   1 /* kHz */

Definition at line 46 of file radio-tea5777.c.

#define TEA5777_AM_IF   21 /* kHz */

Definition at line 45 of file radio-tea5777.c.

#define TEA5777_FM_FREQ_STEP   50 /* kHz */

Definition at line 43 of file radio-tea5777.c.

#define TEA5777_FM_IF   150 /* kHz */

Definition at line 42 of file radio-tea5777.c.

#define TEA5777_R_BLIM_MASK   (0x01 << 15)

Definition at line 141 of file radio-tea5777.c.

#define TEA5777_R_BLIM_SHIFT   15

Definition at line 142 of file radio-tea5777.c.

#define TEA5777_R_FM_PLL_MASK   0x1fff

Definition at line 147 of file radio-tea5777.c.

#define TEA5777_R_FM_PLL_SHIFT   0

Definition at line 148 of file radio-tea5777.c.

#define TEA5777_R_FM_STEREO_MASK   (0x01 << 21)

Definition at line 145 of file radio-tea5777.c.

#define TEA5777_R_FM_STEREO_SHIFT   21

Definition at line 146 of file radio-tea5777.c.

#define TEA5777_R_LEVEL_MASK   (0x0f << 17)

Definition at line 137 of file radio-tea5777.c.

#define TEA5777_R_LEVEL_SHIFT   17

Definition at line 138 of file radio-tea5777.c.

#define TEA5777_R_SFOUND_MASK   (0x01 << 16)

Definition at line 139 of file radio-tea5777.c.

#define TEA5777_R_SFOUND_SHIFT   16

Definition at line 140 of file radio-tea5777.c.

#define TEA5777_W_AM_AGCIF_MASK   (1LL << 32)

Definition at line 112 of file radio-tea5777.c.

#define TEA5777_W_AM_AGCIF_SHIFT   32

Definition at line 113 of file radio-tea5777.c.

#define TEA5777_W_AM_AGCRF_MASK   (1LL << 33)

Definition at line 110 of file radio-tea5777.c.

#define TEA5777_W_AM_AGCRF_SHIFT   33

Definition at line 111 of file radio-tea5777.c.

#define TEA5777_W_AM_CALLIGN_MASK   (1LL << 15)

Definition at line 126 of file radio-tea5777.c.

#define TEA5777_W_AM_CALLIGN_SHIFT   15

Definition at line 127 of file radio-tea5777.c.

#define TEA5777_W_AM_CBANK_MASK   (0x7fLL << 8)

Definition at line 128 of file radio-tea5777.c.

#define TEA5777_W_AM_CBANK_SHIFT   8

Definition at line 129 of file radio-tea5777.c.

#define TEA5777_W_AM_DELAY_MASK   (1LL << 2)

Definition at line 131 of file radio-tea5777.c.

#define TEA5777_W_AM_DELAY_SHIFT   2

Definition at line 132 of file radio-tea5777.c.

#define TEA5777_W_AM_FM_MASK   (1LL << 46)

Definition at line 51 of file radio-tea5777.c.

#define TEA5777_W_AM_FM_SHIFT   46

Definition at line 52 of file radio-tea5777.c.

#define TEA5777_W_AM_LNA_MASK   (1LL << 30)

Definition at line 118 of file radio-tea5777.c.

#define TEA5777_W_AM_LNA_SHIFT   30

Definition at line 119 of file radio-tea5777.c.

#define TEA5777_W_AM_LW   0LL

Definition at line 116 of file radio-tea5777.c.

#define TEA5777_W_AM_MW   1LL

Definition at line 117 of file radio-tea5777.c.

#define TEA5777_W_AM_MWLW_MASK   (1LL << 31)

Definition at line 114 of file radio-tea5777.c.

#define TEA5777_W_AM_MWLW_SHIFT   31

Definition at line 115 of file radio-tea5777.c.

#define TEA5777_W_AM_PEAK_MASK   (1LL << 25)

Definition at line 121 of file radio-tea5777.c.

#define TEA5777_W_AM_PEAK_SHIFT   25

Definition at line 122 of file radio-tea5777.c.

#define TEA5777_W_AM_PLL_MASK   (0x7ffLL << 34)

Definition at line 108 of file radio-tea5777.c.

#define TEA5777_W_AM_PLL_SHIFT   34

Definition at line 109 of file radio-tea5777.c.

#define TEA5777_W_AM_RFB_MASK   (1LL << 16)

Definition at line 124 of file radio-tea5777.c.

#define TEA5777_W_AM_RFB_SHIFT   16

Definition at line 125 of file radio-tea5777.c.

#define TEA5777_W_AM_STEP_MASK   (1LL << 1)

Definition at line 133 of file radio-tea5777.c.

#define TEA5777_W_AM_STEP_SHIFT   1

Definition at line 134 of file radio-tea5777.c.

#define TEA5777_W_CHP0_MASK   (1LL << 18)

Definition at line 76 of file radio-tea5777.c.

#define TEA5777_W_CHP0_SHIFT   18

Definition at line 77 of file radio-tea5777.c.

#define TEA5777_W_DBUS_MASK   (1LL << 26)

Definition at line 62 of file radio-tea5777.c.

#define TEA5777_W_DBUS_SHIFT   26

Definition at line 63 of file radio-tea5777.c.

#define TEA5777_W_DEEM_MASK   (1LL << 17)

Definition at line 78 of file radio-tea5777.c.

#define TEA5777_W_DEEM_SHIFT   17

Definition at line 79 of file radio-tea5777.c.

#define TEA5777_W_FM_DOFF_MASK   (1LL << 13)

Definition at line 101 of file radio-tea5777.c.

#define TEA5777_W_FM_DOFF_SHIFT   13

Definition at line 102 of file radio-tea5777.c.

#define TEA5777_W_FM_FORCEMONO_MASK   (1LL << 15)

Definition at line 97 of file radio-tea5777.c.

#define TEA5777_W_FM_FORCEMONO_SHIFT   15

Definition at line 98 of file radio-tea5777.c.

#define TEA5777_W_FM_FREF_MASK   (0x03LL << 30)

Definition at line 93 of file radio-tea5777.c.

#define TEA5777_W_FM_FREF_SHIFT   30

Definition at line 94 of file radio-tea5777.c.

#define TEA5777_W_FM_FREF_VALUE   0LL /* 50k steps, 150k IF */

Definition at line 95 of file radio-tea5777.c.

#define TEA5777_W_FM_PLL_MASK   (0x1fffLL << 32)

Definition at line 91 of file radio-tea5777.c.

#define TEA5777_W_FM_PLL_SHIFT   32

Definition at line 92 of file radio-tea5777.c.

#define TEA5777_W_FM_SDSOFF_MASK   (1LL << 14)

Definition at line 99 of file radio-tea5777.c.

#define TEA5777_W_FM_SDSOFF_SHIFT   14

Definition at line 100 of file radio-tea5777.c.

#define TEA5777_W_FM_STEP_MASK   (3LL << 1)

Definition at line 104 of file radio-tea5777.c.

#define TEA5777_W_FM_STEP_SHIFT   1

Definition at line 105 of file radio-tea5777.c.

#define TEA5777_W_HILO_MASK   (1LL << 27)

Definition at line 60 of file radio-tea5777.c.

#define TEA5777_W_HILO_SHIFT   27

Definition at line 61 of file radio-tea5777.c.

#define TEA5777_W_IFCE_MASK   (1LL << 29)

Definition at line 56 of file radio-tea5777.c.

#define TEA5777_W_IFCE_SHIFT   29

Definition at line 57 of file radio-tea5777.c.

#define TEA5777_W_IFW_MASK   (1LL << 28)

Definition at line 58 of file radio-tea5777.c.

#define TEA5777_W_IFW_SHIFT   28

Definition at line 59 of file radio-tea5777.c.

#define TEA5777_W_INTEXT_MASK   (1LL << 24)

Definition at line 65 of file radio-tea5777.c.

#define TEA5777_W_INTEXT_SHIFT   24

Definition at line 66 of file radio-tea5777.c.

#define TEA5777_W_MUTE_MASK   (1LL << 47)

Definition at line 49 of file radio-tea5777.c.

#define TEA5777_W_MUTE_SHIFT   47

Definition at line 50 of file radio-tea5777.c.

#define TEA5777_W_P0_MASK   (1LL << 22)

Definition at line 69 of file radio-tea5777.c.

#define TEA5777_W_P0_SHIFT   22

Definition at line 70 of file radio-tea5777.c.

#define TEA5777_W_P1_MASK   (1LL << 23)

Definition at line 67 of file radio-tea5777.c.

#define TEA5777_W_P1_SHIFT   23

Definition at line 68 of file radio-tea5777.c.

#define TEA5777_W_PEN0_MASK   (1LL << 20)

Definition at line 73 of file radio-tea5777.c.

#define TEA5777_W_PEN0_SHIFT   20

Definition at line 74 of file radio-tea5777.c.

#define TEA5777_W_PEN1_MASK   (1LL << 21)

Definition at line 71 of file radio-tea5777.c.

#define TEA5777_W_PEN1_SHIFT   21

Definition at line 72 of file radio-tea5777.c.

#define TEA5777_W_PROGBLIM_MASK   (1LL << 6)

Definition at line 83 of file radio-tea5777.c.

#define TEA5777_W_PROGBLIM_SHIFT   6

Definition at line 84 of file radio-tea5777.c.

#define TEA5777_W_SEARCH_MASK   (1LL << 7)

Definition at line 81 of file radio-tea5777.c.

#define TEA5777_W_SEARCH_SHIFT   7

Definition at line 82 of file radio-tea5777.c.

#define TEA5777_W_SLEV_MASK   (3LL << 3)

Definition at line 87 of file radio-tea5777.c.

#define TEA5777_W_SLEV_SHIFT   3

Definition at line 88 of file radio-tea5777.c.

#define TEA5777_W_STB_MASK   (1LL << 45)

Definition at line 53 of file radio-tea5777.c.

#define TEA5777_W_STB_SHIFT   45

Definition at line 54 of file radio-tea5777.c.

#define TEA5777_W_UPDWN_MASK   (1LL << 5)

Definition at line 85 of file radio-tea5777.c.

#define TEA5777_W_UPDWN_SHIFT   5

Definition at line 86 of file radio-tea5777.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
BAND_FM 
BAND_AM 

Definition at line 150 of file radio-tea5777.c.

Function Documentation

EXPORT_SYMBOL_GPL ( radio_tea5777_init  )
EXPORT_SYMBOL_GPL ( radio_tea5777_exit  )
MODULE_AUTHOR ( "Hans de Goede <[email protected]>"  )
MODULE_DESCRIPTION ( "Routines for control of TEA5777 Philips AM/FM radio tuner chips )
MODULE_LICENSE ( "GPL"  )
void radio_tea5777_exit ( struct radio_tea5777 tea)

Definition at line 599 of file radio-tea5777.c.

int radio_tea5777_init ( struct radio_tea5777 tea,
struct module owner 
)

Definition at line 548 of file radio-tea5777.c.

int radio_tea5777_set_freq ( struct radio_tea5777 tea)

Definition at line 187 of file radio-tea5777.c.