]> Pileus Git - ~andy/linux/commitdiff
Merge tag 'sound-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 21 Jan 2014 18:26:23 +0000 (10:26 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 21 Jan 2014 18:26:23 +0000 (10:26 -0800)
Pull sound updates from Takashi Iwai:
 "It was holiday season, so no wonder that there are little changes in
  framework level, although diffstat shows quite many changes spreaded
  over sound/* directories.  Most of changes are cleanups, code
  refactoring and fixes.

  Some highlights:
   - Removal of OSS sleep_on usages by Arnd
   - Simplified memalloc helper codes, drop obsoleted features; now it's
     built into PCM driver instead of an individual module
   - Warn if PCM buffer preallocation fails, which will show page
     allocation issues more clearly
   - Compress offload API updates for sample rates by Vinod
   - PCM glitch workaround on ctxfi emu20k1 by Sarah
   - Drop cs46xx DSP blobs, using firmware loader now
   - USB-audio quitks for Plantronics Gamecom 780, Creative VF0420, and
     Focusrite Saffire 6

  HD-audio specifics:
   - Standardize Kconfigs of HD-audio codec drivers; now "make
     localmodconfig" recognizes configs properly (finally!)
   - Parallel PM implementation by Mengdong
   - BayleyBay/ValleyView2 board fixups
   - Broadwell audio support
   - Runtime PM improvement (PantherPoint, etc)
   - Quirks: Dell subwooer, Gigabyte mobo jack detection oddity, Dell
     AiO click noise fixes, Dell headset mic fixes, etc
   - Automatic bind with HDMI codec parser without generic parser
   - More AD codec fixes (since 3.12 regression) including the automatic
     stereo mix support
   - Common Thinkpad ACPI helper for Realtek and Conexant codecs

  ASoC specifics:
   - Update to the generic DMA code to support deferred probe and
     managed resources
   - New drivers for BCM2835 (used in Raspberry Pi), Tegra with MAX98090
     and Analog Devices AXI I2S and S/PDIF controller IPs
   - Device tree support for the simple card, max98090 and cs42l52
   - Conversion of the Samsung drivers to native dmaengine, making them
     multiplatform compatible and hopefully helping keep them more
     modern and up to date.
   - More regmap conversions, including a very welcome one for twl6040
     from Peter Ujfalusi
   - A big overhaul of the DaVinci drivers also from Peter Ujfalusi
   - Lots of DMA updates from Lars-Peter
   - Improvements to the constraints handling code from Lars-Peter
   - A very helpful conversion of the TWL4030 driver to regmap from Peter
   - A new driver for the Freescale ESAI controller from Nicolin Chen
   - Conversion of some of the drivers to use params_width()
   - Extensions to DPCM for use with compressed audio from Liam"

* tag 'sound-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (396 commits)
  ASoC: dapm: Fix double prefix addition
  ASoC: compress: Add suport for DPCM into compressed audio
  ASoC: DPCM: make some DPCM API calls non static for compressed usage
  ASoC: core: Fix possible NULL pointer dereference of pcm->config
  ALSA: hda - add headset mic detect quirks for some Dell machines
  ASoC: tlv320aic32x4: Fix regmap range_min
  ASoC: core: Return -ENOTSUPP from set_sysclk() if no operation provided
  ASoC: dapm: Change prototype of soc_widget_read
  ASoC: samsung: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag
  ASoC: axi-{spdif,i2s}: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag
  ASoC: generic-dmaengine-pcm: Check DMA residue granularity
  ASoC: generic-dmaengine-pcm: Check NO_RESIDUE flag at runtime
  dma: pl330: Set residue_granularity
  dma: Indicate residue granularity in dma_slave_caps
  ASoC: simple-card: fix one bug to writing to the platform data
  ASoC: pcm: Use snd_pcm_rate_mask_intersect() helper
  ALSA: Add helper function for intersecting two rate masks
  ASoC: s6000: Don't mix SNDRV_PCM_RATE_CONTINUOUS with specific rates
  ASoC: fsl: Don't mix SNDRV_PCM_RATE_CONTINUOUS with specific rates
  ASoC: pcm: Properly initialize hw->rate_max
  ...

1  2 
arch/arm/Kconfig
arch/arm/mach-s3c64xx/Kconfig
include/linux/mfd/arizona/registers.h

diff --combined arch/arm/Kconfig
index b9df6224609c3b917dc975347b79551b9453ae5c,ba0e23234ecfef1663d3bfb07effacc1924b02f3..ab1689c96a719d65407a4180d97f10010d64e340
@@@ -30,7 -30,6 +30,7 @@@ config AR
        select HAVE_BPF_JIT
        select HAVE_CONTEXT_TRACKING
        select HAVE_C_RECORDMCOUNT
 +      select HAVE_CC_STACKPROTECTOR
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_API_DEBUG
        select HAVE_DMA_ATTRS
@@@ -711,6 -710,7 +711,6 @@@ config ARCH_S3C24X
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
        select HAVE_S3C_RTC if RTC_CLASS
        select MULTI_IRQ_HANDLER
 -      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        select SAMSUNG_ATAGS
        help
@@@ -723,6 -723,7 +723,7 @@@ config ARCH_S3C64X
        bool "Samsung S3C64XX"
        select ARCH_HAS_CPUFREQ
        select ARCH_REQUIRE_GPIOLIB
+       select ARM_AMBA
        select ARM_VIC
        select CLKDEV_LOOKUP
        select CLKSRC_SAMSUNG_PWM
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
        select HAVE_TCM
 -      select NEED_MACH_GPIO_H
        select NO_IOPORT
        select PLAT_SAMSUNG
        select PM_GENERIC_DOMAINS
@@@ -1592,7 -1594,7 +1593,7 @@@ config ARM_PSC
  config ARCH_NR_GPIO
        int
        default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
 -      default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX
 +      default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX
        default 392 if ARCH_U8500
        default 352 if ARCH_VT8500
        default 288 if ARCH_SUNXI
@@@ -1855,6 -1857,18 +1856,6 @@@ config SECCOM
          and the task is only allowed to execute a few safe syscalls
          defined by each seccomp mode.
  
 -config CC_STACKPROTECTOR
 -      bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
 -      help
 -        This option turns on the -fstack-protector GCC feature. This
 -        feature puts, at the beginning of functions, a canary value on
 -        the stack just before the return address, and validates
 -        the value just before actually returning.  Stack based buffer
 -        overflows (that need to overwrite this return address) now also
 -        overwrite the canary, which gets detected and the attack is then
 -        neutralized via a kernel panic.
 -        This feature requires gcc version 4.2 or above.
 -
  config SWIOTLB
        def_bool y
  
index 175f01501129d6047677a43961735dcf49f8e636,7094bccbae913ae953594a51e900ce13f8e4137d..64f04e6f9c317e3b79ceb8a530d21057c0be84f0
@@@ -17,9 -17,10 +17,10 @@@ config CPU_S3C641
        help
          Enable S3C6410 CPU support
  
- config S3C64XX_DMA
-       bool "S3C64XX DMA"
-       select S3C_DMA
+ config S3C64XX_PL080
+       bool "S3C64XX DMA using generic PL08x driver"
+       select AMBA_PL08X
+       select SAMSUNG_DMADEV
  
  config S3C64XX_SETUP_SDHCI
        bool
@@@ -192,6 -193,7 +193,6 @@@ config SMDK6410_WM1190_EV
        select MFD_WM8350_I2C
        select REGULATOR
        select REGULATOR_WM8350
 -      select SAMSUNG_GPIO_EXTRA64
        help
          The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
          and audio daughtercard for the Samsung SMDK6410 reference
@@@ -207,6 -209,7 +208,6 @@@ config SMDK6410_WM1192_EV
        select MFD_WM831X_I2C
        select REGULATOR
        select REGULATOR_WM831X
 -      select SAMSUNG_GPIO_EXTRA64
        help
          The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
          daughtercard for the Samsung SMDK6410 reference platform.
@@@ -292,6 -295,7 +293,6 @@@ config MACH_WLF_CRAGG_641
        select SAMSUNG_DEV_ADC
        select SAMSUNG_DEV_KEYPAD
        select SAMSUNG_DEV_PWM
 -      select SAMSUNG_GPIO_EXTRA128
        help
          Machine support for the Wolfson Cragganmore S3C6410 variant.
  
index b31976595eba375e48f42c0bbd52de8205da1ebc,19883aeb1ac82b852d617c866b3b42edc72d5068..fdf3aa376eb298bcb099f9e514630438b476ccfe
  #define ARIZONA_INPUT_ENABLES_STATUS             0x301
  #define ARIZONA_INPUT_RATE                       0x308
  #define ARIZONA_INPUT_VOLUME_RAMP                0x309
+ #define ARIZONA_HPF_CONTROL                      0x30C
  #define ARIZONA_IN1L_CONTROL                     0x310
  #define ARIZONA_ADC_DIGITAL_VOLUME_1L            0x311
  #define ARIZONA_DMIC1L_CONTROL                   0x312
  #define ARIZONA_IN4L_CONTROL                     0x328
  #define ARIZONA_ADC_DIGITAL_VOLUME_4L            0x329
  #define ARIZONA_DMIC4L_CONTROL                   0x32A
+ #define ARIZONA_IN4R_CONTROL                     0x32C
  #define ARIZONA_ADC_DIGITAL_VOLUME_4R            0x32D
  #define ARIZONA_DMIC4R_CONTROL                   0x32E
  #define ARIZONA_OUTPUT_ENABLES_1                 0x400
  #define ARIZONA_PDM_SPK1_CTRL_2                  0x491
  #define ARIZONA_PDM_SPK2_CTRL_1                  0x492
  #define ARIZONA_PDM_SPK2_CTRL_2                  0x493
+ #define ARIZONA_HP1_SHORT_CIRCUIT_CTRL           0x4A0
+ #define ARIZONA_HP2_SHORT_CIRCUIT_CTRL           0x4A1
+ #define ARIZONA_HP3_SHORT_CIRCUIT_CTRL           0x4A2
  #define ARIZONA_SPK_CTRL_2                       0x4B5
  #define ARIZONA_SPK_CTRL_3                       0x4B6
  #define ARIZONA_DAC_COMP_1                       0x4DC
  #define ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME        0x74D
  #define ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE        0x74E
  #define ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME        0x74F
+ #define ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE        0x750
+ #define ARIZONA_AIF2TX3MIX_INPUT_1_VOLUME        0x751
+ #define ARIZONA_AIF2TX3MIX_INPUT_2_SOURCE        0x752
+ #define ARIZONA_AIF2TX3MIX_INPUT_2_VOLUME        0x753
+ #define ARIZONA_AIF2TX3MIX_INPUT_3_SOURCE        0x754
+ #define ARIZONA_AIF2TX3MIX_INPUT_3_VOLUME        0x755
+ #define ARIZONA_AIF2TX3MIX_INPUT_4_SOURCE        0x756
+ #define ARIZONA_AIF2TX3MIX_INPUT_4_VOLUME        0x757
+ #define ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE        0x758
+ #define ARIZONA_AIF2TX4MIX_INPUT_1_VOLUME        0x759
+ #define ARIZONA_AIF2TX4MIX_INPUT_2_SOURCE        0x75A
+ #define ARIZONA_AIF2TX4MIX_INPUT_2_VOLUME        0x75B
+ #define ARIZONA_AIF2TX4MIX_INPUT_3_SOURCE        0x75C
+ #define ARIZONA_AIF2TX4MIX_INPUT_3_VOLUME        0x75D
+ #define ARIZONA_AIF2TX4MIX_INPUT_4_SOURCE        0x75E
+ #define ARIZONA_AIF2TX4MIX_INPUT_4_VOLUME        0x75F
+ #define ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE        0x760
+ #define ARIZONA_AIF2TX5MIX_INPUT_1_VOLUME        0x761
+ #define ARIZONA_AIF2TX5MIX_INPUT_2_SOURCE        0x762
+ #define ARIZONA_AIF2TX5MIX_INPUT_2_VOLUME        0x763
+ #define ARIZONA_AIF2TX5MIX_INPUT_3_SOURCE        0x764
+ #define ARIZONA_AIF2TX5MIX_INPUT_3_VOLUME        0x765
+ #define ARIZONA_AIF2TX5MIX_INPUT_4_SOURCE        0x766
+ #define ARIZONA_AIF2TX5MIX_INPUT_4_VOLUME        0x767
+ #define ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE        0x768
+ #define ARIZONA_AIF2TX6MIX_INPUT_1_VOLUME        0x769
+ #define ARIZONA_AIF2TX6MIX_INPUT_2_SOURCE        0x76A
+ #define ARIZONA_AIF2TX6MIX_INPUT_2_VOLUME        0x76B
+ #define ARIZONA_AIF2TX6MIX_INPUT_3_SOURCE        0x76C
+ #define ARIZONA_AIF2TX6MIX_INPUT_3_VOLUME        0x76D
+ #define ARIZONA_AIF2TX6MIX_INPUT_4_SOURCE        0x76E
+ #define ARIZONA_AIF2TX6MIX_INPUT_4_VOLUME        0x76F
  #define ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE        0x780
  #define ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME        0x781
  #define ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE        0x782
  /*
   * R677 (0x2A5) - Mic Detect 3
   */
 +#define ARIZONA_MICD_LVL_0                       0x0004  /* MICD_LVL - [2] */
 +#define ARIZONA_MICD_LVL_1                       0x0008  /* MICD_LVL - [3] */
 +#define ARIZONA_MICD_LVL_2                       0x0010  /* MICD_LVL - [4] */
 +#define ARIZONA_MICD_LVL_3                       0x0020  /* MICD_LVL - [5] */
 +#define ARIZONA_MICD_LVL_4                       0x0040  /* MICD_LVL - [6] */
 +#define ARIZONA_MICD_LVL_5                       0x0080  /* MICD_LVL - [7] */
 +#define ARIZONA_MICD_LVL_6                       0x0100  /* MICD_LVL - [8] */
 +#define ARIZONA_MICD_LVL_7                       0x0200  /* MICD_LVL - [9] */
 +#define ARIZONA_MICD_LVL_8                       0x0400  /* MICD_LVL - [10] */
  #define ARIZONA_MICD_LVL_MASK                    0x07FC  /* MICD_LVL - [10:2] */
  #define ARIZONA_MICD_LVL_SHIFT                        2  /* MICD_LVL - [10:2] */
  #define ARIZONA_MICD_LVL_WIDTH                        9  /* MICD_LVL - [10:2] */
  #define ARIZONA_IN_VI_RAMP_SHIFT                      0  /* IN_VI_RAMP - [2:0] */
  #define ARIZONA_IN_VI_RAMP_WIDTH                      3  /* IN_VI_RAMP - [2:0] */
  
