Merge branches 'regmap-core', 'regmap-stride', 'regmap-mmio' and 'regmap-irq' into regmap-next
This commit is contained in:
commit
06e65cb322
1532 changed files with 19078 additions and 10364 deletions
|
|
@ -80,6 +80,7 @@ struct da9052 {
|
|||
struct regmap *regmap;
|
||||
|
||||
int irq_base;
|
||||
struct regmap_irq_chip_data *irq_data;
|
||||
u8 chip_id;
|
||||
|
||||
int chip_irq;
|
||||
|
|
|
|||
|
|
@ -8,70 +8,6 @@
|
|||
#ifndef __MFD_DB5500_PRCMU_H
|
||||
#define __MFD_DB5500_PRCMU_H
|
||||
|
||||
#ifdef CONFIG_MFD_DB5500_PRCMU
|
||||
|
||||
void db5500_prcmu_early_init(void);
|
||||
int db5500_prcmu_set_epod(u16 epod_id, u8 epod_state);
|
||||
int db5500_prcmu_set_display_clocks(void);
|
||||
int db5500_prcmu_disable_dsipll(void);
|
||||
int db5500_prcmu_enable_dsipll(void);
|
||||
int db5500_prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size);
|
||||
int db5500_prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size);
|
||||
void db5500_prcmu_enable_wakeups(u32 wakeups);
|
||||
int db5500_prcmu_request_clock(u8 clock, bool enable);
|
||||
void db5500_prcmu_config_abb_event_readout(u32 abb_events);
|
||||
void db5500_prcmu_get_abb_event_buffer(void __iomem **buf);
|
||||
int prcmu_resetout(u8 resoutn, u8 state);
|
||||
int db5500_prcmu_set_power_state(u8 state, bool keep_ulp_clk,
|
||||
bool keep_ap_pll);
|
||||
int db5500_prcmu_config_esram0_deep_sleep(u8 state);
|
||||
void db5500_prcmu_system_reset(u16 reset_code);
|
||||
u16 db5500_prcmu_get_reset_code(void);
|
||||
bool db5500_prcmu_is_ac_wake_requested(void);
|
||||
int db5500_prcmu_set_arm_opp(u8 opp);
|
||||
int db5500_prcmu_get_arm_opp(void);
|
||||
|
||||
#else /* !CONFIG_UX500_SOC_DB5500 */
|
||||
|
||||
static inline void db5500_prcmu_early_init(void) {}
|
||||
|
||||
static inline int db5500_prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_request_clock(u8 clock, bool enable)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_set_display_clocks(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_disable_dsipll(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_enable_dsipll(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_config_esram0_deep_sleep(u8 state)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void db5500_prcmu_enable_wakeups(u32 wakeups) {}
|
||||
|
||||
static inline int prcmu_resetout(u8 resoutn, u8 state)
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -82,8 +18,10 @@ static inline int db5500_prcmu_set_epod(u16 epod_id, u8 epod_state)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline void db5500_prcmu_get_abb_event_buffer(void __iomem **buf) {}
|
||||
static inline void db5500_prcmu_config_abb_event_readout(u32 abb_events) {}
|
||||
static inline int db5500_prcmu_request_clock(u8 clock, bool enable)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_set_power_state(u8 state, bool keep_ulp_clk,
|
||||
bool keep_ap_pll)
|
||||
|
|
@ -91,7 +29,10 @@ static inline int db5500_prcmu_set_power_state(u8 state, bool keep_ulp_clk,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline void db5500_prcmu_system_reset(u16 reset_code) {}
|
||||
static inline int db5500_prcmu_config_esram0_deep_sleep(u8 state)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline u16 db5500_prcmu_get_reset_code(void)
|
||||
{
|
||||
|
|
@ -113,6 +54,51 @@ static inline int db5500_prcmu_get_arm_opp(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline void db5500_prcmu_config_abb_event_readout(u32 abb_events) {}
|
||||
|
||||
static inline void db5500_prcmu_get_abb_event_buffer(void __iomem **buf) {}
|
||||
|
||||
static inline void db5500_prcmu_system_reset(u16 reset_code) {}
|
||||
|
||||
static inline void db5500_prcmu_enable_wakeups(u32 wakeups) {}
|
||||
|
||||
#ifdef CONFIG_MFD_DB5500_PRCMU
|
||||
|
||||
void db5500_prcmu_early_init(void);
|
||||
int db5500_prcmu_set_display_clocks(void);
|
||||
int db5500_prcmu_disable_dsipll(void);
|
||||
int db5500_prcmu_enable_dsipll(void);
|
||||
int db5500_prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size);
|
||||
int db5500_prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size);
|
||||
|
||||
#else /* !CONFIG_UX500_SOC_DB5500 */
|
||||
|
||||
static inline void db5500_prcmu_early_init(void) {}
|
||||
|
||||
static inline int db5500_prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_set_display_clocks(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_disable_dsipll(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int db5500_prcmu_enable_dsipll(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_MFD_DB5500_PRCMU */
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/regmap.h>
|
||||
|
||||
#define RC5T583_MAX_REGS 0xF8
|
||||
|
||||
|
|
@ -279,14 +280,44 @@ struct rc5t583_platform_data {
|
|||
bool enable_shutdown;
|
||||
};
|
||||
|
||||
int rc5t583_write(struct device *dev, u8 reg, uint8_t val);
|
||||
int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val);
|
||||
int rc5t583_set_bits(struct device *dev, unsigned int reg,
|
||||
unsigned int bit_mask);
|
||||
int rc5t583_clear_bits(struct device *dev, unsigned int reg,
|
||||
unsigned int bit_mask);
|
||||
int rc5t583_update(struct device *dev, unsigned int reg,
|
||||
unsigned int val, unsigned int mask);
|
||||
static inline int rc5t583_write(struct device *dev, uint8_t reg, uint8_t val)
|
||||
{
|
||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||
return regmap_write(rc5t583->regmap, reg, val);
|
||||
}
|
||||
|
||||
static inline int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val)
|
||||
{
|
||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||
unsigned int ival;
|
||||
int ret;
|
||||
ret = regmap_read(rc5t583->regmap, reg, &ival);
|
||||
if (!ret)
|
||||
*val = (uint8_t)ival;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline int rc5t583_set_bits(struct device *dev, unsigned int reg,
|
||||
unsigned int bit_mask)
|
||||
{
|
||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||
return regmap_update_bits(rc5t583->regmap, reg, bit_mask, bit_mask);
|
||||
}
|
||||
|
||||
static inline int rc5t583_clear_bits(struct device *dev, unsigned int reg,
|
||||
unsigned int bit_mask)
|
||||
{
|
||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||
return regmap_update_bits(rc5t583->regmap, reg, bit_mask, 0);
|
||||
}
|
||||
|
||||
static inline int rc5t583_update(struct device *dev, unsigned int reg,
|
||||
unsigned int val, unsigned int mask)
|
||||
{
|
||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||
return regmap_update_bits(rc5t583->regmap, reg, mask, val);
|
||||
}
|
||||
|
||||
int rc5t583_ext_power_req_config(struct device *dev, int deepsleep_id,
|
||||
int ext_pwr_req, int deepsleep_slot_nr);
|
||||
int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base);
|
||||
|
|
|
|||
|
|
@ -174,8 +174,35 @@
|
|||
#define TWL6040_SYSCLK_SEL_LPPLL 0
|
||||
#define TWL6040_SYSCLK_SEL_HPPLL 1
|
||||
|
||||
struct twl6040_codec_data {
|
||||
u16 hs_left_step;
|
||||
u16 hs_right_step;
|
||||
u16 hf_left_step;
|
||||
u16 hf_right_step;
|
||||
};
|
||||
|
||||
struct twl6040_vibra_data {
|
||||
unsigned int vibldrv_res; /* left driver resistance */
|
||||
unsigned int vibrdrv_res; /* right driver resistance */
|
||||
unsigned int viblmotor_res; /* left motor resistance */
|
||||
unsigned int vibrmotor_res; /* right motor resistance */
|
||||
int vddvibl_uV; /* VDDVIBL volt, set 0 for fixed reg */
|
||||
int vddvibr_uV; /* VDDVIBR volt, set 0 for fixed reg */
|
||||
};
|
||||
|
||||
struct twl6040_platform_data {
|
||||
int audpwron_gpio; /* audio power-on gpio */
|
||||
unsigned int irq_base;
|
||||
|
||||
struct twl6040_codec_data *codec;
|
||||
struct twl6040_vibra_data *vibra;
|
||||
};
|
||||
|
||||
struct regmap;
|
||||
|
||||
struct twl6040 {
|
||||
struct device *dev;
|
||||
struct regmap *regmap;
|
||||
struct mutex mutex;
|
||||
struct mutex io_mutex;
|
||||
struct mutex irq_mutex;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue