linux/sound/soc/codecs
Lars-Peter Clausen 30ab1e7886 ASoC: ad193x: Setup regmap read and write flag masks for SPI
Currently register read-back for the ad193x is broken, because it expects bit 0
of the upper byte to be set to indicate a read operation, while the regmap
default for SPI is to use bit 7.

This patch also addresses another oddity of the device. There are SPI and I2C
versions of this codec. In both cases the registers are 8-bit wide and numbered
from 0x0 to 0x10, but in the SPI case there is also a so called
'global address' which is prefixed in-front of the register address. The global
address mimics I2C behaviour and includes a static device address the and the
read/write flag. This basically extends the register address to an 16-bit value
numbered from 0x800 to 0x810. These are the register numbers which are
currently used by the driver. This works, because I2C will ignore the upper
8 bits of the register, but it is still a bit confusing, as there are no such
register numbers in the I2C case.

The approach taken by this patch is to number the registers from 0x00 to 0x10
and encode the global address for SPI mode into the read and write flag masks.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-09-09 11:13:31 -07:00
..
88pm860x-codec.c ASoC: s/w->kcontrols/w->kcontrol_news/g 2011-05-03 19:28:47 +01:00
88pm860x-codec.h ASoC: add 88pm860x codec driver 2010-08-18 18:03:09 +01:00
ac97.c ASoC: ac97: add MODULE_ALIAS for the platform driver 2010-10-13 10:35:30 +01:00
ad193x.c ASoC: ad193x: Setup regmap read and write flag masks for SPI 2011-09-09 11:13:31 -07:00
ad193x.h ASoC: ad193x: Setup regmap read and write flag masks for SPI 2011-09-09 11:13:31 -07:00
ad1836.c ASoC: AD1836: rename suspend/resume funcs 2011-06-16 11:42:10 +01:00
ad1836.h ASoC: AD1836: fix intermixed tab/space indentation 2011-06-16 11:41:53 +01:00
ad1980.c ASoC: ad1980: Return proper error if vendor id mismatch 2011-09-08 15:39:51 -07:00
ad1980.h Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.37 2010-08-15 14:56:40 +01:00
ad73311.c ASoC: ad73311: fix codec name 2011-03-30 07:17:01 +09:00
ad73311.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
adau1373.c ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
adau1373.h ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
adau1701.c ASoC: adau1701: signedness bug in adau1701_write() 2011-06-20 18:46:33 +01:00
adau1701.h ASoC: Add ADAU1701 codec driver 2011-06-16 11:24:17 +01:00
adav80x.c ASoC: Allow source specification for CODEC level sysclk 2011-08-31 09:57:35 +01:00
adav80x.h ASoC: Add ADAV80x codec driver 2011-06-28 17:11:20 +01:00
ads117x.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ads117x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4104.c ASoC: Remove module probe announcements from CODEC drivers 2011-03-01 23:30:40 +00:00
ak4535.c ASoC: Use data based init for ak4535 DAPM 2011-03-31 06:22:24 +09:00
ak4535.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4641.c ASoC: Staticize ak4641_dai 2011-06-01 19:18:59 +01:00
ak4641.h ASoC: Asahi Kasei AK4641 codec driver 2011-05-19 14:10:45 -07:00
ak4642.c ASoC: ak4642: fixup snd_soc_update_bits mask for PW_MGMT2 2011-07-07 09:46:06 -07:00
ak4671.c ASoC: Use data based init for ak4671 DAPM 2011-03-31 06:21:33 +09:00
ak4671.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
alc5623.c ASoC: alc5623: Remove unused mutex 2011-09-05 18:15:15 -07:00
alc5623.h ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
cq93vc.c mfd: Use mfd cell platform_data for davinci cells platform bits 2011-05-26 19:45:13 +02:00
cs42l51.c ASoC: codecs: Remove unused reg_cache fields from device structs 2010-12-28 23:37:21 +00:00
cs42l51.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
cs4270.c ASoC: Fix comment in cs4270 codec driver 2011-05-26 09:26:22 +08:00
cs4271.c ASoC: Manage mode and rate bits correctly for CS4271 CODEC. 2011-03-09 13:08:16 +00:00
cx20442.c Revert "ASoC: Update cx20442 for TTY API change" 2011-06-04 07:00:50 +09:00
cx20442.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
da7210.c ASoC: Decouple DAPM from CODECs 2010-11-06 11:28:29 -04:00
dfbmcs320.c ASoC: Add driver for the dfbmcs320 bluetooth module 2011-03-07 12:20:01 +00:00
dmic.c ASoC: DMIC codec - Add input widget 2011-05-12 17:40:05 +02:00
jz4740.c ASoC: codecs: JZ4740: Convert to table based controls and DAPM setup 2011-04-13 10:35:03 -07:00
Kconfig ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
l3.c ASoC: UDA134x codec driver 2008-11-17 11:45:39 +00:00
lm4857.c Fix common misspellings 2011-03-31 11:26:23 -03:00
Makefile ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
max9850.c ASoC: Fix spacing in MAX8950 2011-03-11 12:07:31 +00:00
max9850.h ASoC: Add MAX9850 codec driver 2011-03-11 12:01:44 +00:00
max9877.c ASoC: MAX9877: fix write operation for register 2009-07-23 11:08:30 +01:00
max9877.h ASoC: MAX9877: add MAX9877 amp driver 2009-07-15 16:59:31 +01:00
max98088.c Merge branch 'for-2.6.40' into for-2.6.41 2011-05-30 10:54:18 +08:00
max98088.h ASoC: codecs: max98088: Added digital mute function in DAI1 and DAI2 2011-05-15 21:26:36 -07:00
max98095.c ASoC: codecs: Max98095: Fix logging of hardware revision. 2011-06-22 00:27:39 +01:00
max98095.h ASoC: Add EQ and filter to max98095 CODEC driver 2011-04-20 13:50:41 +01:00
pcm3008.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
pcm3008.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
sgtl5000.c ASoC: sgtl5000: fix module device table type for sgtl5000_dt_ids 2011-08-12 11:39:25 +09:00
sgtl5000.h ASoC: remove unnecessary header including in SGTL5000 codec driver 2011-02-28 14:24:35 +00:00
sn95031.c ASoC: sn95031: Fix the logic to find free channel 2011-09-04 08:53:39 -07:00
sn95031.h ASoC: sn95031: Add support for reading mic bias 2011-02-09 22:32:53 +00:00
spdif_transciever.c ASoC: spdif-dit: Add missing MODULE_* 2011-05-20 11:19:29 +01:00
ssm2602.c ASoC: Fix NULL vs. 0 warning in SSM2602 2011-05-11 15:24:05 +02:00
ssm2602.h ASoC: SSM2602: Remove unused struct and define 2011-05-08 14:44:11 +01:00
sta32x.c ASoC: sta32x: Move resource allocation and release to the corresponding callback functions 2011-08-19 01:25:56 +09:00
sta32x.h ASoC: add STA32X codec driver 2011-06-22 19:10:59 +01:00
stac9766.c Merge branch 'for-2.6.37' into for-2.6.38 2010-11-22 20:33:12 +00:00
stac9766.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic3x.c Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-3.1 2011-07-09 23:16:12 +09:00
tlv320aic3x.h ASoC: tlv320aic3x: Reimplement output mixers 2010-08-28 10:57:58 +01:00
tlv320aic23.c ASoC: Use data based init for tlv320aic23 DAPM 2011-03-31 06:22:20 +09:00
tlv320aic23.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic26.c audio: tlv320aic26: fix PLL register configuration 2011-05-21 12:07:56 +01:00
tlv320aic26.h Fix common misspellings 2011-03-31 11:26:23 -03:00
tlv320aic32x4.c ASoC: Fix outdated API usage in tlv320aic32x4 2011-03-07 11:13:42 +00:00
tlv320aic32x4.h ASoC: Add TI tlv320aic32x4 codec support. 2011-03-04 18:21:08 +00:00
tlv320dac33.c ASoC: tlv320dac33: Update e-mail address 2011-05-11 16:12:35 +01:00
tlv320dac33.h ASoC: tlv320dac33: Update e-mail address 2011-05-11 16:12:35 +01:00
tpa6130a2.c ASoC: tpa6130a2: Update e-mail address 2011-05-11 16:12:45 +01:00
tpa6130a2.h ASoC: tpa6130a2: Update e-mail address 2011-05-11 16:12:45 +01:00
twl4030.c MFD: twl4030-audio: Rename platform data 2011-07-04 18:44:02 +03:00
twl6040.c Merge branch 'next/devel2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:42:18 -07:00
twl6040.h ASoC: twl6040: Move PLL selection to codec driver 2011-07-07 14:23:44 +03:00
uda134x.c ASoC: UDA134x: Remove POWER_OFF_ON_STANDBY define. 2011-05-08 15:27:48 +01:00
uda134x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
uda1380.c ASoC: codecs: Remove unused reg_cache fields from device structs 2010-12-28 23:37:21 +00:00
uda1380.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wl1273.c mfd: Use mfd cell platform_data for wl1273 cells platform bits 2011-05-26 19:45:02 +02:00
wl1273.h ASoC: WL1273 FM radio: Fix breakage with MFD API changes 2011-01-14 12:29:40 +00:00
wm1250-ev1.c ASoC: Correct revision display for WM1250-EV1 module 2011-08-15 23:54:07 +09:00
wm2000.c ASoC: Move WM2000 to dev_pm_ops 2011-02-25 12:58:36 +00:00
wm2000.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8350.c ASoC: Yet more x86 tracepoint workarounds 2010-12-29 13:06:18 +00:00
wm8350.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8400.c mfd: Use mfd cell platform_data for wm8400 cells platform bits 2011-05-26 19:45:14 +02:00
wm8400.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8510.c ASoC: Add device tree binding for WM8510 2011-08-14 13:41:24 +09:00
wm8510.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8523.c ASoC: Convert WM8523 to table based control and DAPM initialization 2011-08-22 23:23:17 +01:00
wm8523.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8580.c ASoC: Add device tree support for WM8580 2011-08-14 13:41:38 +09:00
wm8580.h ASoC: Automatically calculate clock ratio for WM8580 2010-08-15 14:52:12 +01:00
wm8711.c ASoC: Add device tree binding for WM8711 2011-08-14 13:41:52 +09:00
wm8711.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8727.c ASoC: Staticise WM8727 codec driver structure 2010-08-12 16:10:55 +01:00
wm8728.c ASoC: Add device tree binding for WM8728 2011-08-14 13:42:09 +09:00
wm8728.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8731.c ASoC: Add device tree binding for WM8731 2011-07-29 10:30:16 +01:00
wm8731.h ASoC: Support non-crystal master clocks for WM8731 2010-08-18 16:52:56 +01:00
wm8737.c ASoC: Add device tree binding for WM8737 2011-08-14 13:42:43 +09:00
wm8737.h ASoC: Add initial WM8737 driver 2010-11-24 11:33:12 +00:00
wm8741.c ASoC: Add device tree binding for WM8741 2011-08-15 22:58:47 +09:00
wm8741.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8750.c Merge branch 'for-3.1' into for-3.2 2011-08-14 19:19:58 +09:00
wm8750.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8753.c ASoC: Add device tree binding for WM8753 2011-08-14 13:43:14 +09:00
wm8753.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8770.c ASoC: Add device tree binding for WM8770 2011-08-31 09:52:43 +01:00
wm8770.h ASoC: WM8770: Initial driver 2010-11-06 11:35:39 -04:00
wm8776.c ASoC: Add device tree binding for WM8776 2011-08-31 09:52:50 +01:00
wm8776.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8782.c ASoC: add WM8782 ADC Codec Driver 2011-06-22 19:11:02 +01:00
wm8804.c ASoC: Add device tree binding for WM8804 2011-08-31 09:52:57 +01:00
wm8804.h ASoC: WM8804: Initial driver 2010-09-30 13:32:21 -07:00
wm8900.c ASoC: wm8900: fix a memory leak if wm8900_set_fll fails 2011-07-14 20:04:26 +09:00
wm8900.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8903.c ASoC: WM8903: Free IRQ on device removal 2011-08-09 09:43:58 +09:00
wm8903.h Merge branch 'for-2.6.38' into for-2.6.39 2011-02-22 10:38:13 -08:00
wm8904.c ASoC: Add basic WM8918 support 2011-06-23 20:05:38 +01:00
wm8904.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8940.c ASoC: wm8940: remove unnecessary if statements 2011-06-07 09:47:40 +01:00
wm8940.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8955.c Fix common misspellings 2011-03-31 11:26:23 -03:00
wm8955.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8958-dsp2.c ASoC: Don't restart an already running WM8958 DSP2 2011-05-16 08:55:52 -07:00
wm8960.c Merge branch 'for-2.6.37' into for-2.6.38 2010-12-28 23:42:53 +00:00
wm8960.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8961.c ASoC: Update users of readable_register()/volatile_register() 2011-01-13 14:17:43 +00:00
wm8961.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8962.c Merge branch 'for-3.1' into for-3.2 2011-08-22 14:00:08 +01:00
wm8962.h ASoC: Compress WM8962 register access map 2010-10-11 03:52:04 -07:00
wm8971.c Merge branch 'for-2.6.37' into for-2.6.38 2010-12-28 23:42:53 +00:00
wm8971.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8974.c ASoC: codecs: Remove unused reg_cache fields from device structs 2010-12-28 23:37:21 +00:00
wm8974.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8978.c ASoC: Fix broken bitfield definitions in WM8978 2011-03-09 12:32:50 +00:00
wm8978.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8983.c ASoC: WM8983: Initial driver 2011-07-15 23:39:53 +09:00
wm8983.h ASoC: WM8983: Initial driver 2011-07-15 23:39:53 +09:00
wm8985.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8985.h ASoC: WM8985: Initial driver 2010-09-15 16:11:24 +01:00
wm8988.c ASoC: codecs: Remove unused reg_cache fields from device structs 2010-12-28 23:37:21 +00:00
wm8988.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8990.c ASoC: WM8990: msleep() takes milliseconds not jiffies 2011-01-17 14:09:44 +00:00
wm8990.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8991.c ALSA: Remove unneeded version.h includes from sound/ 2011-06-24 11:28:17 +02:00
wm8991.h ASoC: WM8991: Add initial WM8991 driver 2011-01-17 13:50:20 +00:00
wm8993.c ASoC: Add VMID widget for wm_hubs devices 2011-08-14 13:44:14 +09:00
wm8993.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8994-tables.c ASoC: Add WM8958 noise gate support 2011-08-17 00:48:47 +09:00
wm8994.c ASoC: Fix backport of WM8994 thermal warning 2011-08-17 15:20:45 +09:00
wm8994.h ASoC: Disable WM8994 VMID for digital only paths 2011-08-14 13:44:23 +09:00
wm8995.c ASoC: Fix wrong data type access in a few codec drivers 2011-05-16 09:06:47 -07:00
wm8995.h ASoC: Remove WM8995 write sequencer bitfield definitions 2010-12-24 11:32:45 +00:00
wm8996.c ASoC: Check that WM8996 FLL started even if we don't have the IRQ 2011-09-05 18:14:04 -07:00
wm8996.h ASoC: Rename WM8915 to WM8996 2011-08-08 14:30:37 +09:00
wm9081.c ASoC: Allow source specification for CODEC level sysclk 2011-08-31 09:57:35 +01:00
wm9081.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9090.c ASoC: Remove unused mutex from WM9090 driver 2011-08-31 09:52:04 +01:00
wm9090.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9705.c ASoC: Use data based init for wm9705 DAPM 2011-03-31 06:22:04 +09:00
wm9705.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9712.c ASoC: Use data based init for wm9712 DAPM 2011-03-31 06:21:58 +09:00
wm9712.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9713.c ASoC: Use data based init for wm9713 DAPM 2011-03-31 06:21:52 +09:00
wm9713.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm_hubs.c ASoC: Add VMID widget for wm_hubs devices 2011-08-14 13:44:14 +09:00
wm_hubs.h ASoC: Support separate left and right channel dcs_codes values 2011-08-01 22:14:49 +09:00