+ /*
+  * R780 (0x30C) - HPF Control
+  */
+ #define ARIZONA_IN_HPF_CUT_MASK                  0x0007  /* IN_HPF_CUT [2:0] */
+ #define ARIZONA_IN_HPF_CUT_SHIFT                      0  /* IN_HPF_CUT [2:0] */
+ #define ARIZONA_IN_HPF_CUT_WIDTH                      3  /* IN_HPF_CUT [2:0] */
  /*
   * R784 (0x310) - IN1L Control
   */
+ #define ARIZONA_IN1L_HPF_MASK                    0x8000  /* IN1L_HPF - [15] */
+ #define ARIZONA_IN1L_HPF_SHIFT                       15  /* IN1L_HPF - [15] */
+ #define ARIZONA_IN1L_HPF_WIDTH                        1  /* IN1L_HPF - [15] */
  #define ARIZONA_IN1_OSR_MASK                     0x6000  /* IN1_OSR - [14:13] */
  #define ARIZONA_IN1_OSR_SHIFT                        13  /* IN1_OSR - [14:13] */
  #define ARIZONA_IN1_OSR_WIDTH                         2  /* IN1_OSR - [14:13] */
  /*
   * R788 (0x314) - IN1R Control
   */
+ #define ARIZONA_IN1R_HPF_MASK                    0x8000  /* IN1R_HPF - [15] */
+ #define ARIZONA_IN1R_HPF_SHIFT                       15  /* IN1R_HPF - [15] */
+ #define ARIZONA_IN1R_HPF_WIDTH                        1  /* IN1R_HPF - [15] */
  #define ARIZONA_IN1R_PGA_VOL_MASK                0x00FE  /* IN1R_PGA_VOL - [7:1] */
  #define ARIZONA_IN1R_PGA_VOL_SHIFT                    1  /* IN1R_PGA_VOL - [7:1] */
  #define ARIZONA_IN1R_PGA_VOL_WIDTH                    7  /* IN1R_PGA_VOL - [7:1] */
  /*
   * R792 (0x318) - IN2L Control
   */
