brintos

brintos / linux-shallow public Read only

0
0
Text · 2.3 KiB · 1f43549 Raw
100 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * wm8510.h  --  WM8510 Soc Audio driver4 */5 6#ifndef _WM8510_H7#define _WM8510_H8 9/* WM8510 register space */10 11#define WM8510_RESET		0x012#define WM8510_POWER1		0x113#define WM8510_POWER2		0x214#define WM8510_POWER3		0x315#define WM8510_IFACE		0x416#define WM8510_COMP			0x517#define WM8510_CLOCK		0x618#define WM8510_ADD			0x719#define WM8510_GPIO			0x820#define WM8510_DAC			0xa21#define WM8510_DACVOL		0xb22#define WM8510_ADC			0xe23#define WM8510_ADCVOL		0xf24#define WM8510_EQ1			0x1225#define WM8510_EQ2			0x1326#define WM8510_EQ3			0x1427#define WM8510_EQ4			0x1528#define WM8510_EQ5			0x1629#define WM8510_DACLIM1		0x1830#define WM8510_DACLIM2		0x1931#define WM8510_NOTCH1		0x1b32#define WM8510_NOTCH2		0x1c33#define WM8510_NOTCH3		0x1d34#define WM8510_NOTCH4		0x1e35#define WM8510_ALC1			0x2036#define WM8510_ALC2			0x2137#define WM8510_ALC3			0x2238#define WM8510_NGATE		0x2339#define WM8510_PLLN			0x2440#define WM8510_PLLK1		0x2541#define WM8510_PLLK2		0x2642#define WM8510_PLLK3		0x2743#define WM8510_ATTEN		0x2844#define WM8510_INPUT		0x2c45#define WM8510_INPPGA		0x2d46#define WM8510_ADCBOOST		0x2f47#define WM8510_OUTPUT		0x3148#define WM8510_SPKMIX		0x3249#define WM8510_SPKVOL		0x3650#define WM8510_MONOMIX		0x3851 52#define WM8510_CACHEREGNUM 	5753 54/* Clock divider Id's */55#define WM8510_OPCLKDIV		056#define WM8510_MCLKDIV		157#define WM8510_ADCCLK		258#define WM8510_DACCLK		359#define WM8510_BCLKDIV		460 61/* DAC clock dividers */62#define WM8510_DACCLK_F2	(1 << 3)63#define WM8510_DACCLK_F4	(0 << 3)64 65/* ADC clock dividers */66#define WM8510_ADCCLK_F2	(1 << 3)67#define WM8510_ADCCLK_F4	(0 << 3)68 69/* PLL Out dividers */70#define WM8510_OPCLKDIV_1	(0 << 4)71#define WM8510_OPCLKDIV_2	(1 << 4)72#define WM8510_OPCLKDIV_3	(2 << 4)73#define WM8510_OPCLKDIV_4	(3 << 4)74 75/* BCLK clock dividers */76#define WM8510_BCLKDIV_1	(0 << 2)77#define WM8510_BCLKDIV_2	(1 << 2)78#define WM8510_BCLKDIV_4	(2 << 2)79#define WM8510_BCLKDIV_8	(3 << 2)80#define WM8510_BCLKDIV_16	(4 << 2)81#define WM8510_BCLKDIV_32	(5 << 2)82 83/* MCLK clock dividers */84#define WM8510_MCLKDIV_1	(0 << 5)85#define WM8510_MCLKDIV_1_5	(1 << 5)86#define WM8510_MCLKDIV_2	(2 << 5)87#define WM8510_MCLKDIV_3	(3 << 5)88#define WM8510_MCLKDIV_4	(4 << 5)89#define WM8510_MCLKDIV_6	(5 << 5)90#define WM8510_MCLKDIV_8	(6 << 5)91#define WM8510_MCLKDIV_12	(7 << 5)92 93struct wm8510_setup_data {94	int spi;95	int i2c_bus;96	unsigned short i2c_address;97};98 99#endif100