103 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * wm8940.h -- WM8940 Soc Audio driver4 */5 6#ifndef _WM8940_H7#define _WM8940_H8 9struct wm8940_setup_data {10 /* Vref to analogue output resistance */11#define WM8940_VROI_1K 012#define WM8940_VROI_30K 113 unsigned int vroi:1;14};15 16/* WM8940 register space */17#define WM8940_SOFTRESET 0x0018#define WM8940_POWER1 0x0119#define WM8940_POWER2 0x0220#define WM8940_POWER3 0x0321#define WM8940_IFACE 0x0422#define WM8940_COMPANDINGCTL 0x0523#define WM8940_CLOCK 0x0624#define WM8940_ADDCNTRL 0x0725#define WM8940_GPIO 0x0826#define WM8940_CTLINT 0x0927#define WM8940_DAC 0x0A28#define WM8940_DACVOL 0x0B29 30#define WM8940_ADC 0x0E31#define WM8940_ADCVOL 0x0F32#define WM8940_NOTCH1 0x1033#define WM8940_NOTCH2 0x1134#define WM8940_NOTCH3 0x1235#define WM8940_NOTCH4 0x1336#define WM8940_NOTCH5 0x1437#define WM8940_NOTCH6 0x1538#define WM8940_NOTCH7 0x1639#define WM8940_NOTCH8 0x1740#define WM8940_DACLIM1 0x1841#define WM8940_DACLIM2 0x1942 43#define WM8940_ALC1 0x2044#define WM8940_ALC2 0x2145#define WM8940_ALC3 0x2246#define WM8940_NOISEGATE 0x2347#define WM8940_PLLN 0x2448#define WM8940_PLLK1 0x2549#define WM8940_PLLK2 0x2650#define WM8940_PLLK3 0x2751 52#define WM8940_ALC4 0x2A53 54#define WM8940_INPUTCTL 0x2C55#define WM8940_PGAGAIN 0x2D56 57#define WM8940_ADCBOOST 0x2F58 59#define WM8940_OUTPUTCTL 0x3160#define WM8940_SPKMIX 0x3261 62#define WM8940_SPKVOL 0x3663 64#define WM8940_MONOMIX 0x3865 66#define WM8940_CACHEREGNUM 0x5767 68 69/* Clock divider Id's */70#define WM8940_BCLKDIV 071#define WM8940_MCLKDIV 172#define WM8940_OPCLKDIV 273 74/* MCLK clock dividers */75#define WM8940_MCLKDIV_1 076#define WM8940_MCLKDIV_1_5 177#define WM8940_MCLKDIV_2 278#define WM8940_MCLKDIV_3 379#define WM8940_MCLKDIV_4 480#define WM8940_MCLKDIV_6 581#define WM8940_MCLKDIV_8 682#define WM8940_MCLKDIV_12 783 84/* BCLK clock dividers */85#define WM8940_BCLKDIV_1 086#define WM8940_BCLKDIV_2 187#define WM8940_BCLKDIV_4 288#define WM8940_BCLKDIV_8 389#define WM8940_BCLKDIV_16 490#define WM8940_BCLKDIV_32 591 92/* PLL Out Dividers */93#define WM8940_OPCLKDIV_1 094#define WM8940_OPCLKDIV_2 195#define WM8940_OPCLKDIV_3 296#define WM8940_OPCLKDIV_4 397 98/* Chip ID */99#define WM8940_CHIP_ID 0x8940100 101#endif /* _WM8940_H */102 103