| /linux/drivers/mfd/ |
| H A D | cs42l43.c | 285 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 D | cs42l43-sdw.c | 94 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 D | cs42l43-i2c.c | 39 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 D | Makefile | 19 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 D | cs42l43-jack.c | 51 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 D | cs42l43.c | 206 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 D | spi-cs42l43.c | 19 #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 D | Makefile | 3 obj-$(CONFIG_PINCTRL_CS42L43) += pinctrl-cs42l43.o
|
| /linux/include/linux/mfd/ |
| H A D | cs42l43.h | 73 struct cs42l43 { struct
|
| /linux/ |
| H A D | MAINTAINERS | 6253 F: drivers/mfd/cs42l43* 6254 F: drivers/pinctrl/cirrus/pinctrl-cs42l43* 6255 F: drivers/spi/spi-cs42l43* 6257 F: include/linux/mfd/cs42l43*
|