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