Symbol: madera
drivers/gpio/gpio-madera.c
119
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
drivers/gpio/gpio-madera.c
120
struct madera_pdata *pdata = &madera->pdata;
drivers/gpio/gpio-madera.c
129
madera_gpio->madera = madera;
drivers/gpio/gpio-madera.c
135
switch (madera->type) {
drivers/gpio/gpio-madera.c
156
dev_err(&pdev->dev, "Unknown chip variant %d\n", madera->type);
drivers/gpio/gpio-madera.c
18
struct madera *madera;
drivers/gpio/gpio-madera.c
27
struct madera *madera = madera_gpio->madera;
drivers/gpio/gpio-madera.c
32
ret = regmap_read(madera->regmap, MADERA_GPIO1_CTRL_2 + reg_offset,
drivers/gpio/gpio-madera.c
46
struct madera *madera = madera_gpio->madera;
drivers/gpio/gpio-madera.c
49
return regmap_update_bits(madera->regmap,
drivers/gpio/gpio-madera.c
57
struct madera *madera = madera_gpio->madera;
drivers/gpio/gpio-madera.c
62
ret = regmap_read(madera->regmap, MADERA_GPIO1_CTRL_1 + reg_offset,
drivers/gpio/gpio-madera.c
74
struct madera *madera = madera_gpio->madera;
drivers/gpio/gpio-madera.c
79
ret = regmap_update_bits(madera->regmap,
drivers/gpio/gpio-madera.c
85
return regmap_update_bits(madera->regmap,
drivers/gpio/gpio-madera.c
94
struct madera *madera = madera_gpio->madera;
drivers/gpio/gpio-madera.c
98
return regmap_update_bits(madera->regmap,
drivers/irqchip/irq-madera.c
101
struct madera *madera = dev_get_drvdata(dev->parent);
drivers/irqchip/irq-madera.c
103
dev_dbg(madera->irq_dev, "Suspend, disabling IRQ\n");
drivers/irqchip/irq-madera.c
110
disable_irq(madera->irq);
drivers/irqchip/irq-madera.c
117
struct madera *madera = dev_get_drvdata(dev->parent);
drivers/irqchip/irq-madera.c
119
dev_dbg(madera->irq_dev, "No IRQ suspend, reenabling IRQ\n");
drivers/irqchip/irq-madera.c
122
enable_irq(madera->irq);
drivers/irqchip/irq-madera.c
129
struct madera *madera = dev_get_drvdata(dev->parent);
drivers/irqchip/irq-madera.c
131
dev_dbg(madera->irq_dev, "No IRQ resume, disabling IRQ\n");
drivers/irqchip/irq-madera.c
137
disable_irq(madera->irq);
drivers/irqchip/irq-madera.c
144
struct madera *madera = dev_get_drvdata(dev->parent);
drivers/irqchip/irq-madera.c
146
dev_dbg(madera->irq_dev, "Resume, reenabling IRQ\n");
drivers/irqchip/irq-madera.c
149
enable_irq(madera->irq);
drivers/irqchip/irq-madera.c
163
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
drivers/irqchip/irq-madera.c
174
irq_flags = madera->pdata.irq_flags;
drivers/irqchip/irq-madera.c
176
irq_data = irq_get_irq_data(madera->irq);
drivers/irqchip/irq-madera.c
178
dev_err(&pdev->dev, "Invalid IRQ: %d\n", madera->irq);
drivers/irqchip/irq-madera.c
199
ret = regmap_update_bits(madera->regmap, MADERA_IRQ1_CTRL,
drivers/irqchip/irq-madera.c
212
ret = regmap_add_irq_chip(madera->regmap, madera->irq, IRQF_ONESHOT, 0,
drivers/irqchip/irq-madera.c
213
&madera_irq_chip, &madera->irq_data);
drivers/irqchip/irq-madera.c
220
madera->irq_dev = &pdev->dev;
drivers/irqchip/irq-madera.c
227
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
drivers/irqchip/irq-madera.c
233
madera->irq_dev = NULL;
drivers/irqchip/irq-madera.c
234
regmap_del_irq_chip(madera->irq, madera->irq_data);
drivers/mfd/cs47l15-tables.c
31
int cs47l15_patch(struct madera *madera)
drivers/mfd/cs47l15-tables.c
35
ret = regmap_register_patch(madera->regmap,
drivers/mfd/cs47l15-tables.c
39
dev_err(madera->dev,
drivers/mfd/cs47l35-tables.c
51
int cs47l35_patch(struct madera *madera)
drivers/mfd/cs47l35-tables.c
55
ret = regmap_register_patch(madera->regmap, cs47l35_reva_16_patch,
drivers/mfd/cs47l35-tables.c
58
dev_err(madera->dev, "Error applying patch: %d\n", ret);
drivers/mfd/cs47l85-tables.c
311
int cs47l85_patch(struct madera *madera)
drivers/mfd/cs47l85-tables.c
318
switch (madera->rev) {
drivers/mfd/cs47l85-tables.c
336
ret = regmap_register_patch(madera->regmap, patch16, num16);
drivers/mfd/cs47l85-tables.c
338
dev_err(madera->dev,
drivers/mfd/cs47l85-tables.c
343
ret = regmap_register_patch(madera->regmap_32bit, patch32, num32);
drivers/mfd/cs47l85-tables.c
345
dev_err(madera->dev,
drivers/mfd/cs47l90-tables.c
54
int cs47l90_patch(struct madera *madera)
drivers/mfd/cs47l90-tables.c
58
ret = regmap_register_patch(madera->regmap,
drivers/mfd/cs47l90-tables.c
62
dev_err(madera->dev,
drivers/mfd/cs47l92-tables.c
100
dev_err(madera->dev,
drivers/mfd/cs47l92-tables.c
105
ret = regmap_register_patch(madera->regmap_32bit,
drivers/mfd/cs47l92-tables.c
109
dev_err(madera->dev,
drivers/mfd/cs47l92-tables.c
92
int cs47l92_patch(struct madera *madera)
drivers/mfd/cs47l92-tables.c
96
ret = regmap_register_patch(madera->regmap,
drivers/mfd/madera-core.c
210
static int madera_wait_for_boot_noack(struct madera *madera)
drivers/mfd/madera-core.c
224
regmap_read(madera->regmap, MADERA_IRQ1_RAW_STATUS_1, &val);
drivers/mfd/madera-core.c
229
regmap_read(madera->regmap, MADERA_IRQ1_RAW_STATUS_1, &val);
drivers/mfd/madera-core.c
233
dev_err(madera->dev, "Polling BOOT_DONE_STS timed out\n");
drivers/mfd/madera-core.c
240
static int madera_wait_for_boot(struct madera *madera)
drivers/mfd/madera-core.c
242
int ret = madera_wait_for_boot_noack(madera);
drivers/mfd/madera-core.c
248
regmap_write(madera->regmap, MADERA_IRQ1_STATUS_1,
drivers/mfd/madera-core.c
251
pm_runtime_mark_last_busy(madera->dev);
drivers/mfd/madera-core.c
256
static int madera_soft_reset(struct madera *madera)
drivers/mfd/madera-core.c
260
ret = regmap_write(madera->regmap, MADERA_SOFTWARE_RESET, 0);
drivers/mfd/madera-core.c
262
dev_err(madera->dev, "Failed to soft reset device: %d\n", ret);
drivers/mfd/madera-core.c
272
static void madera_enable_hard_reset(struct madera *madera)
drivers/mfd/madera-core.c
279
gpiod_set_raw_value_cansleep(madera->pdata.reset, 0);
drivers/mfd/madera-core.c
282
static void madera_disable_hard_reset(struct madera *madera)
drivers/mfd/madera-core.c
284
gpiod_set_raw_value_cansleep(madera->pdata.reset, 1);
drivers/mfd/madera-core.c
291
struct madera *madera = dev_get_drvdata(dev);
drivers/mfd/madera-core.c
296
if (!madera->reset_errata)
drivers/mfd/madera-core.c
297
madera_enable_hard_reset(madera);
drivers/mfd/madera-core.c
299
ret = regulator_enable(madera->dcvdd);
drivers/mfd/madera-core.c
305
regcache_cache_only(madera->regmap, false);
drivers/mfd/madera-core.c
306
regcache_cache_only(madera->regmap_32bit, false);
drivers/mfd/madera-core.c
308
if (madera->reset_errata)
drivers/mfd/madera-core.c
311
madera_disable_hard_reset(madera);
drivers/mfd/madera-core.c
313
if (!madera->pdata.reset || madera->reset_errata) {
drivers/mfd/madera-core.c
314
ret = madera_wait_for_boot(madera);
drivers/mfd/madera-core.c
318
ret = madera_soft_reset(madera);
drivers/mfd/madera-core.c
325
ret = madera_wait_for_boot(madera);
drivers/mfd/madera-core.c
329
ret = regcache_sync(madera->regmap);
drivers/mfd/madera-core.c
335
ret = regcache_sync(madera->regmap_32bit);
drivers/mfd/madera-core.c
344
regcache_cache_only(madera->regmap_32bit, true);
drivers/mfd/madera-core.c
345
regcache_cache_only(madera->regmap, true);
drivers/mfd/madera-core.c
346
regulator_disable(madera->dcvdd);
drivers/mfd/madera-core.c
353
struct madera *madera = dev_get_drvdata(dev);
drivers/mfd/madera-core.c
355
dev_dbg(madera->dev, "Entering sleep mode\n");
drivers/mfd/madera-core.c
357
regcache_cache_only(madera->regmap, true);
drivers/mfd/madera-core.c
358
regcache_mark_dirty(madera->regmap);
drivers/mfd/madera-core.c
359
regcache_cache_only(madera->regmap_32bit, true);
drivers/mfd/madera-core.c
360
regcache_mark_dirty(madera->regmap_32bit);
drivers/mfd/madera-core.c
362
regulator_disable(madera->dcvdd);
drivers/mfd/madera-core.c
389
static int madera_get_reset_gpio(struct madera *madera)
drivers/mfd/madera-core.c
393
if (madera->pdata.reset)
drivers/mfd/madera-core.c
396
reset = devm_gpiod_get_optional(madera->dev, "reset", GPIOD_OUT_LOW);
drivers/mfd/madera-core.c
398
return dev_err_probe(madera->dev, PTR_ERR(reset),
drivers/mfd/madera-core.c
407
dev_warn(madera->dev,
drivers/mfd/madera-core.c
410
madera->pdata.reset = reset;
drivers/mfd/madera-core.c
415
static void madera_set_micbias_info(struct madera *madera)
drivers/mfd/madera-core.c
421
switch (madera->type) {
drivers/mfd/madera-core.c
423
madera->num_micbias = 1;
drivers/mfd/madera-core.c
424
madera->num_childbias[0] = 3;
drivers/mfd/madera-core.c
427
madera->num_micbias = 2;
drivers/mfd/madera-core.c
428
madera->num_childbias[0] = 2;
drivers/mfd/madera-core.c
429
madera->num_childbias[1] = 2;
drivers/mfd/madera-core.c
433
madera->num_micbias = 4;
drivers/mfd/madera-core.c
438
madera->num_micbias = 2;
drivers/mfd/madera-core.c
439
madera->num_childbias[0] = 4;
drivers/mfd/madera-core.c
440
madera->num_childbias[1] = 4;
drivers/mfd/madera-core.c
445
madera->num_micbias = 2;
drivers/mfd/madera-core.c
446
madera->num_childbias[0] = 4;
drivers/mfd/madera-core.c
447
madera->num_childbias[1] = 2;
drivers/mfd/madera-core.c
454
int madera_dev_init(struct madera *madera)
drivers/mfd/madera-core.c
456
struct device *dev = madera->dev;
drivers/mfd/madera-core.c
458
int (*patch_fn)(struct madera *) = NULL;
drivers/mfd/madera-core.c
463
dev_set_drvdata(madera->dev, madera);
drivers/mfd/madera-core.c
464
BLOCKING_INIT_NOTIFIER_HEAD(&madera->notifier);
drivers/mfd/madera-core.c
465
mutex_init(&madera->dapm_ptr_lock);
drivers/mfd/madera-core.c
467
madera_set_micbias_info(madera);
drivers/mfd/madera-core.c
473
if (dev_get_platdata(madera->dev)) {
drivers/mfd/madera-core.c
474
memcpy(&madera->pdata, dev_get_platdata(madera->dev),
drivers/mfd/madera-core.c
475
sizeof(madera->pdata));
drivers/mfd/madera-core.c
478
madera->mclk[MADERA_MCLK1].id = "mclk1";
drivers/mfd/madera-core.c
479
madera->mclk[MADERA_MCLK2].id = "mclk2";
drivers/mfd/madera-core.c
480
madera->mclk[MADERA_MCLK3].id = "mclk3";
drivers/mfd/madera-core.c
482
ret = devm_clk_bulk_get_optional(madera->dev, ARRAY_SIZE(madera->mclk),
drivers/mfd/madera-core.c
483
madera->mclk);
drivers/mfd/madera-core.c
485
dev_err(madera->dev, "Failed to get clocks: %d\n", ret);
drivers/mfd/madera-core.c
490
if (!madera->mclk[MADERA_MCLK2].clk)
drivers/mfd/madera-core.c
491
dev_warn(madera->dev, "Missing MCLK2, requires 32kHz clock\n");
drivers/mfd/madera-core.c
493
ret = madera_get_reset_gpio(madera);
drivers/mfd/madera-core.c
497
regcache_cache_only(madera->regmap, true);
drivers/mfd/madera-core.c
498
regcache_cache_only(madera->regmap_32bit, true);
drivers/mfd/madera-core.c
501
madera->core_supplies[i].supply = madera_core_supplies[i];
drivers/mfd/madera-core.c
503
madera->num_core_supplies = ARRAY_SIZE(madera_core_supplies);
drivers/mfd/madera-core.c
510
switch (madera->type) {
drivers/mfd/madera-core.c
512
madera->reset_errata = true;
drivers/mfd/madera-core.c
523
ret = mfd_add_devices(madera->dev, PLATFORM_DEVID_NONE,
drivers/mfd/madera-core.c
534
dev_err(madera->dev, "Unknown device type %d\n", madera->type);
drivers/mfd/madera-core.c
538
ret = devm_regulator_bulk_get(dev, madera->num_core_supplies,
drivers/mfd/madera-core.c
539
madera->core_supplies);
drivers/mfd/madera-core.c
550
madera->dcvdd = regulator_get(madera->dev, "DCVDD");
drivers/mfd/madera-core.c
551
if (IS_ERR(madera->dcvdd)) {
drivers/mfd/madera-core.c
552
ret = PTR_ERR(madera->dcvdd);
drivers/mfd/madera-core.c
557
ret = regulator_bulk_enable(madera->num_core_supplies,
drivers/mfd/madera-core.c
558
madera->core_supplies);
drivers/mfd/madera-core.c
564
if (madera->reset_errata)
drivers/mfd/madera-core.c
565
madera_disable_hard_reset(madera);
drivers/mfd/madera-core.c
567
ret = regulator_enable(madera->dcvdd);
drivers/mfd/madera-core.c
573
if (madera->reset_errata)
drivers/mfd/madera-core.c
576
madera_disable_hard_reset(madera);
drivers/mfd/madera-core.c
578
regcache_cache_only(madera->regmap, false);
drivers/mfd/madera-core.c
579
regcache_cache_only(madera->regmap_32bit, false);
drivers/mfd/madera-core.c
581
ret = madera_wait_for_boot_noack(madera);
drivers/mfd/madera-core.c
583
dev_err(madera->dev, "Device failed initial boot: %d\n", ret);
drivers/mfd/madera-core.c
591
ret = regmap_read(madera->regmap, MADERA_SOFTWARE_RESET, &hwid);
drivers/mfd/madera-core.c
600
switch (madera->type) {
drivers/mfd/madera-core.c
613
switch (madera->type) {
drivers/mfd/madera-core.c
626
switch (madera->type) {
drivers/mfd/madera-core.c
640
switch (madera->type) {
drivers/mfd/madera-core.c
654
switch (madera->type) {
drivers/mfd/madera-core.c
668
dev_err(madera->dev, "Unknown device ID: %x\n", hwid);
drivers/mfd/madera-core.c
674
dev_err(madera->dev, "Device ID 0x%x not a %s\n", hwid,
drivers/mfd/madera-core.c
675
madera->type_name);
drivers/mfd/madera-core.c
684
if (!madera->pdata.reset || madera->reset_errata) {
drivers/mfd/madera-core.c
685
ret = madera_soft_reset(madera);
drivers/mfd/madera-core.c
690
ret = madera_wait_for_boot(madera);
drivers/mfd/madera-core.c
692
dev_err(madera->dev, "Failed to clear boot done: %d\n", ret);
drivers/mfd/madera-core.c
696
ret = regmap_read(madera->regmap, MADERA_HARDWARE_REVISION,
drivers/mfd/madera-core.c
697
&madera->rev);
drivers/mfd/madera-core.c
702
madera->rev &= MADERA_HW_REVISION_MASK;
drivers/mfd/madera-core.c
704
dev_info(dev, "%s silicon revision %d\n", madera->type_name,
drivers/mfd/madera-core.c
705
madera->rev);
drivers/mfd/madera-core.c
709
ret = patch_fn(madera);
drivers/mfd/madera-core.c
711
dev_err(madera->dev, "Failed to apply patch %d\n", ret);
drivers/mfd/madera-core.c
717
ret = clk_prepare_enable(madera->mclk[MADERA_MCLK2].clk);
drivers/mfd/madera-core.c
719
dev_err(madera->dev, "Failed to enable 32k clock: %d\n", ret);
drivers/mfd/madera-core.c
723
ret = regmap_update_bits(madera->regmap,
drivers/mfd/madera-core.c
728
dev_err(madera->dev, "Failed to init 32k clock: %d\n", ret);
drivers/mfd/madera-core.c
732
pm_runtime_set_active(madera->dev);
drivers/mfd/madera-core.c
733
pm_runtime_enable(madera->dev);
drivers/mfd/madera-core.c
734
pm_runtime_set_autosuspend_delay(madera->dev, 100);
drivers/mfd/madera-core.c
735
pm_runtime_use_autosuspend(madera->dev);
drivers/mfd/madera-core.c
738
ret = mfd_add_devices(madera->dev, PLATFORM_DEVID_NONE,
drivers/mfd/madera-core.c
742
dev_err(madera->dev, "Failed to add subdevices: %d\n", ret);
drivers/mfd/madera-core.c
749
pm_runtime_disable(madera->dev);
drivers/mfd/madera-core.c
751
clk_disable_unprepare(madera->mclk[MADERA_MCLK2].clk);
drivers/mfd/madera-core.c
753
madera_enable_hard_reset(madera);
drivers/mfd/madera-core.c
754
regulator_disable(madera->dcvdd);
drivers/mfd/madera-core.c
756
regulator_bulk_disable(madera->num_core_supplies,
drivers/mfd/madera-core.c
757
madera->core_supplies);
drivers/mfd/madera-core.c
759
regulator_put(madera->dcvdd);
drivers/mfd/madera-core.c
767
int madera_dev_exit(struct madera *madera)
drivers/mfd/madera-core.c
770
disable_irq(madera->irq);
drivers/mfd/madera-core.c
772
pm_runtime_get_sync(madera->dev);
drivers/mfd/madera-core.c
774
mfd_remove_devices(madera->dev);
drivers/mfd/madera-core.c
776
pm_runtime_disable(madera->dev);
drivers/mfd/madera-core.c
778
regulator_disable(madera->dcvdd);
drivers/mfd/madera-core.c
779
regulator_put(madera->dcvdd);
drivers/mfd/madera-core.c
781
mfd_remove_devices_late(madera->dev);
drivers/mfd/madera-core.c
783
pm_runtime_set_suspended(madera->dev);
drivers/mfd/madera-core.c
784
pm_runtime_put_noidle(madera->dev);
drivers/mfd/madera-core.c
786
clk_disable_unprepare(madera->mclk[MADERA_MCLK2].clk);
drivers/mfd/madera-core.c
788
madera_enable_hard_reset(madera);
drivers/mfd/madera-core.c
790
regulator_bulk_disable(madera->num_core_supplies,
drivers/mfd/madera-core.c
791
madera->core_supplies);
drivers/mfd/madera-i2c.c
100
madera->type_name = name;
drivers/mfd/madera-i2c.c
101
madera->dev = &i2c->dev;
drivers/mfd/madera-i2c.c
102
madera->irq = i2c->irq;
drivers/mfd/madera-i2c.c
104
return madera_dev_init(madera);
drivers/mfd/madera-i2c.c
109
struct madera *madera = dev_get_drvdata(&i2c->dev);
drivers/mfd/madera-i2c.c
111
madera_dev_exit(madera);
drivers/mfd/madera-i2c.c
21
struct madera *madera;
drivers/mfd/madera-i2c.c
79
madera = devm_kzalloc(&i2c->dev, sizeof(*madera), GFP_KERNEL);
drivers/mfd/madera-i2c.c
80
if (!madera)
drivers/mfd/madera-i2c.c
83
madera->regmap = devm_regmap_init_i2c(i2c, regmap_16bit_config);
drivers/mfd/madera-i2c.c
84
if (IS_ERR(madera->regmap)) {
drivers/mfd/madera-i2c.c
85
ret = PTR_ERR(madera->regmap);
drivers/mfd/madera-i2c.c
91
madera->regmap_32bit = devm_regmap_init_i2c(i2c, regmap_32bit_config);
drivers/mfd/madera-i2c.c
92
if (IS_ERR(madera->regmap_32bit)) {
drivers/mfd/madera-i2c.c
93
ret = PTR_ERR(madera->regmap_32bit);
drivers/mfd/madera-i2c.c
99
madera->type = type;
drivers/mfd/madera-spi.c
100
madera->type_name = name;
drivers/mfd/madera-spi.c
101
madera->dev = &spi->dev;
drivers/mfd/madera-spi.c
102
madera->irq = spi->irq;
drivers/mfd/madera-spi.c
104
return madera_dev_init(madera);
drivers/mfd/madera-spi.c
109
struct madera *madera = spi_get_drvdata(spi);
drivers/mfd/madera-spi.c
111
madera_dev_exit(madera);
drivers/mfd/madera-spi.c
21
struct madera *madera;
drivers/mfd/madera-spi.c
79
madera = devm_kzalloc(&spi->dev, sizeof(*madera), GFP_KERNEL);
drivers/mfd/madera-spi.c
80
if (!madera)
drivers/mfd/madera-spi.c
83
madera->regmap = devm_regmap_init_spi(spi, regmap_16bit_config);
drivers/mfd/madera-spi.c
84
if (IS_ERR(madera->regmap)) {
drivers/mfd/madera-spi.c
85
ret = PTR_ERR(madera->regmap);
drivers/mfd/madera-spi.c
91
madera->regmap_32bit = devm_regmap_init_spi(spi, regmap_32bit_config);
drivers/mfd/madera-spi.c
92
if (IS_ERR(madera->regmap_32bit)) {
drivers/mfd/madera-spi.c
93
ret = PTR_ERR(madera->regmap_32bit);
drivers/mfd/madera-spi.c
99
madera->type = type;
drivers/mfd/madera.h
14
struct madera;
drivers/mfd/madera.h
19
int madera_dev_init(struct madera *madera);
drivers/mfd/madera.h
20
int madera_dev_exit(struct madera *madera);
drivers/mfd/madera.h
28
int cs47l15_patch(struct madera *madera);
drivers/mfd/madera.h
34
int cs47l35_patch(struct madera *madera);
drivers/mfd/madera.h
40
int cs47l85_patch(struct madera *madera);
drivers/mfd/madera.h
46
int cs47l90_patch(struct madera *madera);
drivers/mfd/madera.h
52
int cs47l92_patch(struct madera *madera);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
1000
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
1001
const struct madera_pdata *pdata = &madera->pdata;
drivers/pinctrl/cirrus/pinctrl-madera-core.c
1017
priv->madera = madera;
drivers/pinctrl/cirrus/pinctrl-madera-core.c
1019
switch (madera->type) {
drivers/pinctrl/cirrus/pinctrl-madera-core.c
525
ret = regmap_read(priv->madera->regmap, reg, &conf[0]);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
529
ret = regmap_read(priv->madera->regmap, reg + 1, &conf[1]);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
615
struct madera *madera = priv->madera;
drivers/pinctrl/cirrus/pinctrl-madera-core.c
644
ret = regmap_update_bits(madera->regmap, reg,
drivers/pinctrl/cirrus/pinctrl-madera-core.c
662
ret = regmap_update_bits(madera->regmap,
drivers/pinctrl/cirrus/pinctrl-madera-core.c
680
struct madera *madera = priv->madera;
drivers/pinctrl/cirrus/pinctrl-madera-core.c
690
ret = regmap_update_bits(madera->regmap, reg, MADERA_GP1_DIR_MASK, val);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
702
struct madera *madera = priv->madera;
drivers/pinctrl/cirrus/pinctrl-madera-core.c
707
ret = regmap_update_bits(madera->regmap, reg, MADERA_GP1_FN_MASK, 1);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
719
struct madera *madera = priv->madera;
drivers/pinctrl/cirrus/pinctrl-madera-core.c
726
ret = regmap_update_bits(madera->regmap, reg, MADERA_GP1_FN_MASK, 1);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
752
ret = regmap_read(priv->madera->regmap, reg, &conf[0]);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
754
ret = regmap_read(priv->madera->regmap, reg + 1, &conf[1]);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
928
ret = regmap_update_bits(priv->madera->regmap, reg, mask[0], conf[0]);
drivers/pinctrl/cirrus/pinctrl-madera-core.c
933
ret = regmap_update_bits(priv->madera->regmap, reg, mask[1], conf[1]);
drivers/pinctrl/cirrus/pinctrl-madera.h
25
struct madera *madera;
drivers/regulator/arizona-ldo1.c
352
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/arizona-ldo1.c
361
ldo1->regmap = madera->regmap;
drivers/regulator/arizona-ldo1.c
366
&madera->pdata.ldo1,
drivers/regulator/arizona-ldo1.c
371
madera->internal_dcvdd = !external_dcvdd;
drivers/regulator/arizona-micsupp.c
342
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/arizona-micsupp.c
349
micsupp->regmap = madera->regmap;
drivers/regulator/arizona-micsupp.c
350
micsupp->dapm = &madera->dapm;
drivers/regulator/arizona-micsupp.c
351
micsupp->dev = madera->dev;
drivers/regulator/arizona-micsupp.c
357
&madera->pdata.micvdd);
include/linux/irqchip/irq-madera.h
102
static inline int madera_request_irq(struct madera *madera, int irq,
include/linux/irqchip/irq-madera.h
106
irq = madera_get_irq_mapping(madera, irq);
include/linux/irqchip/irq-madera.h
114
static inline void madera_free_irq(struct madera *madera, int irq, void *data)
include/linux/irqchip/irq-madera.h
116
irq = madera_get_irq_mapping(madera, irq);
include/linux/irqchip/irq-madera.h
123
static inline int madera_set_irq_wake(struct madera *madera, int irq, int on)
include/linux/irqchip/irq-madera.h
125
irq = madera_get_irq_mapping(madera, irq);
include/linux/irqchip/irq-madera.h
94
static inline int madera_get_irq_mapping(struct madera *madera, int irq)
include/linux/irqchip/irq-madera.h
96
if (!madera->irq_dev)
include/linux/irqchip/irq-madera.h
99
return regmap_irq_get_virq(madera->irq_data, irq);
sound/soc/codecs/cs47l15.c
1244
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l15.c
1250
dev_err(madera->dev,
sound/soc/codecs/cs47l15.c
1263
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l15.c
1268
dev_err(madera->dev, "Spurious compressed data IRQ\n");
sound/soc/codecs/cs47l15.c
1283
struct madera *madera = cs47l15->core.madera;
sound/soc/codecs/cs47l15.c
1286
snd_soc_component_init_regmap(component, madera->regmap);
sound/soc/codecs/cs47l15.c
1288
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l15.c
1289
madera->dapm = snd_soc_component_to_dapm(component);
sound/soc/codecs/cs47l15.c
1290
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l15.c
1318
struct madera *madera = cs47l15->core.madera;
sound/soc/codecs/cs47l15.c
1320
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l15.c
1321
madera->dapm = NULL;
sound/soc/codecs/cs47l15.c
1322
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l15.c
1366
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
sound/soc/codecs/cs47l15.c
1373
if (!madera->irq_dev) {
sound/soc/codecs/cs47l15.c
1385
cs47l15->core.madera = madera;
sound/soc/codecs/cs47l15.c
1397
ret = madera_request_irq(madera, MADERA_IRQ_DSP_IRQ1,
sound/soc/codecs/cs47l15.c
1405
ret = madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 1);
sound/soc/codecs/cs47l15.c
1413
cs47l15->core.adsp[0].cs_dsp.dev = madera->dev;
sound/soc/codecs/cs47l15.c
1414
cs47l15->core.adsp[0].cs_dsp.regmap = madera->regmap_32bit;
sound/soc/codecs/cs47l15.c
1431
madera_init_fll(madera, 1, MADERA_FLL1_CONTROL_1 - 1,
sound/soc/codecs/cs47l15.c
1433
madera_init_fll(madera, 4, MADERA_FLLAO_CONTROL_1 - 1,
sound/soc/codecs/cs47l15.c
1441
regmap_update_bits(madera->regmap, cs47l15_digital_vu[i],
sound/soc/codecs/cs47l15.c
1464
madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l15.c
1465
madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l15);
sound/soc/codecs/cs47l15.c
1484
madera_set_irq_wake(cs47l15->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l15.c
1485
madera_free_irq(cs47l15->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l15);
sound/soc/codecs/cs47l15.c
75
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l15.c
79
ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_2, &freq);
sound/soc/codecs/cs47l15.c
81
dev_err(madera->dev,
sound/soc/codecs/cs47l35.c
1510
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l35.c
1518
dev_err(madera->dev,
sound/soc/codecs/cs47l35.c
1531
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l35.c
1542
blocking_notifier_call_chain(&madera->notifier,
sound/soc/codecs/cs47l35.c
1549
dev_err(madera->dev, "Spurious compressed data IRQ\n");
sound/soc/codecs/cs47l35.c
1564
struct madera *madera = cs47l35->core.madera;
sound/soc/codecs/cs47l35.c
1567
snd_soc_component_init_regmap(component, madera->regmap);
sound/soc/codecs/cs47l35.c
1569
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l35.c
1570
madera->dapm = snd_soc_component_to_dapm(component);
sound/soc/codecs/cs47l35.c
1571
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l35.c
1600
struct madera *madera = cs47l35->core.madera;
sound/soc/codecs/cs47l35.c
1603
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l35.c
1604
madera->dapm = NULL;
sound/soc/codecs/cs47l35.c
1605
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l35.c
1650
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
sound/soc/codecs/cs47l35.c
1657
if (!madera->irq_dev) {
sound/soc/codecs/cs47l35.c
1667
cs47l35->core.madera = madera;
sound/soc/codecs/cs47l35.c
1679
ret = madera_request_irq(madera, MADERA_IRQ_DSP_IRQ1,
sound/soc/codecs/cs47l35.c
1687
ret = madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 1);
sound/soc/codecs/cs47l35.c
1696
cs47l35->core.adsp[i].cs_dsp.dev = madera->dev;
sound/soc/codecs/cs47l35.c
1697
cs47l35->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit;
sound/soc/codecs/cs47l35.c
1712
madera_init_fll(madera, 1, MADERA_FLL1_CONTROL_1 - 1, &cs47l35->fll);
sound/soc/codecs/cs47l35.c
1719
regmap_update_bits(madera->regmap, cs47l35_digital_vu[i],
sound/soc/codecs/cs47l35.c
1742
madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l35.c
1743
madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l35);
sound/soc/codecs/cs47l35.c
1762
madera_set_irq_wake(cs47l35->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l35.c
1763
madera_free_irq(cs47l35->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l35);
sound/soc/codecs/cs47l35.c
93
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l35.c
97
ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_1, &freq);
sound/soc/codecs/cs47l35.c
99
dev_err(madera->dev,
sound/soc/codecs/cs47l85.c
117
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l85.c
121
ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_1, &freq);
sound/soc/codecs/cs47l85.c
123
dev_err(madera->dev,
sound/soc/codecs/cs47l85.c
2452
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l85.c
2460
dev_err(madera->dev,
sound/soc/codecs/cs47l85.c
2473
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l85.c
2484
blocking_notifier_call_chain(&madera->notifier,
sound/soc/codecs/cs47l85.c
2491
dev_err(madera->dev, "Spurious compressed data IRQ\n");
sound/soc/codecs/cs47l85.c
2502
struct madera *madera = cs47l85->core.madera;
sound/soc/codecs/cs47l85.c
2505
snd_soc_component_init_regmap(component, madera->regmap);
sound/soc/codecs/cs47l85.c
2507
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l85.c
2508
madera->dapm = snd_soc_component_to_dapm(component);
sound/soc/codecs/cs47l85.c
2509
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l85.c
2537
struct madera *madera = cs47l85->core.madera;
sound/soc/codecs/cs47l85.c
2540
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l85.c
2541
madera->dapm = NULL;
sound/soc/codecs/cs47l85.c
2542
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l85.c
2594
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
sound/soc/codecs/cs47l85.c
2601
if (!madera->irq_dev) {
sound/soc/codecs/cs47l85.c
2613
cs47l85->core.madera = madera;
sound/soc/codecs/cs47l85.c
2625
ret = madera_request_irq(madera, MADERA_IRQ_DSP_IRQ1,
sound/soc/codecs/cs47l85.c
2633
ret = madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 1);
sound/soc/codecs/cs47l85.c
2642
cs47l85->core.adsp[i].cs_dsp.dev = madera->dev;
sound/soc/codecs/cs47l85.c
2643
cs47l85->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit;
sound/soc/codecs/cs47l85.c
2658
madera_init_fll(madera, 1, MADERA_FLL1_CONTROL_1 - 1,
sound/soc/codecs/cs47l85.c
2660
madera_init_fll(madera, 2, MADERA_FLL2_CONTROL_1 - 1,
sound/soc/codecs/cs47l85.c
2662
madera_init_fll(madera, 3, MADERA_FLL3_CONTROL_1 - 1,
sound/soc/codecs/cs47l85.c
2670
regmap_update_bits(madera->regmap, cs47l85_digital_vu[i],
sound/soc/codecs/cs47l85.c
2693
madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l85.c
2694
madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l85);
sound/soc/codecs/cs47l85.c
2713
madera_set_irq_wake(cs47l85->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l85.c
2714
madera_free_irq(cs47l85->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l85);
sound/soc/codecs/cs47l90.c
117
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l90.c
121
ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_2, &freq);
sound/soc/codecs/cs47l90.c
123
dev_err(madera->dev,
sound/soc/codecs/cs47l90.c
2371
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l90.c
2379
dev_err(madera->dev,
sound/soc/codecs/cs47l90.c
2392
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l90.c
2403
blocking_notifier_call_chain(&madera->notifier,
sound/soc/codecs/cs47l90.c
2410
dev_err(madera->dev, "Spurious compressed data IRQ\n");
sound/soc/codecs/cs47l90.c
2421
struct madera *madera = cs47l90->core.madera;
sound/soc/codecs/cs47l90.c
2424
snd_soc_component_init_regmap(component, madera->regmap);
sound/soc/codecs/cs47l90.c
2426
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l90.c
2427
madera->dapm = snd_soc_component_to_dapm(component);
sound/soc/codecs/cs47l90.c
2428
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l90.c
2456
struct madera *madera = cs47l90->core.madera;
sound/soc/codecs/cs47l90.c
2459
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l90.c
2460
madera->dapm = NULL;
sound/soc/codecs/cs47l90.c
2461
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l90.c
2509
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
sound/soc/codecs/cs47l90.c
2516
if (!madera->irq_dev) {
sound/soc/codecs/cs47l90.c
2528
cs47l90->core.madera = madera;
sound/soc/codecs/cs47l90.c
2536
ret = madera_request_irq(madera, MADERA_IRQ_DSP_IRQ1,
sound/soc/codecs/cs47l90.c
2544
ret = madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 1);
sound/soc/codecs/cs47l90.c
2553
cs47l90->core.adsp[i].cs_dsp.dev = madera->dev;
sound/soc/codecs/cs47l90.c
2554
cs47l90->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit;
sound/soc/codecs/cs47l90.c
2581
madera_init_fll(madera, 1, MADERA_FLL1_CONTROL_1 - 1,
sound/soc/codecs/cs47l90.c
2583
madera_init_fll(madera, 2, MADERA_FLL2_CONTROL_1 - 1,
sound/soc/codecs/cs47l90.c
2585
madera_init_fll(madera, 4, MADERA_FLLAO_CONTROL_1 - 1,
sound/soc/codecs/cs47l90.c
2593
regmap_update_bits(madera->regmap, cs47l90_digital_vu[i],
sound/soc/codecs/cs47l90.c
2618
madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l90.c
2619
madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l90);
sound/soc/codecs/cs47l90.c
2638
madera_set_irq_wake(cs47l90->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l90.c
2639
madera_free_irq(cs47l90->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l90);
sound/soc/codecs/cs47l92.c
101
dev_warn(madera->dev,
sound/soc/codecs/cs47l92.c
105
ret = regmap_update_bits(madera->regmap, MADERA_OUTPUT_ENABLES_1,
sound/soc/codecs/cs47l92.c
108
dev_warn(madera->dev, "Failed to restore outputs: %d\n", ret);
sound/soc/codecs/cs47l92.c
122
dev_err(madera->dev, "Failed to update demux power state: %d\n", ret);
sound/soc/codecs/cs47l92.c
146
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l92.c
150
ret = regmap_read(madera->regmap, MADERA_DSP_CLOCK_2, &freq);
sound/soc/codecs/cs47l92.c
152
dev_err(madera->dev,
sound/soc/codecs/cs47l92.c
178
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l92.c
182
ret = regmap_read(madera->regmap, MADERA_OUTPUT_RATE_1, &val);
sound/soc/codecs/cs47l92.c
184
dev_err(madera->dev, "Failed to read OUTCLK source: %d\n", ret);
sound/soc/codecs/cs47l92.c
1848
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l92.c
1854
dev_err(madera->dev,
sound/soc/codecs/cs47l92.c
1867
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l92.c
1872
dev_err(madera->dev, "Spurious compressed data IRQ\n");
sound/soc/codecs/cs47l92.c
1890
struct madera *madera = cs47l92->core.madera;
sound/soc/codecs/cs47l92.c
1893
snd_soc_component_init_regmap(component, madera->regmap);
sound/soc/codecs/cs47l92.c
1895
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l92.c
1896
madera->dapm = snd_soc_component_to_dapm(component);
sound/soc/codecs/cs47l92.c
1897
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l92.c
1923
struct madera *madera = cs47l92->core.madera;
sound/soc/codecs/cs47l92.c
1925
mutex_lock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l92.c
1926
madera->dapm = NULL;
sound/soc/codecs/cs47l92.c
1927
mutex_unlock(&madera->dapm_ptr_lock);
sound/soc/codecs/cs47l92.c
1974
struct madera *madera = dev_get_drvdata(pdev->dev.parent);
sound/soc/codecs/cs47l92.c
198
ret = clk_prepare_enable(madera->mclk[val].clk);
sound/soc/codecs/cs47l92.c
1981
if (!madera->irq_dev) {
sound/soc/codecs/cs47l92.c
1992
cs47l92->core.madera = madera;
sound/soc/codecs/cs47l92.c
2000
ret = madera_request_irq(madera, MADERA_IRQ_DSP_IRQ1,
sound/soc/codecs/cs47l92.c
2008
ret = madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 1);
sound/soc/codecs/cs47l92.c
2016
cs47l92->core.adsp[0].cs_dsp.dev = madera->dev;
sound/soc/codecs/cs47l92.c
2017
cs47l92->core.adsp[0].cs_dsp.regmap = madera->regmap_32bit;
sound/soc/codecs/cs47l92.c
203
clk_disable_unprepare(madera->mclk[val].clk);
sound/soc/codecs/cs47l92.c
2033
madera_init_fll(madera, 1, MADERA_FLL1_CONTROL_1 - 1,
sound/soc/codecs/cs47l92.c
2035
madera_init_fll(madera, 2, MADERA_FLL2_CONTROL_1 - 1,
sound/soc/codecs/cs47l92.c
2043
regmap_update_bits(madera->regmap, cs47l92_digital_vu[i],
sound/soc/codecs/cs47l92.c
2066
madera_set_irq_wake(madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l92.c
2067
madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l92);
sound/soc/codecs/cs47l92.c
2083
madera_set_irq_wake(cs47l92->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
sound/soc/codecs/cs47l92.c
2084
madera_free_irq(cs47l92->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l92);
sound/soc/codecs/cs47l92.c
59
struct madera *madera = priv->madera;
sound/soc/codecs/cs47l92.c
80
ret = regmap_read(madera->regmap, MADERA_OUTPUT_ENABLES_1, &cur);
sound/soc/codecs/cs47l92.c
82
dev_warn(madera->dev, "Failed to read outputs: %d\n", ret);
sound/soc/codecs/cs47l92.c
85
ret = regmap_update_bits(madera->regmap, MADERA_OUTPUT_ENABLES_1,
sound/soc/codecs/cs47l92.c
88
dev_warn(madera->dev, "Failed to disable outputs: %d\n", ret);
sound/soc/codecs/cs47l92.c
92
ret = regmap_update_bits(madera->regmap, MADERA_OUTPUT_ENABLES_1,
sound/soc/codecs/cs47l92.c
95
dev_err(madera->dev, "Failed to set OUT3 demux: %d\n", ret);
sound/soc/codecs/cs47l92.c
97
out_mono = madera->pdata.codec.out_mono[2 + mux];
sound/soc/codecs/madera.c
1008
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
1023
dev_err(madera->dev,
sound/soc/codecs/madera.c
1033
dev_dbg(madera->dev, "DSP rate not changed\n");
sound/soc/codecs/madera.c
1036
dev_dbg(madera->dev, "DSP rate changed\n");
sound/soc/codecs/madera.c
1075
dev_warn(priv->madera->dev,
sound/soc/codecs/madera.c
1092
static void madera_configure_input_mode(struct madera *madera)
sound/soc/codecs/madera.c
1097
switch (madera->type) {
sound/soc/codecs/madera.c
1127
dev_dbg(madera->dev, "IN%d mode %u:%u:%u:%u\n", i + 1,
sound/soc/codecs/madera.c
1128
madera->pdata.codec.inmode[i][0],
sound/soc/codecs/madera.c
1129
madera->pdata.codec.inmode[i][1],
sound/soc/codecs/madera.c
1130
madera->pdata.codec.inmode[i][2],
sound/soc/codecs/madera.c
1131
madera->pdata.codec.inmode[i][3]);
sound/soc/codecs/madera.c
1133
dig_mode = madera->pdata.codec.dmic_ref[i] <<
sound/soc/codecs/madera.c
1136
switch (madera->pdata.codec.inmode[i][0]) {
sound/soc/codecs/madera.c
1144
dev_warn(madera->dev,
sound/soc/codecs/madera.c
1146
i + 1, madera->pdata.codec.inmode[i][0]);
sound/soc/codecs/madera.c
1150
switch (madera->pdata.codec.inmode[i][1]) {
sound/soc/codecs/madera.c
1158
dev_warn(madera->dev,
sound/soc/codecs/madera.c
1160
i + 1, madera->pdata.codec.inmode[i][1]);
sound/soc/codecs/madera.c
1164
dev_dbg(madera->dev,
sound/soc/codecs/madera.c
1168
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
1175
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
1179
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
1188
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
1190
madera_configure_input_mode(madera);
sound/soc/codecs/madera.c
1211
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
1212
const struct madera_codec_pdata *pdata = &madera->pdata.codec;
sound/soc/codecs/madera.c
1217
dev_warn(madera->dev,
sound/soc/codecs/madera.c
1238
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
1242
dev_dbg(madera->dev, "OUT%d mono=0x%x\n", i + 1, val);
sound/soc/codecs/madera.c
1246
dev_dbg(madera->dev, "PDM%d fmt=0x%x mute=0x%x\n", i + 1,
sound/soc/codecs/madera.c
1250
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
1257
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
1270
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
1273
ret = madera_request_irq(madera,
sound/soc/codecs/madera.c
1279
dev_err(madera->dev,
sound/soc/codecs/madera.c
1288
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
1290
madera_free_irq(madera,
sound/soc/codecs/madera.c
144
dev_err(_fll->madera->dev, "FLL%d: " fmt, _fll->id, ##__VA_ARGS__)
sound/soc/codecs/madera.c
146
dev_warn(_fll->madera->dev, "FLL%d: " fmt, _fll->id, ##__VA_ARGS__)
sound/soc/codecs/madera.c
148
dev_dbg(_fll->madera->dev, "FLL%d: " fmt, _fll->id, ##__VA_ARGS__)
sound/soc/codecs/madera.c
172
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
177
ret = regmap_read(madera->regmap, w->reg, &val);
sound/soc/codecs/madera.c
179
dev_err(madera->dev, "Failed to check clock source: %d\n", ret);
sound/soc/codecs/madera.c
199
return clk_prepare_enable(madera->mclk[clk_idx].clk);
sound/soc/codecs/madera.c
201
clk_disable_unprepare(madera->mclk[clk_idx].clk);
sound/soc/codecs/madera.c
211
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
216
if (pm_runtime_suspended(madera->dev))
sound/soc/codecs/madera.c
224
ret = regmap_read(madera->regmap, MADERA_SOFTWARE_RESET, &val);
sound/soc/codecs/madera.c
2244
ret = regmap_update_bits(priv->madera->regmap,
sound/soc/codecs/madera.c
2248
dev_warn(priv->madera->dev,
sound/soc/codecs/madera.c
226
dev_err(madera->dev,
sound/soc/codecs/madera.c
2304
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
2307
switch (madera->type) {
sound/soc/codecs/madera.c
2404
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
2425
madera->hp_ena &= ~mask;
sound/soc/codecs/madera.c
2426
madera->hp_ena |= val;
sound/soc/codecs/madera.c
2428
switch (madera->type) {
sound/soc/codecs/madera.c
2435
regmap_read(madera->regmap, MADERA_OUTPUT_ENABLES_1, &ep_sel);
sound/soc/codecs/madera.c
2442
(!madera->out_clamp[out_num] || madera->out_shorted[out_num]))
sound/soc/codecs/madera.c
2445
regmap_update_bits(madera->regmap, MADERA_OUTPUT_ENABLES_1, mask, val);
sound/soc/codecs/madera.c
252
static int madera_check_speaker_overheat(struct madera *madera,
sound/soc/codecs/madera.c
2567
static int madera_get_legacy_dspclk_setting(struct madera *madera,
sound/soc/codecs/madera.c
2575
switch (madera->type) {
sound/soc/codecs/madera.c
2578
if (madera->rev < 3)
sound/soc/codecs/madera.c
258
ret = regmap_read(madera->regmap, MADERA_IRQ1_RAW_STATUS_15, &val);
sound/soc/codecs/madera.c
2594
static int madera_get_dspclk_setting(struct madera *madera,
sound/soc/codecs/madera.c
2598
switch (madera->type) {
sound/soc/codecs/madera.c
260
dev_err(madera->dev, "Failed to read thermal status: %d\n",
sound/soc/codecs/madera.c
2603
return madera_get_legacy_dspclk_setting(madera, freq);
sound/soc/codecs/madera.c
2670
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
2696
clk_freq_sel = madera_get_dspclk_setting(madera, freq,
sound/soc/codecs/madera.c
2709
dev_err(madera->dev,
sound/soc/codecs/madera.c
2717
dev_dbg(madera->dev, "%s cleared\n", name);
sound/soc/codecs/madera.c
2724
ret = regmap_write(madera->regmap, MADERA_DSP_CLOCK_2,
sound/soc/codecs/madera.c
2727
dev_err(madera->dev,
sound/soc/codecs/madera.c
2742
dev_dbg(madera->dev, "%s set to %uHz\n", name, freq);
sound/soc/codecs/madera.c
2744
return regmap_update_bits(madera->regmap, reg, mask, val);
sound/soc/codecs/madera.c
2752
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
276
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
282
ret = madera_check_speaker_overheat(madera, &warn, &shutdown);
sound/soc/codecs/madera.c
2827
regmap_update_bits(madera->regmap, base + MADERA_AIF_BCLK_CTRL,
sound/soc/codecs/madera.c
2830
regmap_update_bits(madera->regmap, base + MADERA_AIF_TX_PIN_CTRL,
sound/soc/codecs/madera.c
2833
regmap_update_bits(madera->regmap, base + MADERA_AIF_RX_PIN_CTRL,
sound/soc/codecs/madera.c
2836
regmap_update_bits(madera->regmap, base + MADERA_AIF_FORMAT,
sound/soc/codecs/madera.c
287
dev_crit(madera->dev,
sound/soc/codecs/madera.c
292
regmap_update_bits(madera->regmap, MADERA_OUTPUT_ENABLES_1,
sound/soc/codecs/madera.c
2933
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
2953
switch (madera->type) {
sound/soc/codecs/madera.c
296
regmap_update_bits(madera->regmap, MADERA_OUTPUT_ENABLES_1,
sound/soc/codecs/madera.c
3034
ret = regmap_read(priv->madera->regmap,
sound/soc/codecs/madera.c
309
struct madera *madera = data;
sound/soc/codecs/madera.c
3091
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
3099
madera->pdata.codec.max_channels_clocked[dai->id - 1];
sound/soc/codecs/madera.c
313
ret = madera_check_speaker_overheat(madera, &warn, &shutdown);
sound/soc/codecs/madera.c
315
dev_crit(madera->dev, "Thermal shutdown\n");
sound/soc/codecs/madera.c
316
ret = regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3166
regmap_read(madera->regmap, base + MADERA_AIF_TX_ENABLES,
sound/soc/codecs/madera.c
3168
regmap_read(madera->regmap, base + MADERA_AIF_RX_ENABLES,
sound/soc/codecs/madera.c
3171
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3173
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3182
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3185
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3188
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3192
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3201
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3204
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
321
dev_crit(madera->dev,
sound/soc/codecs/madera.c
325
dev_alert(madera->dev, "Thermal warning\n");
sound/soc/codecs/madera.c
327
dev_info(madera->dev, "Spurious thermal warning\n");
sound/soc/codecs/madera.c
3302
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
3310
regmap_write(madera->regmap, base + i, slot);
sound/soc/codecs/madera.c
336
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
337
struct device *dev = madera->dev;
sound/soc/codecs/madera.c
340
ret = madera_request_irq(madera, MADERA_IRQ_SPK_OVERHEAT_WARN,
sound/soc/codecs/madera.c
342
madera);
sound/soc/codecs/madera.c
346
ret = madera_request_irq(madera, MADERA_IRQ_SPK_OVERHEAT,
sound/soc/codecs/madera.c
3464
switch (fll->madera->type) {
sound/soc/codecs/madera.c
3466
switch (fll->madera->rev) {
sound/soc/codecs/madera.c
348
madera);
sound/soc/codecs/madera.c
3521
switch (fll->madera->type) {
sound/soc/codecs/madera.c
3523
switch (fll->madera->rev) {
sound/soc/codecs/madera.c
358
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
360
madera_free_irq(madera, MADERA_IRQ_SPK_OVERHEAT_WARN, madera);
sound/soc/codecs/madera.c
361
madera_free_irq(madera, MADERA_IRQ_SPK_OVERHEAT, madera);
sound/soc/codecs/madera.c
3652
switch (fll->madera->type) {
sound/soc/codecs/madera.c
3654
switch (fll->madera->rev) {
sound/soc/codecs/madera.c
3701
static bool madera_write_fll(struct madera *madera, unsigned int base,
sound/soc/codecs/madera.c
3708
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3713
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3718
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3724
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3734
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3741
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3749
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3760
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
3764
ret = regmap_read(madera->regmap,
sound/soc/codecs/madera.c
3776
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
3784
regmap_read(madera->regmap, MADERA_IRQ1_RAW_STATUS_2, &val);
sound/soc/codecs/madera.c
3820
regmap_update_bits_check(fll->madera->regmap,
sound/soc/codecs/madera.c
3833
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
3838
ret = regmap_read(madera->regmap, reg, &src);
sound/soc/codecs/madera.c
3849
clk = madera->mclk[MADERA_MCLK1].clk;
sound/soc/codecs/madera.c
3852
clk = madera->mclk[MADERA_MCLK2].clk;
sound/soc/codecs/madera.c
3855
clk = madera->mclk[MADERA_MCLK3].clk;
sound/soc/codecs/madera.c
3895
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
3899
switch (madera->type) {
sound/soc/codecs/madera.c
3910
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3913
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3916
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
3919
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
3930
pm_runtime_put_autosuspend(madera->dev);
sound/soc/codecs/madera.c
3936
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
3964
switch (madera->type) {
sound/soc/codecs/madera.c
3979
regmap_update_bits(fll->madera->regmap,
sound/soc/codecs/madera.c
3984
regmap_update_bits(fll->madera->regmap,
sound/soc/codecs/madera.c
3999
fll_change |= madera_write_fll(madera, sync_base,
sound/soc/codecs/madera.c
401
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
4017
switch (fll->madera->type) {
sound/soc/codecs/madera.c
4019
switch (fll->madera->rev) {
sound/soc/codecs/madera.c
402
struct madera_codec_pdata *pdata = &madera->pdata.codec;
sound/soc/codecs/madera.c
4048
fll_change |= madera_write_fll(madera, fll->base,
sound/soc/codecs/madera.c
4057
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4061
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4067
pm_runtime_get_sync(madera->dev);
sound/soc/codecs/madera.c
4071
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4078
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4083
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
409
n = madera_get_variable_u32_array(madera->dev, "cirrus,inmode",
sound/soc/codecs/madera.c
4160
int madera_init_fll(struct madera *madera, int id, int base,
sound/soc/codecs/madera.c
4165
fll->madera = madera;
sound/soc/codecs/madera.c
4169
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4230
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
4239
pm_runtime_get_sync(madera->dev);
sound/soc/codecs/madera.c
4245
regmap_update_bits(fll->madera->regmap,
sound/soc/codecs/madera.c
4262
regmap_write(madera->regmap, patch[i].reg, val);
sound/soc/codecs/madera.c
4267
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4272
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4284
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
4289
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
429
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
4292
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
430
struct madera_codec_pdata *pdata = &madera->pdata.codec;
sound/soc/codecs/madera.c
4306
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4312
pm_runtime_put_autosuspend(madera->dev);
sound/soc/codecs/madera.c
436
n = madera_get_variable_u32_array(madera->dev, "cirrus,out-mono",
sound/soc/codecs/madera.c
4365
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
4376
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4379
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4382
regmap_update_bits_check(madera->regmap,
sound/soc/codecs/madera.c
4395
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4401
pm_runtime_put_autosuspend(madera->dev);
sound/soc/codecs/madera.c
4409
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
442
madera_get_variable_u32_array(madera->dev,
sound/soc/codecs/madera.c
448
madera_get_variable_u32_array(madera->dev, "cirrus,pdm-fmt",
sound/soc/codecs/madera.c
4511
regmap_write(madera->regmap,
sound/soc/codecs/madera.c
4514
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4518
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
452
madera_get_variable_u32_array(madera->dev, "cirrus,pdm-mute",
sound/soc/codecs/madera.c
4522
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4526
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4530
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4536
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4540
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4544
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4555
struct madera *madera = fll->madera;
sound/soc/codecs/madera.c
456
madera_get_variable_u32_array(madera->dev, "cirrus,dmic-ref",
sound/soc/codecs/madera.c
4563
pm_runtime_get_sync(madera->dev);
sound/soc/codecs/madera.c
4569
regmap_update_bits(fll->madera->regmap,
sound/soc/codecs/madera.c
4583
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4590
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4596
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4601
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
4607
regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
469
if (!dev_get_platdata(priv->madera->dev))
sound/soc/codecs/madera.c
4733
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
4740
len = params->num_regs * regmap_get_val_bytes(madera->regmap);
sound/soc/codecs/madera.c
475
priv->madera->out_clamp[i] = true;
sound/soc/codecs/madera.c
4753
dev_err(madera->dev, "Rejecting unstable EQ coefficients\n");
sound/soc/codecs/madera.c
4758
ret = regmap_read(madera->regmap, params->base, &val);
sound/soc/codecs/madera.c
4765
ret = regmap_raw_write(madera->regmap, params->base, data, len);
sound/soc/codecs/madera.c
4779
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
4784
dev_err(madera->dev, "Rejecting unstable LHPF coefficients\n");
sound/soc/codecs/madera.c
491
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
495
dev_dbg(madera->dev, "domain_grp_ref[%d]=%d\n", i,
sound/soc/codecs/madera.c
520
dev_dbg(priv->madera->dev, "Inc ref on domain group %d\n",
sound/soc/codecs/madera.c
525
dev_dbg(priv->madera->dev, "Dec ref on domain group %d\n",
sound/soc/codecs/madera.c
547
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
569
ret = regmap_update_bits(madera->regmap, MADERA_OUTPUT_ENABLES_1,
sound/soc/codecs/madera.c
572
dev_warn(madera->dev, "Failed to disable outputs: %d\n", ret);
sound/soc/codecs/madera.c
578
if (madera->out_clamp[0])
sound/soc/codecs/madera.c
579
ret = regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
583
dev_err(madera->dev, "Failed to set OUT1 demux: %d\n", ret);
sound/soc/codecs/madera.c
586
if (!ep_sel && !madera->pdata.codec.out_mono[0])
sound/soc/codecs/madera.c
593
dev_warn(madera->dev,
sound/soc/codecs/madera.c
602
(madera->out_clamp[0] && !madera->out_shorted[0])) {
sound/soc/codecs/madera.c
603
ret = regmap_update_bits(madera->regmap,
sound/soc/codecs/madera.c
606
madera->hp_ena);
sound/soc/codecs/madera.c
608
dev_warn(madera->dev,
sound/soc/codecs/madera.c
611
else if (madera->hp_ena)
sound/soc/codecs/madera.c
622
dev_err(madera->dev, "Failed to update demux power state: %d\n", ret);
sound/soc/codecs/madera.c
651
struct madera *madera = priv->madera;
sound/soc/codecs/madera.c
652
struct regmap *regmap = madera->regmap;
sound/soc/codecs/madera.c
668
inmode = madera->pdata.codec.inmode[0][2 * mux];
sound/soc/codecs/madera.c
671
inmode = madera->pdata.codec.inmode[0][1 + (2 * mux)];
sound/soc/codecs/madera.c
674
inmode = madera->pdata.codec.inmode[1][2 * mux];
sound/soc/codecs/madera.c
677
inmode = madera->pdata.codec.inmode[1][1 + (2 * mux)];
sound/soc/codecs/madera.c
686
dev_dbg(madera->dev, "mux=%u reg=0x%x inmode=0x%x mask=0x%x val=0x%x\n",
sound/soc/codecs/madera.c
860
dev_dbg(priv->madera->dev, "Rate reg 0x%x group ref %d\n", reg, count);
sound/soc/codecs/madera.c
909
dev_warn(priv->madera->dev,
sound/soc/codecs/madera.c
969
switch (priv->madera->type) {
sound/soc/codecs/madera.c
979
dev_dbg(priv->madera->dev, "Set DSP frequency to 0x%x\n", freq);
sound/soc/codecs/madera.c
994
dev_dbg(priv->madera->dev, "Set DSP clocking to 0x%x\n", val);
sound/soc/codecs/madera.h
107
struct madera;
sound/soc/codecs/madera.h
122
struct madera *madera;
sound/soc/codecs/madera.h
159
struct madera *madera;
sound/soc/codecs/madera.h
410
int madera_init_fll(struct madera *madera, int id, int base,
sound/soc/codecs/madera.h
443
struct madera *madera = priv->madera;
sound/soc/codecs/madera.h
445
return blocking_notifier_chain_register(&madera->notifier, nb);
sound/soc/codecs/madera.h
453
struct madera *madera = priv->madera;
sound/soc/codecs/madera.h
455
return blocking_notifier_chain_unregister(&madera->notifier, nb);