1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2fb6f8069SPaul Handrigan /* 3fb6f8069SPaul Handrigan * cs4265.h -- CS4265 ALSA SoC audio driver 4fb6f8069SPaul Handrigan * 5fb6f8069SPaul Handrigan * Copyright 2014 Cirrus Logic, Inc. 6fb6f8069SPaul Handrigan * 7fb6f8069SPaul Handrigan * Author: Paul Handrigan <paul.handrigan@cirrus.com> 8fb6f8069SPaul Handrigan */ 9fb6f8069SPaul Handrigan 10fb6f8069SPaul Handrigan #ifndef __CS4265_H__ 11fb6f8069SPaul Handrigan #define __CS4265_H__ 12fb6f8069SPaul Handrigan 13fb6f8069SPaul Handrigan #define CS4265_CHIP_ID 0x1 14fb6f8069SPaul Handrigan #define CS4265_CHIP_ID_VAL 0xD0 15fb6f8069SPaul Handrigan #define CS4265_CHIP_ID_MASK 0xF0 16fb6f8069SPaul Handrigan #define CS4265_REV_ID_MASK 0x0F 17fb6f8069SPaul Handrigan 18fb6f8069SPaul Handrigan #define CS4265_PWRCTL 0x02 19fb6f8069SPaul Handrigan #define CS4265_PWRCTL_PDN 1 20fb6f8069SPaul Handrigan 21fb6f8069SPaul Handrigan #define CS4265_DAC_CTL 0x3 22fb6f8069SPaul Handrigan #define CS4265_DAC_CTL_MUTE (1 << 2) 23fb6f8069SPaul Handrigan #define CS4265_DAC_CTL_DIF (3 << 4) 24fb6f8069SPaul Handrigan 25fb6f8069SPaul Handrigan #define CS4265_ADC_CTL 0x4 26fb6f8069SPaul Handrigan #define CS4265_ADC_MASTER 1 27fb6f8069SPaul Handrigan #define CS4265_ADC_DIF (1 << 4) 28fb6f8069SPaul Handrigan #define CS4265_ADC_FM (3 << 6) 29fb6f8069SPaul Handrigan 30fb6f8069SPaul Handrigan #define CS4265_MCLK_FREQ 0x5 31fb6f8069SPaul Handrigan #define CS4265_MCLK_FREQ_MASK (7 << 4) 32fb6f8069SPaul Handrigan 33fb6f8069SPaul Handrigan #define CS4265_SIG_SEL 0x6 34fb6f8069SPaul Handrigan #define CS4265_SIG_SEL_LOOP (1 << 1) 35fb6f8069SPaul Handrigan 36fb6f8069SPaul Handrigan #define CS4265_CHB_PGA_CTL 0x7 37fb6f8069SPaul Handrigan #define CS4265_CHA_PGA_CTL 0x8 38fb6f8069SPaul Handrigan 39fb6f8069SPaul Handrigan #define CS4265_ADC_CTL2 0x9 40fb6f8069SPaul Handrigan 41fb6f8069SPaul Handrigan #define CS4265_DAC_CHA_VOL 0xA 42fb6f8069SPaul Handrigan #define CS4265_DAC_CHB_VOL 0xB 43fb6f8069SPaul Handrigan 44fb6f8069SPaul Handrigan #define CS4265_DAC_CTL2 0xC 45fb6f8069SPaul Handrigan 46fb6f8069SPaul Handrigan #define CS4265_INT_STATUS 0xD 47fb6f8069SPaul Handrigan #define CS4265_INT_MASK 0xE 48fb6f8069SPaul Handrigan #define CS4265_STATUS_MODE_MSB 0xF 49fb6f8069SPaul Handrigan #define CS4265_STATUS_MODE_LSB 0x10 50fb6f8069SPaul Handrigan 51fb6f8069SPaul Handrigan #define CS4265_SPDIF_CTL1 0x11 52fb6f8069SPaul Handrigan 53fb6f8069SPaul Handrigan #define CS4265_SPDIF_CTL2 0x12 54fb6f8069SPaul Handrigan #define CS4265_SPDIF_CTL2_MUTE (1 << 4) 55fb6f8069SPaul Handrigan #define CS4265_SPDIF_CTL2_DIF (3 << 6) 56fb6f8069SPaul Handrigan 57fb6f8069SPaul Handrigan #define CS4265_C_DATA_BUFF 0x13 58fb6f8069SPaul Handrigan #define CS4265_MAX_REGISTER 0x2A 59fb6f8069SPaul Handrigan 60fb6f8069SPaul Handrigan #endif 61