+ #define ARIZONA_IN2L_HPF_MASK                    0x8000  /* IN2L_HPF - [15] */
+ #define ARIZONA_IN2L_HPF_SHIFT                       15  /* IN2L_HPF - [15] */
+ #define ARIZONA_IN2L_HPF_WIDTH                        1  /* IN2L_HPF - [15] */
  #define ARIZONA_IN2_OSR_MASK                     0x6000  /* IN2_OSR - [14:13] */
  #define ARIZONA_IN2_OSR_SHIFT                        13  /* IN2_OSR - [14:13] */
  #define ARIZONA_IN2_OSR_WIDTH                         2  /* IN2_OSR - [14:13] */
  /*
   * R796 (0x31C) - IN2R Control
   */
+ #define ARIZONA_IN2R_HPF_MASK                    0x8000  /* IN2R_HPF - [15] */
+ #define ARIZONA_IN2R_HPF_SHIFT                       15  /* IN2R_HPF - [15] */
+ #define ARIZONA_IN2R_HPF_WIDTH                        1  /* IN2R_HPF - [15] */
  #define ARIZONA_IN2R_PGA_VOL_MASK                0x00FE  /* IN2R_PGA_VOL - [7:1] */
  #define ARIZONA_IN2R_PGA_VOL_SHIFT                    1  /* IN2R_PGA_VOL - [7:1] */
  #define ARIZONA_IN2R_PGA_VOL_WIDTH                    7  /* IN2R_PGA_VOL - [7:1] */
  /*
   * R800 (0x320) - IN3L Control
   */
