diff options
Diffstat (limited to 'sound/soc/codecs/sigmadsp.h')
| -rw-r--r-- | sound/soc/codecs/sigmadsp.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sound/soc/codecs/sigmadsp.h b/sound/soc/codecs/sigmadsp.h new file mode 100644 index 00000000000..c47cd23e982 --- /dev/null +++ b/sound/soc/codecs/sigmadsp.h @@ -0,0 +1,41 @@ +/* + * Load firmware files from Analog Devices SigmaStudio + * + * Copyright 2009-2011 Analog Devices Inc. + * + * Licensed under the GPL-2 or later. + */ + +#ifndef __SIGMA_FIRMWARE_H__ +#define __SIGMA_FIRMWARE_H__ + +#include <linux/device.h> +#include <linux/regmap.h> + +struct sigma_action { + u8 instr; + u8 len_hi; + __le16 len; + __be16 addr; + unsigned char payload[]; +} __packed; + +struct sigma_firmware { + const struct firmware *fw; + size_t pos; + + void *control_data; + int (*write)(void *control_data, const struct sigma_action *sa, + size_t len); +}; + +int _process_sigma_firmware(struct device *dev, + struct sigma_firmware *ssfw, const char *name); + +struct i2c_client; + +extern int process_sigma_firmware(struct i2c_client *client, const char *name); +extern int process_sigma_firmware_regmap(struct device *dev, + struct regmap *regmap, const char *name); + +#endif |
