• John Hsu's avatar
    ASoC: nau8825: AD/DA over sampling rate configuration · d6d19745
    John Hsu authored
    Over Sampling Rate (OSR) is defined as CLK_ADC frequency divided by the
    audio sample rate (Fs).
    OSR = CLK_ADC / FS
    The available OSRs are 32, 64, 128 or 256. Note that the OSR and Fs
    values must be selected such that the maximum frequency of CLK_ADC
    is less than 6.144 MHz. It is recommended to match the relationship
    between OSR and clock SRC according to following Table.
    ADC_RATE: 00(OSR=32)  | CLK_ADC_SRC: 11(CODEC 1/8)
    ADC_RATE: 01(OSR=64)  | CLK_ADC_SRC: 10(CODEC1/4)
    ADC_RATE: 10(OSR=128) | CLK_ADC_SRC: 01(CODEC 1/2)
    ADC_RATE: 11(OSR=256) | CLK_ADC_SRC: 00(CODEC CLK)
    
    The over sampling rate about DAC follows the same rule with ADCs.
    The driver changes the OSR to 64 value when initiation for better FLL
    performance and applies the dynamic SRC change by different OSR.
    Signed-off-by: default avatarJohn Hsu <KCHSU0@nuvoton.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    d6d19745
nau8825.c 82.3 KB