+ #define ARIZONA_IN3L_HPF_MASK                    0x8000  /* IN3L_HPF - [15] */
+ #define ARIZONA_IN3L_HPF_SHIFT                       15  /* IN3L_HPF - [15] */
+ #define ARIZONA_IN3L_HPF_WIDTH                        1  /* IN3L_HPF - [15] */
  #define ARIZONA_IN3_OSR_MASK                     0x6000  /* IN3_OSR - [14:13] */
  #define ARIZONA_IN3_OSR_SHIFT                        13  /* IN3_OSR - [14:13] */
  #define ARIZONA_IN3_OSR_WIDTH                         2  /* IN3_OSR - [14:13] */
  /*
   * R804 (0x324) - IN3R Control
   */
+ #define ARIZONA_IN3R_HPF_MASK                    0x8000  /* IN3R_HPF - [15] */
+ #define ARIZONA_IN3R_HPF_SHIFT                       15  /* IN3R_HPF - [15] */
+ #define ARIZONA_IN3R_HPF_WIDTH                        1  /* IN3R_HPF - [15] */
  #define ARIZONA_IN3R_PGA_VOL_MASK                0x00FE  /* IN3R_PGA_VOL - [7:1] */
  #define ARIZONA_IN3R_PGA_VOL_SHIFT                    1  /* IN3R_PGA_VOL - [7:1] */
  #define ARIZONA_IN3R_PGA_VOL_WIDTH                    7  /* IN3R_PGA_VOL - [7:1] */
  /*
   * R808 (0x328) - IN4 Control
   */
