Home
last modified time | relevance | path

Searched refs:cs42l43 (Results 1 – 10 of 10) sorted by relevance

/linux/drivers/mfd/
H A Dcs42l43.c285 struct cs42l43 *cs42l43 = dev_get_drvdata(dev); in cs42l43_readable_register() local
409 return cs42l43->variant_id == CS42L43_DEVID_VAL; // regs only in CS42L43 variant in cs42l43_readable_register()
413 return cs42l43->variant_id == CS42L43B_DEVID_VAL; // regs only in CS42L43B variant in cs42l43_readable_register()
552 static int cs42l43_soft_reset(struct cs42l43 *cs42l43) in cs42l43_soft_reset() argument
558 reinit_completion(&cs42l43->device_detach); in cs42l43_soft_reset()
564 regcache_cache_only(cs42l43->regmap, true); in cs42l43_soft_reset()
565 regmap_multi_reg_write_bypassed(cs42l43->regmap, reset, ARRAY_SIZE(reset)); in cs42l43_soft_reset()
569 if (cs42l43->sdw) { in cs42l43_soft_reset()
573 time = wait_for_completion_timeout(&cs42l43->device_detach, timeout); in cs42l43_soft_reset()
575 dev_err(cs42l43->dev, "Timed out waiting for device detach\n"); in cs42l43_soft_reset()
[all …]
H A Dcs42l43-sdw.c94 struct cs42l43 *cs42l43 = dev_get_drvdata(&sdw->dev); in cs42l43_sdw_update_status() local
98 dev_dbg(cs42l43->dev, "Device attach\n"); in cs42l43_sdw_update_status()
104 dev_dbg(cs42l43->dev, "Device detach\n"); in cs42l43_sdw_update_status()
106 complete(&cs42l43->device_detach); in cs42l43_sdw_update_status()
135 struct cs42l43 *cs42l43 = dev_get_drvdata(&sdw->dev); in cs42l43_sdw_bus_config() local
138 mutex_lock(&cs42l43->pll_lock); in cs42l43_sdw_bus_config()
140 if (cs42l43->sdw_freq != params->curr_dr_freq / 2) { in cs42l43_sdw_bus_config()
141 if (cs42l43->sdw_pll_active) { in cs42l43_sdw_bus_config()
142 dev_err(cs42l43->dev, in cs42l43_sdw_bus_config()
146 cs42l43->sdw_freq = params->curr_dr_freq / 2; in cs42l43_sdw_bus_config()
[all …]
H A Dcs42l43-i2c.c39 struct cs42l43 *cs42l43; in cs42l43_i2c_probe() local
41 cs42l43 = devm_kzalloc(&i2c->dev, sizeof(*cs42l43), GFP_KERNEL); in cs42l43_i2c_probe()
42 if (!cs42l43) in cs42l43_i2c_probe()
45 cs42l43->dev = &i2c->dev; in cs42l43_i2c_probe()
46 cs42l43->irq = i2c->irq; in cs42l43_i2c_probe()
47 cs42l43->variant_id = (long)device_get_match_data(cs42l43->dev); in cs42l43_i2c_probe()
49 cs42l43->regmap = devm_regmap_init_i2c(i2c, &cs42l43_i2c_regmap); in cs42l43_i2c_probe()
50 if (IS_ERR(cs42l43->regmap)) in cs42l43_i2c_probe()
51 return dev_err_probe(cs42l43->dev, PTR_ERR(cs42l43->regmap), in cs42l43_i2c_probe()
54 return cs42l43_dev_probe(cs42l43); in cs42l43_i2c_probe()
H A DMakefile19 obj-$(CONFIG_MFD_CS42L43) += cs42l43.o
20 obj-$(CONFIG_MFD_CS42L43_I2C) += cs42l43-i2c.o
21 obj-$(CONFIG_MFD_CS42L43_SDW) += cs42l43-sdw.o
/linux/sound/soc/codecs/
H A Dcs42l43-jack.c51 struct cs42l43 *cs42l43 = priv->core; in cs42l43_find_index() local
54 ret = device_property_read_u32(cs42l43->dev, prop, &defval); in cs42l43_find_index()
75 struct cs42l43 *cs42l43 = priv->core; in cs42l43_apply_accdet_config() local
77 regmap_update_bits(cs42l43->regmap, CS42L43_HS_BIAS_SENSE_AND_CLAMP_AUTOCONTROL, in cs42l43_apply_accdet_config()
80 regmap_update_bits(cs42l43->regmap, CS42L43_PDNCNTL, in cs42l43_apply_accdet_config()
90 struct cs42l43 *cs42l43 = priv->core; in cs42l43_set_jack() local
115 ret = device_property_count_u32(cs42l43->dev, "cirrus,buttons-ohms"); in cs42l43_set_jack()
129 ret = device_property_read_u32_array(cs42l43->dev, "cirrus,buttons-ohms", in cs42l43_set_jack()
150 priv->bias_low = device_property_read_bool(cs42l43->dev, "cirrus,bias-low"); in cs42l43_set_jack()
169 if (!device_property_read_bool(cs42l43->dev, "cirrus,button-automute")) in cs42l43_set_jack()
[all …]
H A Dcs42l43.c206 struct cs42l43 *cs42l43 = priv->core; in cs42l43_hp_ilimit() local
228 regmap_update_bits(cs42l43->regmap, CS42L43_BLOCK_EN8, in cs42l43_hp_ilimit()
242 regmap_update_bits(cs42l43->regmap, CS42L43_BLOCK_EN8, in cs42l43_hp_ilimit()
334 struct cs42l43 *cs42l43 = priv->core; in cs42l43_startup() local
336 int provider = !dai->id || !!regmap_test_bits(cs42l43->regmap, in cs42l43_startup()
345 if (cs42l43->variant_id == CS42L43_DEVID_VAL && (dai->id == 3 || dai->id == 4)) { in cs42l43_startup()
387 struct cs42l43 *cs42l43 = priv->core; in cs42l43_set_sample_rate() local
397 regmap_update_bits(cs42l43->regmap, CS42L43_SAMPLE_RATE1, in cs42l43_set_sample_rate()
408 struct cs42l43 *cs42l43 = priv->core; in cs42l43_asp_hw_params() local
409 int dsp_mode = !!regmap_test_bits(cs42l43->regmap, CS42L43_ASP_CTRL, in cs42l43_asp_hw_params()
[all …]
/linux/drivers/spi/
H A Dspi-cs42l43.c19 #include <linux/mfd/cs42l43.h>
20 #include <linux/mfd/cs42l43-regs.h>
411 struct cs42l43 *cs42l43 = dev_get_drvdata(pdev->dev.parent); in cs42l43_spi_probe()
413 struct fwnode_handle *fwnode = dev_fwnode(cs42l43->dev); in cs42l43_spi_probe()
430 priv->regmap = cs42l43->regmap; in cs42l43_spi_probe()
537 { .name = "cs42l43-spi" },
544 .name = "cs42l43-spi",
314 struct cs42l43 *cs42l43 = dev_get_drvdata(pdev->dev.parent); cs42l43_spi_probe() local
/linux/drivers/pinctrl/cirrus/
H A DMakefile3 obj-$(CONFIG_PINCTRL_CS42L43) += pinctrl-cs42l43.o
/linux/include/linux/mfd/
H A Dcs42l43.h73 struct cs42l43 { struct
/linux/
H A DMAINTAINERS6253 F: drivers/mfd/cs42l43*
6254 F: drivers/pinctrl/cirrus/pinctrl-cs42l43*
6255 F: drivers/spi/spi-cs42l43*
6257 F: include/linux/mfd/cs42l43*