mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
76727c2c3b
The biggest thing this release has been the conversion of the AC98 bus to the driver model, that's been a long time coming so thanks to Robert Jarzmik for his dedication there. Due to there being some AC97 MFD there's a few fairly large changes in input and the MFD layer, mainly to the wm97xx driver. There's also some drivers/drm changes to support the new AMD Stoney platform, these are shared with the DRM subsystem and should be being merged via both. Within the subsystem the overwhelming bulk of the changes is in the Intel drivers which continue to need lots of cleanups and fixes, this release they've also gained support for their open source firmware. There's also some large changs in the core as Morimoto-san continues to mirror operations into the component level in preparation for conversion of drivers to that. - The AC97 bus has finally caught up with the driver model thanks to some dedicated and persistent work from Robert Jarzmik. - Continued work from Morimoto-san on moving us towards being able to use components for everything. - Lots of cleanups for the Intel platform code, including support for their open source audio firmware. - Support for scaling MCLK with sample rate in simple-card. - Support for AMD Stoney platform. -----BEGIN PGP SIGNATURE----- iQFHBAABCgAxFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAloJhwMTHGJyb29uaWVA a2VybmVsLm9yZwAKCRAk1otyXVSH0KzbB/9tXryXYz3dnKVlm9rk+Cq0Xy4TrUNk WY+Il+Di1b6CQJbAm9GSacJxR+siupZCjGC5roHznj/AA2l0RuxJXpxG40Db8ZX+ bDR7mIWtuTUJHazqXltafj9ydElRKVpOGPAi5YJhhW5bXQ3SR9fFy0D3mdcT02v4 SyMExhOMz+mdnuBhbWx9kqJ9LPzCs0ow+R4uoRgAQxpFXPBGtq06sMkK86lGfsl/ iRM36J6FIeIQQfSHG/dkkpoybVax43z4OH7G1IL2FOU7miwkjZh/TTh/xHTd86Mc OOuGu4hB+MjvccSOa9HSrOqFjxtkZipstwqYVWoYQcUoIVpcg0YRk7TG =5KBY -----END PGP SIGNATURE----- Merge tag 'asoc-v4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v4.15 The biggest thing this release has been the conversion of the AC98 bus to the driver model, that's been a long time coming so thanks to Robert Jarzmik for his dedication there. Due to there being some AC97 MFD there's a few fairly large changes in input and the MFD layer, mainly to the wm97xx driver. There's also some drivers/drm changes to support the new AMD Stoney platform, these are shared with the DRM subsystem and should be being merged via both. Within the subsystem the overwhelming bulk of the changes is in the Intel drivers which continue to need lots of cleanups and fixes, this release they've also gained support for their open source firmware. There's also some large changs in the core as Morimoto-san continues to mirror operations into the component level in preparation for conversion of drivers to that. - The AC97 bus has finally caught up with the driver model thanks to some dedicated and persistent work from Robert Jarzmik. - Continued work from Morimoto-san on moving us towards being able to use components for everything. - Lots of cleanups for the Intel platform code, including support for their open source audio firmware. - Support for scaling MCLK with sample rate in simple-card. - Support for AMD Stoney platform.
58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef XONAR_DG_H_INCLUDED
|
|
#define XONAR_DG_H_INCLUDED
|
|
|
|
#include "oxygen.h"
|
|
|
|
#define GPIO_MAGIC 0x0008
|
|
#define GPIO_HP_DETECT 0x0010
|
|
#define GPIO_INPUT_ROUTE 0x0060
|
|
#define GPIO_HP_REAR 0x0080
|
|
#define GPIO_OUTPUT_ENABLE 0x0100
|
|
|
|
#define CAPTURE_SRC_MIC 0
|
|
#define CAPTURE_SRC_FP_MIC 1
|
|
#define CAPTURE_SRC_LINE 2
|
|
#define CAPTURE_SRC_AUX 3
|
|
|
|
#define PLAYBACK_DST_HP 0
|
|
#define PLAYBACK_DST_HP_FP 1
|
|
#define PLAYBACK_DST_MULTICH 2
|
|
|
|
enum cs4245_shadow_operation {
|
|
CS4245_SAVE_TO_SHADOW,
|
|
CS4245_LOAD_FROM_SHADOW
|
|
};
|
|
|
|
struct dg {
|
|
/* shadow copy of the CS4245 register space */
|
|
unsigned char cs4245_shadow[17];
|
|
/* output select: headphone/speakers */
|
|
unsigned char output_sel;
|
|
/* volumes for all capture sources */
|
|
char input_vol[4][2];
|
|
/* input select: mic/fp mic/line/aux */
|
|
unsigned char input_sel;
|
|
};
|
|
|
|
/* Xonar DG control routines */
|
|
int cs4245_write_spi(struct oxygen *chip, u8 reg);
|
|
int cs4245_read_spi(struct oxygen *chip, u8 reg);
|
|
int cs4245_shadow_control(struct oxygen *chip, enum cs4245_shadow_operation op);
|
|
void dg_init(struct oxygen *chip);
|
|
void set_cs4245_dac_params(struct oxygen *chip,
|
|
struct snd_pcm_hw_params *params);
|
|
void set_cs4245_adc_params(struct oxygen *chip,
|
|
struct snd_pcm_hw_params *params);
|
|
unsigned int adjust_dg_dac_routing(struct oxygen *chip,
|
|
unsigned int play_routing);
|
|
void dump_cs4245_registers(struct oxygen *chip,
|
|
struct snd_info_buffer *buffer);
|
|
void dg_suspend(struct oxygen *chip);
|
|
void dg_resume(struct oxygen *chip);
|
|
void dg_cleanup(struct oxygen *chip);
|
|
|
|
extern const struct oxygen_model model_xonar_dg;
|
|
|
|
#endif
|