+ #define ARIZONA_IN4L_HPF_MASK                    0x8000  /* IN4L_HPF - [15] */
+ #define ARIZONA_IN4L_HPF_SHIFT                       15  /* IN4L_HPF - [15] */
+ #define ARIZONA_IN4L_HPF_WIDTH                        1  /* IN4L_HPF - [15] */
  #define ARIZONA_IN4_OSR_MASK                     0x6000  /* IN4_OSR - [14:13] */
  #define ARIZONA_IN4_OSR_SHIFT                        13  /* IN4_OSR - [14:13] */
  #define ARIZONA_IN4_OSR_WIDTH                         2  /* IN4_OSR - [14:13] */
  #define ARIZONA_IN4L_DMIC_DLY_SHIFT                   0  /* IN4L_DMIC_DLY - [5:0] */
  #define ARIZONA_IN4L_DMIC_DLY_WIDTH                   6  /* IN4L_DMIC_DLY - [5:0] */
  
+ /*
+  * R812 (0x32C) - IN4R Control
+  */
+ #define ARIZONA_IN4R_HPF_MASK                    0x8000  /* IN4R_HPF - [15] */
+ #define ARIZONA_IN4R_HPF_SHIFT                       15  /* IN4R_HPF - [15] */
+ #define ARIZONA_IN4R_HPF_WIDTH                        1  /* IN4R_HPF - [15] */
  /*
   * R813 (0x32D) - ADC Digital Volume 4R
   */
  /*
   * R1088 (0x440) - DRE Enable
   */
+ #define ARIZONA_DRE3R_ENA                        0x0020  /* DRE3R_ENA */
+ #define ARIZONA_DRE3R_ENA_MASK                   0x0020  /* DRE3R_ENA */
+ #define ARIZONA_DRE3R_ENA_SHIFT                       5  /* DRE3R_ENA */
+ #define ARIZONA_DRE3R_ENA_WIDTH                       1  /* DRE3R_ENA */
  #define ARIZONA_DRE3L_ENA                        0x0010  /* DRE3L_ENA */
  #define ARIZONA_DRE3L_ENA_MASK                   0x0010  /* DRE3L_ENA */
  #define ARIZONA_DRE3L_ENA_SHIFT                       4  /* DRE3L_ENA */
  #define ARIZONA_SPK2_FMT_SHIFT                        0  /* SPK2_FMT */
  #define ARIZONA_SPK2_FMT_WIDTH                        1  /* SPK2_FMT */
  
+ /*
+  * R1184 (0x4A0) - HP1 Short Circuit Ctrl
+  */
+ #define ARIZONA_HP1_SC_ENA                       0x1000  /* HP1_SC_ENA */
+ #define ARIZONA_HP1_SC_ENA_MASK                  0x1000  /* HP1_SC_ENA */
+ #define ARIZONA_HP1_SC_ENA_SHIFT                     12  /* HP1_SC_ENA */
+ #define ARIZONA_HP1_SC_ENA_WIDTH                      1  /* HP1_SC_ENA */
+ /*
+  * R1185 (0x4A1) - HP2 Short Circuit Ctrl
+  */
+ #define ARIZONA_HP2_SC_ENA                       0x1000  /* HP2_SC_ENA */
+ #define ARIZONA_HP2_SC_ENA_MASK                  0x1000  /* HP2_SC_ENA */
+ #define ARIZONA_HP2_SC_ENA_SHIFT                     12  /* HP2_SC_ENA */
+ #define ARIZONA_HP2_SC_ENA_WIDTH                      1  /* HP2_SC_ENA */
+ /*
+  * R1186 (0x4A2) - HP3 Short Circuit Ctrl
+  */
+ #define ARIZONA_HP3_SC_ENA                       0x1000  /* HP3_SC_ENA */
+ #define ARIZONA_HP3_SC_ENA_MASK                  0x1000  /* HP3_SC_ENA */
+ #define ARIZONA_HP3_SC_ENA_SHIFT                     12  /* HP3_SC_ENA */
+ #define ARIZONA_HP3_SC_ENA_WIDTH                      1  /* HP3_SC_ENA */
  /*
   * R1244 (0x4DC) - DAC comp 1
   */
  #define ARIZONA_AIF2TX2_SLOT_SHIFT                    0  /* AIF2TX2_SLOT - [5:0] */
  #define ARIZONA_AIF2TX2_SLOT_WIDTH                    6  /* AIF2TX2_SLOT - [5:0] */
  
