Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
cs4270_mode_ratios Struct Reference

Data Fields

unsigned int ratio
 
u8 speed_mode
 
u8 mclk
 

Detailed Description

struct cs4270_mode_ratios - clock ratio tables : the ratio of MCLK to the sample rate : the Speed Mode bits to set in the Mode Control register for this ratio : the Ratio Select bits to set in the Mode Control register for this ratio

The data for this chart is taken from Table 5 of the CS4270 reference manual.

This table is used to determine how to program the Mode Control register. It is also used by cs4270_set_dai_sysclk() to tell ALSA which sampling rates the CS4270 currently supports.

is the corresponding bit pattern to be written to the MODE bits of the Mode Control Register

is the corresponding bit pattern to be wirten to the MCLK bits of the Mode Control Register.

In situations where a single ratio is represented by multiple speed modes, we favor the slowest speed. E.g, for a ratio of 128, we pick double-speed instead of quad-speed. However, the CS4270 errata states that divide-By-1.5 can cause failures, so we avoid that mode where possible.

Errata: There is an errata for the CS4270 where divide-by-1.5 does not work if Vd is 3.3V. If this effects you, select the CONFIG_SND_SOC_CS4270_VD33_ERRATA Kconfig option, and the driver will never select any sample rates that require divide-by-1.5.

Definition at line 174 of file cs4270.c.

Field Documentation

Definition at line 177 of file cs4270.c.

unsigned int ratio

Definition at line 175 of file cs4270.c.

u8 speed_mode

Definition at line 176 of file cs4270.c.


The documentation for this struct was generated from the following file: