#ifndef __MFD_CS40L50_H__
#define __MFD_CS40L50_H__
#include <linux/firmware/cirrus/cs_dsp.h>
#include <linux/gpio/consumer.h>
#include <linux/pm.h>
#include <linux/regmap.h>
#define CS40L50_BLOCK_ENABLES2 …
#define CS40L50_ERR_RLS …
#define CS40L50_BST_LPMODE_SEL …
#define CS40L50_DCM_LOW_POWER …
#define CS40L50_OVERTEMP_WARN …
#define CS40L50_IRQ1_INT_1 …
#define CS40L50_IRQ1_BASE …
#define CS40L50_IRQ1_INT_2 …
#define CS40L50_IRQ1_INT_8 …
#define CS40L50_IRQ1_INT_9 …
#define CS40L50_IRQ1_INT_10 …
#define CS40L50_IRQ1_INT_18 …
#define CS40L50_IRQ1_MASK_1 …
#define CS40L50_IRQ1_MASK_2 …
#define CS40L50_IRQ1_MASK_20 …
#define CS40L50_IRQ1_INT_1_OFFSET …
#define CS40L50_IRQ1_INT_2_OFFSET …
#define CS40L50_IRQ1_INT_8_OFFSET …
#define CS40L50_IRQ1_INT_9_OFFSET …
#define CS40L50_IRQ1_INT_10_OFFSET …
#define CS40L50_IRQ1_INT_18_OFFSET …
#define CS40L50_IRQ_MASK_2_OVERRIDE …
#define CS40L50_IRQ_MASK_20_OVERRIDE …
#define CS40L50_AMP_SHORT_MASK …
#define CS40L50_DSP_QUEUE_MASK …
#define CS40L50_TEMP_ERR_MASK …
#define CS40L50_BST_UVP_MASK …
#define CS40L50_BST_SHORT_MASK …
#define CS40L50_BST_ILIMIT_MASK …
#define CS40L50_UVLO_VDDBATT_MASK …
#define CS40L50_GLOBAL_ERROR_MASK …
enum cs40l50_irq_list { … };
#define CS40L50_XMEM_PACKED_0 …
#define CS40L50_XMEM_UNPACKED24_0 …
#define CS40L50_SYS_INFO_ID …
#define CS40L50_DSP_QUEUE_WT …
#define CS40L50_DSP_QUEUE_RD …
#define CS40L50_NUM_WAVES …
#define CS40L50_CORE_BASE …
#define CS40L50_YMEM_PACKED_0 …
#define CS40L50_YMEM_UNPACKED24_0 …
#define CS40L50_PMEM_0 …
#define CS40L50_DSP_POLL_US …
#define CS40L50_DSP_TIMEOUT_COUNT …
#define CS40L50_RESET_PULSE_US …
#define CS40L50_CP_READY_US …
#define CS40L50_AUTOSUSPEND_MS …
#define CS40L50_PM_ALGO …
#define CS40L50_GLOBAL_ERR_RLS_SET …
#define CS40L50_GLOBAL_ERR_RLS_CLEAR …
enum cs40l50_wseqs { … };
#define CS40L50_DSP_QUEUE_BASE …
#define CS40L50_DSP_QUEUE_END …
#define CS40L50_DSP_QUEUE …
#define CS40L50_PREVENT_HIBER …
#define CS40L50_ALLOW_HIBER …
#define CS40L50_SHUTDOWN …
#define CS40L50_SYSTEM_RESET …
#define CS40L50_START_I2S …
#define CS40L50_OWT_PUSH …
#define CS40L50_STOP_PLAYBACK …
#define CS40L50_OWT_DELETE …
#define CS40L50_FW …
#define CS40L50_WT …
#define CS40L50_DEVID …
#define CS40L50_REVID …
#define CS40L50_DEVID_A …
#define CS40L50_REVID_B0 …
struct cs40l50 { … };
int cs40l50_dsp_write(struct device *dev, struct regmap *regmap, u32 val);
int cs40l50_probe(struct cs40l50 *cs40l50);
int cs40l50_remove(struct cs40l50 *cs40l50);
extern const struct regmap_config cs40l50_regmap;
extern const struct dev_pm_ops cs40l50_pm_ops;
#endif