+ /*
+  * R1355 (0x54B) - AIF2 Frame Ctrl 5
+  */
+ #define ARIZONA_AIF2TX3_SLOT_MASK                0x003F  /* AIF2TX3_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX3_SLOT_SHIFT                    0  /* AIF2TX3_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX3_SLOT_WIDTH                    6  /* AIF2TX3_SLOT - [5:0] */
+ /*
+  * R1356 (0x54C) - AIF2 Frame Ctrl 6
+  */
+ #define ARIZONA_AIF2TX4_SLOT_MASK                0x003F  /* AIF2TX4_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX4_SLOT_SHIFT                    0  /* AIF2TX4_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX4_SLOT_WIDTH                    6  /* AIF2TX4_SLOT - [5:0] */
+ /*
+  * R1357 (0x54D) - AIF2 Frame Ctrl 7
+  */
+ #define ARIZONA_AIF2TX5_SLOT_MASK                0x003F  /* AIF2TX5_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX5_SLOT_SHIFT                    0  /* AIF2TX5_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX5_SLOT_WIDTH                    6  /* AIF2TX5_SLOT - [5:0] */
+ /*
+  * R1358 (0x54E) - AIF2 Frame Ctrl 8
+  */
+ #define ARIZONA_AIF2TX6_SLOT_MASK                0x003F  /* AIF2TX6_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX6_SLOT_SHIFT                    0  /* AIF2TX6_SLOT - [5:0] */
+ #define ARIZONA_AIF2TX6_SLOT_WIDTH                    6  /* AIF2TX6_SLOT - [5:0] */
  /*
   * R1361 (0x551) - AIF2 Frame Ctrl 11
   */
  #define ARIZONA_AIF2RX2_SLOT_SHIFT                    0  /* AIF2RX2_SLOT - [5:0] */
  #define ARIZONA_AIF2RX2_SLOT_WIDTH                    6  /* AIF2RX2_SLOT - [5:0] */
  
+ /*
+  * R1363 (0x553) - AIF2 Frame Ctrl 13
+  */
+ #define ARIZONA_AIF2RX3_SLOT_MASK                0x003F  /* AIF2RX3_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX3_SLOT_SHIFT                    0  /* AIF2RX3_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX3_SLOT_WIDTH                    6  /* AIF2RX3_SLOT - [5:0] */
+ /*
+  * R1364 (0x554) - AIF2 Frame Ctrl 14
+  */
+ #define ARIZONA_AIF2RX4_SLOT_MASK                0x003F  /* AIF2RX4_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX4_SLOT_SHIFT                    0  /* AIF2RX4_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX4_SLOT_WIDTH                    6  /* AIF2RX4_SLOT - [5:0] */
+ /*
+  * R1365 (0x555) - AIF2 Frame Ctrl 15
+  */
+ #define ARIZONA_AIF2RX5_SLOT_MASK                0x003F  /* AIF2RX5_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX5_SLOT_SHIFT                    0  /* AIF2RX5_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX5_SLOT_WIDTH                    6  /* AIF2RX5_SLOT - [5:0] */
+ /*
+  * R1366 (0x556) - AIF2 Frame Ctrl 16
+  */
+ #define ARIZONA_AIF2RX6_SLOT_MASK                0x003F  /* AIF2RX6_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX6_SLOT_SHIFT                    0  /* AIF2RX6_SLOT - [5:0] */
+ #define ARIZONA_AIF2RX6_SLOT_WIDTH                    6  /* AIF2RX6_SLOT - [5:0] */
  /*
   * R1369 (0x559) - AIF2 Tx Enables
   */
+ #define ARIZONA_AIF2TX6_ENA                      0x0020  /* AIF2TX6_ENA */
+ #define ARIZONA_AIF2TX6_ENA_MASK                 0x0020  /* AIF2TX6_ENA */
+ #define ARIZONA_AIF2TX6_ENA_SHIFT                     5  /* AIF2TX6_ENA */
+ #define ARIZONA_AIF2TX6_ENA_WIDTH                     1  /* AIF2TX6_ENA */
+ #define ARIZONA_AIF2TX5_ENA                      0x0010  /* AIF2TX5_ENA */
+ #define ARIZONA_AIF2TX5_ENA_MASK                 0x0010  /* AIF2TX5_ENA */
+ #define ARIZONA_AIF2TX5_ENA_SHIFT                     4  /* AIF2TX5_ENA */
+ #define ARIZONA_AIF2TX5_ENA_WIDTH                     1  /* AIF2TX5_ENA */
+ #define ARIZONA_AIF2TX4_ENA                      0x0008  /* AIF2TX4_ENA */
+ #define ARIZONA_AIF2TX4_ENA_MASK                 0x0008  /* AIF2TX4_ENA */
+ #define ARIZONA_AIF2TX4_ENA_SHIFT                     3  /* AIF2TX4_ENA */
+ #define ARIZONA_AIF2TX4_ENA_WIDTH                     1  /* AIF2TX4_ENA */
+ #define ARIZONA_AIF2TX3_ENA                      0x0004  /* AIF2TX3_ENA */
+ #define ARIZONA_AIF2TX3_ENA_MASK                 0x0004  /* AIF2TX3_ENA */
+ #define ARIZONA_AIF2TX3_ENA_SHIFT                     2  /* AIF2TX3_ENA */
+ #define ARIZONA_AIF2TX3_ENA_WIDTH                     1  /* AIF2TX3_ENA */
  #define ARIZONA_AIF2TX2_ENA                      0x0002  /* AIF2TX2_ENA */
  #define ARIZONA_AIF2TX2_ENA_MASK                 0x0002  /* AIF2TX2_ENA */
  #define ARIZONA_AIF2TX2_ENA_SHIFT                     1  /* AIF2TX2_ENA */
  /*
   * R1370 (0x55A) - AIF2 Rx Enables
   */
+ #define ARIZONA_AIF2RX6_ENA                      0x0020  /* AIF2RX6_ENA */
+ #define ARIZONA_AIF2RX6_ENA_MASK                 0x0020  /* AIF2RX6_ENA */
+ #define ARIZONA_AIF2RX6_ENA_SHIFT                     5  /* AIF2RX6_ENA */
+ #define ARIZONA_AIF2RX6_ENA_WIDTH                     1  /* AIF2RX6_ENA */
+ #define ARIZONA_AIF2RX5_ENA                      0x0010  /* AIF2RX5_ENA */
+ #define ARIZONA_AIF2RX5_ENA_MASK                 0x0010  /* AIF2RX5_ENA */
+ #define ARIZONA_AIF2RX5_ENA_SHIFT                     4  /* AIF2RX5_ENA */
+ #define ARIZONA_AIF2RX5_ENA_WIDTH                     1  /* AIF2RX5_ENA */
+ #define ARIZONA_AIF2RX4_ENA                      0x0008  /* AIF2RX4_ENA */
+ #define ARIZONA_AIF2RX4_ENA_MASK                 0x0008  /* AIF2RX4_ENA */
+ #define ARIZONA_AIF2RX4_ENA_SHIFT                     3  /* AIF2RX4_ENA */
+ #define ARIZONA_AIF2RX4_ENA_WIDTH                     1  /* AIF2RX4_ENA */
+ #define ARIZONA_AIF2RX3_ENA                      0x0004  /* AIF2RX3_ENA */
+ #define ARIZONA_AIF2RX3_ENA_MASK                 0x0004  /* AIF2RX3_ENA */
+ #define ARIZONA_AIF2RX3_ENA_SHIFT                     2  /* AIF2RX3_ENA */
+ #define ARIZONA_AIF2RX3_ENA_WIDTH                     1  /* AIF2RX3_ENA */
  #define ARIZONA_AIF2RX2_ENA                      0x0002  /* AIF2RX2_ENA */
  #define ARIZONA_AIF2RX2_ENA_MASK                 0x0002  /* AIF2RX2_ENA */
  #define ARIZONA_AIF2RX2_ENA_SHIFT                     1  /* AIF2RX2_ENA */