summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/cputime_nsecs.h5
-rw-r--r--include/asm-generic/vmlinux.lds.h1
-rw-r--r--include/drm/drm_cache.h9
-rw-r--r--include/drm/drm_dp_mst_helper.h27
-rw-r--r--include/drm/drm_fixed.h53
-rw-r--r--include/dt-bindings/clock/audio-ext-clk.h1
-rw-r--r--include/dt-bindings/clock/msm-clocks-cobalt.h10
-rw-r--r--include/dt-bindings/clock/msm-clocks-hwio-cobalt.h1
-rw-r--r--include/dt-bindings/clock/qcom,gcc-msmfalcon.h243
-rw-r--r--include/dt-bindings/clock/qcom,gpu-msmfalcon.h38
-rw-r--r--include/dt-bindings/clock/qcom,mmcc-msmfalcon.h194
-rw-r--r--include/linux/ata.h4
-rw-r--r--include/linux/bio.h32
-rw-r--r--include/linux/blkdev.h23
-rw-r--r--include/linux/bluetooth-power.h11
-rw-r--r--include/linux/cache.h14
-rw-r--r--include/linux/ceph/messenger.h2
-rw-r--r--include/linux/cgroup-defs.h6
-rw-r--r--include/linux/clk-provider.h3
-rw-r--r--include/linux/clk.h10
-rw-r--r--include/linux/cpuset.h6
-rw-r--r--include/linux/dcache.h4
-rw-r--r--include/linux/efi.h5
-rw-r--r--include/linux/hyperv.h18
-rw-r--r--include/linux/inet_lro.h89
-rw-r--r--include/linux/init.h4
-rw-r--r--include/linux/leds-qpnp-flash-v2.h26
-rw-r--r--include/linux/libata.h2
-rw-r--r--include/linux/mfd/msm-cdc-pinctrl.h6
-rw-r--r--include/linux/mfd/wcd934x/registers.h1845
-rw-r--r--include/linux/mfd/wcd9xxx/core.h3
-rw-r--r--include/linux/mfd/wcd9xxx/wcd9xxx-utils.h22
-rw-r--r--include/linux/msm_thermal.h1
-rw-r--r--include/linux/nfs_fs.h4
-rw-r--r--include/linux/of_batterydata.h11
-rw-r--r--include/linux/sched.h1
-rw-r--r--include/linux/shmem_fs.h5
-rw-r--r--include/linux/skbuff.h1
-rw-r--r--include/linux/thermal.h5
-rw-r--r--include/linux/trace_events.h2
-rw-r--r--include/linux/tracepoint.h17
-rw-r--r--include/linux/ucs2_string.h4
-rw-r--r--include/linux/usb.h11
-rw-r--r--include/linux/usb/hcd.h19
-rw-r--r--include/linux/writeback.h5
-rw-r--r--include/media/videobuf2-core.h2
-rw-r--r--include/net/af_unix.h4
-rw-r--r--include/net/cnss.h32
-rw-r--r--include/net/cnss_common.h73
-rw-r--r--include/net/dst_metadata.h18
-rw-r--r--include/net/inet_connection_sock.h5
-rw-r--r--include/net/ip6_route.h12
-rw-r--r--include/net/ip_fib.h1
-rw-r--r--include/net/iw_handler.h6
-rw-r--r--include/net/scm.h1
-rw-r--r--include/net/tcp.h16
-rw-r--r--include/soc/qcom/clock-local2.h1
-rw-r--r--include/soc/qcom/smem.h1
-rw-r--r--include/target/target_core_backend.h3
-rw-r--r--include/target/target_core_base.h3
-rw-r--r--include/uapi/linux/Kbuild2
-rw-r--r--include/uapi/linux/msm_kgsl.h2
-rw-r--r--include/uapi/linux/v4l2-controls.h11
-rw-r--r--include/uapi/linux/videodev2.h2
-rw-r--r--include/uapi/media/msm_sde_rotator.h14
-rw-r--r--include/uapi/media/msmb_camera.h19
-rw-r--r--include/uapi/media/msmb_generic_buf_mgr.h7
-rw-r--r--include/uapi/media/msmb_ispif.h36
68 files changed, 2907 insertions, 167 deletions
diff --git a/include/asm-generic/cputime_nsecs.h b/include/asm-generic/cputime_nsecs.h
index 0419485891f2..0f1c6f315cdc 100644
--- a/include/asm-generic/cputime_nsecs.h
+++ b/include/asm-generic/cputime_nsecs.h
@@ -75,7 +75,7 @@ typedef u64 __nocast cputime64_t;
*/
static inline cputime_t timespec_to_cputime(const struct timespec *val)
{
- u64 ret = val->tv_sec * NSEC_PER_SEC + val->tv_nsec;
+ u64 ret = (u64)val->tv_sec * NSEC_PER_SEC + val->tv_nsec;
return (__force cputime_t) ret;
}
static inline void cputime_to_timespec(const cputime_t ct, struct timespec *val)
@@ -91,7 +91,8 @@ static inline void cputime_to_timespec(const cputime_t ct, struct timespec *val)
*/
static inline cputime_t timeval_to_cputime(const struct timeval *val)
{
- u64 ret = val->tv_sec * NSEC_PER_SEC + val->tv_usec * NSEC_PER_USEC;
+ u64 ret = (u64)val->tv_sec * NSEC_PER_SEC +
+ val->tv_usec * NSEC_PER_USEC;
return (__force cputime_t) ret;
}
static inline void cputime_to_timeval(const cputime_t ct, struct timeval *val)
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index c4bd0e2c173c..772c784ba763 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -256,6 +256,7 @@
.rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
VMLINUX_SYMBOL(__start_rodata) = .; \
*(.rodata) *(.rodata.*) \
+ *(.data..ro_after_init) /* Read only after init */ \
*(__vermagic) /* Kernel version magic */ \
. = ALIGN(8); \
VMLINUX_SYMBOL(__start___tracepoints_ptrs) = .; \
diff --git a/include/drm/drm_cache.h b/include/drm/drm_cache.h
index 7bfb063029d8..461a0558bca4 100644
--- a/include/drm/drm_cache.h
+++ b/include/drm/drm_cache.h
@@ -35,4 +35,13 @@
void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
+static inline bool drm_arch_can_wc_memory(void)
+{
+#if defined(CONFIG_PPC) && !defined(CONFIG_NOT_COHERENT_CACHE)
+ return false;
+#else
+ return true;
+#endif
+}
+
#endif
diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h
index 5340099741ae..f356f9716474 100644
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -44,8 +44,6 @@ struct drm_dp_vcpi {
/**
* struct drm_dp_mst_port - MST port
* @kref: reference count for this port.
- * @guid_valid: for DP 1.2 devices if we have validated the GUID.
- * @guid: guid for DP 1.2 device on this port.
* @port_num: port number
* @input: if this port is an input port.
* @mcs: message capability status - DP 1.2 spec.
@@ -70,10 +68,6 @@ struct drm_dp_vcpi {
struct drm_dp_mst_port {
struct kref kref;
- /* if dpcd 1.2 device is on this port - its GUID info */
- bool guid_valid;
- u8 guid[16];
-
u8 port_num;
bool input;
bool mcs;
@@ -109,10 +103,12 @@ struct drm_dp_mst_port {
* @tx_slots: transmission slots for this device.
* @last_seqno: last sequence number used to talk to this.
* @link_address_sent: if a link address message has been sent to this device yet.
+ * @guid: guid for DP 1.2 branch device. port under this branch can be
+ * identified by port #.
*
* This structure represents an MST branch device, there is one
- * primary branch device at the root, along with any others connected
- * to downstream ports
+ * primary branch device at the root, along with any other branches connected
+ * to downstream port of parent branches.
*/
struct drm_dp_mst_branch {
struct kref kref;
@@ -131,6 +127,9 @@ struct drm_dp_mst_branch {
struct drm_dp_sideband_msg_tx *tx_slots[2];
int last_seqno;
bool link_address_sent;
+
+ /* global unique identifier to identify branch devices */
+ u8 guid[16];
};
@@ -405,11 +404,9 @@ struct drm_dp_payload {
* @conn_base_id: DRM connector ID this mgr is connected to.
* @down_rep_recv: msg receiver state for down replies.
* @up_req_recv: msg receiver state for up requests.
- * @lock: protects mst state, primary, guid, dpcd.
+ * @lock: protects mst state, primary, dpcd.
* @mst_state: if this manager is enabled for an MST capable port.
* @mst_primary: pointer to the primary branch device.
- * @guid_valid: GUID valid for the primary branch device.
- * @guid: GUID for primary port.
* @dpcd: cache of DPCD for primary port.
* @pbn_div: PBN to slots divisor.
*
@@ -431,13 +428,11 @@ struct drm_dp_mst_topology_mgr {
struct drm_dp_sideband_msg_rx up_req_recv;
/* pointer to info about the initial MST device */
- struct mutex lock; /* protects mst_state + primary + guid + dpcd */
+ struct mutex lock; /* protects mst_state + primary + dpcd */
bool mst_state;
struct drm_dp_mst_branch *mst_primary;
- /* primary MST device GUID */
- bool guid_valid;
- u8 guid[16];
+
u8 dpcd[DP_RECEIVER_CAP_SIZE];
u8 sink_count;
int pbn_div;
@@ -450,9 +445,7 @@ struct drm_dp_mst_topology_mgr {
the mstb tx_slots and txmsg->state once they are queued */
struct mutex qlock;
struct list_head tx_msg_downq;
- struct list_head tx_msg_upq;
bool tx_down_in_progress;
- bool tx_up_in_progress;
/* payload info + lock for it */
struct mutex payload_lock;
diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h
index d639049a613d..553210c02ee0 100644
--- a/include/drm/drm_fixed.h
+++ b/include/drm/drm_fixed.h
@@ -73,18 +73,28 @@ static inline u32 dfixed_div(fixed20_12 A, fixed20_12 B)
#define DRM_FIXED_ONE (1ULL << DRM_FIXED_POINT)
#define DRM_FIXED_DECIMAL_MASK (DRM_FIXED_ONE - 1)
#define DRM_FIXED_DIGITS_MASK (~DRM_FIXED_DECIMAL_MASK)
+#define DRM_FIXED_EPSILON 1LL
+#define DRM_FIXED_ALMOST_ONE (DRM_FIXED_ONE - DRM_FIXED_EPSILON)
static inline s64 drm_int2fixp(int a)
{
return ((s64)a) << DRM_FIXED_POINT;
}
-static inline int drm_fixp2int(int64_t a)
+static inline int drm_fixp2int(s64 a)
{
return ((s64)a) >> DRM_FIXED_POINT;
}
-static inline unsigned drm_fixp_msbset(int64_t a)
+static inline int drm_fixp2int_ceil(s64 a)
+{
+ if (a > 0)
+ return drm_fixp2int(a + DRM_FIXED_ALMOST_ONE);
+ else
+ return drm_fixp2int(a - DRM_FIXED_ALMOST_ONE);
+}
+
+static inline unsigned drm_fixp_msbset(s64 a)
{
unsigned shift, sign = (a >> 63) & 1;
@@ -136,6 +146,45 @@ static inline s64 drm_fixp_div(s64 a, s64 b)
return result;
}
+static inline s64 drm_fixp_from_fraction(s64 a, s64 b)
+{
+ s64 res;
+ bool a_neg = a < 0;
+ bool b_neg = b < 0;
+ u64 a_abs = a_neg ? -a : a;
+ u64 b_abs = b_neg ? -b : b;
+ u64 rem;
+
+ /* determine integer part */
+ u64 res_abs = div64_u64_rem(a_abs, b_abs, &rem);
+
+ /* determine fractional part */
+ {
+ u32 i = DRM_FIXED_POINT;
+
+ do {
+ rem <<= 1;
+ res_abs <<= 1;
+ if (rem >= b_abs) {
+ res_abs |= 1;
+ rem -= b_abs;
+ }
+ } while (--i != 0);
+ }
+
+ /* round up LSB */
+ {
+ u64 summand = (rem << 1) >= b_abs;
+
+ res_abs += summand;
+ }
+
+ res = (s64) res_abs;
+ if (a_neg ^ b_neg)
+ res = -res;
+ return res;
+}
+
static inline s64 drm_fixp_exp(s64 x)
{
s64 tolerance = div64_s64(DRM_FIXED_ONE, 1000000);
diff --git a/include/dt-bindings/clock/audio-ext-clk.h b/include/dt-bindings/clock/audio-ext-clk.h
index 4945d6956293..6e4932342751 100644
--- a/include/dt-bindings/clock/audio-ext-clk.h
+++ b/include/dt-bindings/clock/audio-ext-clk.h
@@ -18,4 +18,5 @@
#define clk_audio_pmi_clk 0xcbfe416d
#define clk_audio_ap_clk2 0x454d1e91
#define clk_audio_lpass_mclk 0xf0f2a284
+#define clk_audio_pmi_lnbb_clk 0x57312343
#endif
diff --git a/include/dt-bindings/clock/msm-clocks-cobalt.h b/include/dt-bindings/clock/msm-clocks-cobalt.h
index d3cfc622b323..47cd73b08a83 100644
--- a/include/dt-bindings/clock/msm-clocks-cobalt.h
+++ b/include/dt-bindings/clock/msm-clocks-cobalt.h
@@ -197,7 +197,6 @@
#define clk_gcc_gpu_snoc_dvm_gfx_clk 0xc9147451
#define clk_gcc_gpu_bimc_gfx_clk 0x3909459b
#define clk_gcc_gpu_bimc_gfx_src_clk 0x377cb748
-#define clk_gcc_bimc_hmss_axi_clk 0x84653931
#define clk_gcc_gpu_cfg_ahb_clk 0x72f20a57
#define clk_gcc_gpu_iref_clk 0xfd82abad
#define clk_gcc_hmss_ahb_clk 0x62818713
@@ -306,6 +305,11 @@
#define clk_csi2_clk_src 0x4113589f
#define clk_csi3_clk_src 0xfd934012
#define clk_fd_core_clk_src 0xe4799ab7
+#define clk_ext_dp_phy_pll_vco 0x441b576b
+#define clk_ext_dp_phy_pll_link 0xea12644c
+#define clk_dp_link_clk_src 0x370d0626
+#define clk_dp_crypto_clk_src 0xf8faa811
+#define clk_dp_pixel_clk_src 0xf5dfbabf
#define clk_ext_extpclk_clk_src 0xe5b273af
#define clk_ext_pclk0_clk_src 0x087c1612
#define clk_ext_pclk1_clk_src 0x8067c5a3
@@ -405,6 +409,10 @@
#define clk_mmss_mdss_byte1_intf_clk 0xcf654d8e
#define clk_mmss_mdss_byte1_intf_div_clk 0xcdf334c5
#define clk_mmss_mdss_dp_aux_clk 0x23125eb6
+#define clk_mmss_mdss_dp_crypto_clk 0x9a072d4e
+#define clk_mmss_mdss_dp_link_clk 0x8dd302d1
+#define clk_mmss_mdss_dp_link_intf_clk 0x70e386e6
+#define clk_mmss_mdss_dp_pixel_clk 0xb707b765
#define clk_mmss_mdss_dp_gtc_clk 0xb59c151a
#define clk_mmss_mdss_esc0_clk 0x5721ff83
#define clk_mmss_mdss_esc1_clk 0xc3d0376b
diff --git a/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h b/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h
index af26f826e18c..757344602f4a 100644
--- a/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h
+++ b/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h
@@ -171,7 +171,6 @@
#define GCC_GPU_CFG_AHB_CBCR 0x71004
#define GCC_GPU_SNOC_DVM_GFX_CBCR 0x71018
#define GCC_GPU_IREF_EN 0x88010
-#define GCC_BIMC_HMSS_AXI_CBCR 0x48004
#define GCC_HMSS_AHB_CBCR 0x48000
#define GCC_HMSS_DVM_BUS_CBCR 0x4808C
#define GCC_HMSS_RBCPR_CBCR 0x48008
diff --git a/include/dt-bindings/clock/qcom,gcc-msmfalcon.h b/include/dt-bindings/clock/qcom,gcc-msmfalcon.h
new file mode 100644
index 000000000000..d0a8419ee54c
--- /dev/null
+++ b/include/dt-bindings/clock/qcom,gcc-msmfalcon.h
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _DT_BINDINGS_CLK_MSM_GCC_FALCON_H
+#define _DT_BINDINGS_CLK_MSM_GCC_FALCON_H
+
+/* Clocks */
+#define GPLL0 0
+#define GPLL1 1
+#define GPLL2 2
+#define GPLL3 3
+#define GPLL4 4
+#define GPLL5 5
+#define GPLL6 6
+#define MMSS_QM_CORE_CLK_SRC 7
+#define USB30_MASTER_CLK_SRC 8
+#define USB30_MOCK_UTMI_CLK_SRC 9
+#define USB3_PHY_AUX_CLK_SRC 10
+#define USB20_MASTER_CLK_SRC 11
+#define USB20_MOCK_UTMI_CLK_SRC 12
+#define SDCC2_APPS_CLK_SRC 13
+#define SDCC1_ICE_CORE_CLK_SRC 14
+#define SDCC1_APPS_CLK_SRC 15
+#define BLSP1_QUP1_SPI_APPS_CLK_SRC 16
+#define BLSP1_QUP1_I2C_APPS_CLK_SRC 17
+#define BLSP1_UART1_APPS_CLK_SRC 18
+#define BLSP1_QUP2_SPI_APPS_CLK_SRC 19
+#define BLSP1_QUP2_I2C_APPS_CLK_SRC 20
+#define BLSP1_UART2_APPS_CLK_SRC 21
+#define BLSP1_QUP3_SPI_APPS_CLK_SRC 22
+#define BLSP1_QUP3_I2C_APPS_CLK_SRC 23
+#define BLSP1_QUP4_SPI_APPS_CLK_SRC 24
+#define BLSP1_QUP4_I2C_APPS_CLK_SRC 25
+#define BLSP2_QUP1_SPI_APPS_CLK_SRC 26
+#define BLSP2_QUP1_I2C_APPS_CLK_SRC 27
+#define BLSP2_UART1_APPS_CLK_SRC 28
+#define BLSP2_QUP2_SPI_APPS_CLK_SRC 29
+#define BLSP2_QUP2_I2C_APPS_CLK_SRC 30
+#define BLSP2_UART2_APPS_CLK_SRC 31
+#define BLSP2_QUP3_SPI_APPS_CLK_SRC 32
+#define BLSP2_QUP3_I2C_APPS_CLK_SRC 33
+#define BLSP2_QUP4_SPI_APPS_CLK_SRC 34
+#define BLSP2_QUP4_I2C_APPS_CLK_SRC 35
+#define PDM2_CLK_SRC 36
+#define HMSS_AHB_CLK_SRC 37
+#define BIMC_HMSS_AXI_CLK_SRC 38
+#define HMSS_RBCPR_CLK_SRC 39
+#define HMSS_GPLL0_CLK_SRC 40
+#define HMSS_GPLL4_CLK_SRC 41
+#define GP1_CLK_SRC 42
+#define GP2_CLK_SRC 43
+#define GP3_CLK_SRC 44
+#define UFS_AXI_CLK_SRC 45
+#define UFS_ICE_CORE_CLK_SRC 46
+#define UFS_UNIPRO_CORE_CLK_SRC 47
+#define UFS_PHY_AUX_CLK_SRC 48
+#define QSPI_SER_CLK_SRC 49
+#define GLM_CLK_SRC 50
+#define GCC_MMSS_SYS_NOC_AXI_CLK 51
+#define GCC_MMSS_NOC_CFG_AHB_CLK 52
+#define GCC_MMSS_QM_CORE_CLK 53
+#define GCC_MMSS_QM_AHB_CLK 54
+#define GCC_USB30_MASTER_CLK 55
+#define GCC_USB30_SLEEP_CLK 56
+#define GCC_USB30_MOCK_UTMI_CLK 57
+#define GCC_USB3_PHY_AUX_CLK 58
+#define GCC_USB3_PHY_PIPE_CLK 59
+#define GCC_USB20_MASTER_CLK 60
+#define GCC_USB20_SLEEP_CLK 61
+#define GCC_USB20_MOCK_UTMI_CLK 62
+#define GCC_USB_PHY_CFG_AHB2PHY_CLK 63
+#define GCC_SDCC2_APPS_CLK 64
+#define GCC_SDCC2_AHB_CLK 65
+#define GCC_SDCC1_APPS_CLK 66
+#define GCC_SDCC1_AHB_CLK 67
+#define GCC_SDCC1_ICE_CORE_CLK 68
+#define GCC_BLSP1_AHB_CLK 69
+#define GCC_BLSP1_SLEEP_CLK 70
+#define GCC_BLSP1_QUP1_SPI_APPS_CLK 71
+#define GCC_BLSP1_QUP1_I2C_APPS_CLK 72
+#define GCC_BLSP1_UART1_APPS_CLK 73
+#define GCC_BLSP1_QUP2_SPI_APPS_CLK 74
+#define GCC_BLSP1_QUP2_I2C_APPS_CLK 75
+#define GCC_BLSP1_UART2_APPS_CLK 76
+#define GCC_BLSP1_QUP3_SPI_APPS_CLK 77
+#define GCC_BLSP1_QUP3_I2C_APPS_CLK 78
+#define GCC_BLSP1_QUP4_SPI_APPS_CLK 79
+#define GCC_BLSP1_QUP4_I2C_APPS_CLK 80
+#define GCC_BLSP2_AHB_CLK 81
+#define GCC_BLSP2_SLEEP_CLK 82
+#define GCC_BLSP2_QUP1_SPI_APPS_CLK 83
+#define GCC_BLSP2_QUP1_I2C_APPS_CLK 84
+#define GCC_BLSP2_UART1_APPS_CLK 85
+#define GCC_BLSP2_QUP2_SPI_APPS_CLK 86
+#define GCC_BLSP2_QUP2_I2C_APPS_CLK 87
+#define GCC_BLSP2_UART2_APPS_CLK 88
+#define GCC_BLSP2_QUP3_SPI_APPS_CLK 89
+#define GCC_BLSP2_QUP3_I2C_APPS_CLK 90
+#define GCC_BLSP2_QUP4_SPI_APPS_CLK 91
+#define GCC_BLSP2_QUP4_I2C_APPS_CLK 92
+#define GCC_PDM_AHB_CLK 93
+#define GCC_PDM_XO4_CLK 94
+#define GCC_PDM2_CLK 95
+#define GCC_PRNG_AHB_CLK 96
+#define GCC_BIMC_GFX_CLK 97
+#define GCC_MCCC_CFG_AHB_CLK 98
+#define GCC_LPASS_TRIG_CLK 99
+#define GCC_LPASS_AT_CLK 100
+#define GCC_TURING_TRIG_CLK 101
+#define GCC_TURING_AT_CLK 102
+#define GCC_HMSS_AHB_CLK 103
+#define GCC_BIMC_HMSS_AXI_CLK 104
+#define GCC_HMSS_RBCPR_CLK 105
+#define GCC_HMSS_TRIG_CLK 106
+#define GCC_HMSS_AT_CLK 107
+#define GCC_HMSS_DVM_BUS_CLK 108
+#define GCC_GP1_CLK 109
+#define GCC_GP2_CLK 110
+#define GCC_GP3_CLK 111
+#define GCC_UFS_AXI_CLK 112
+#define GCC_UFS_AHB_CLK 113
+#define GCC_UFS_TX_SYMBOL_0_CLK 114
+#define GCC_UFS_RX_SYMBOL_0_CLK 115
+#define GCC_UFS_UNIPRO_CORE_CLK 116
+#define GCC_UFS_ICE_CORE_CLK 117
+#define GCC_UFS_PHY_AUX_CLK 118
+#define GCC_UFS_RX_SYMBOL_1_CLK 119
+#define GCC_AGGRE2_USB3_AXI_CLK 120
+#define GCC_AGGRE2_UFS_AXI_CLK 121
+#define GCC_QSPI_AHB_CLK 122
+#define GCC_QSPI_SER_CLK 123
+#define GCC_GLM_AHB_CLK 124
+#define GCC_GLM_CLK 125
+#define GCC_GLM_XO_CLK 126
+#define GCC_WCSS_AHB_S0_CLK 127
+#define GCC_WCSS_AXI_M_CLK 128
+#define GCC_WCSS_ECAHB_CLK 129
+#define GCC_WCSS_SHDREG_AHB_CLK 130
+#define GCC_GPU_CFG_AHB_CLK 131
+#define GCC_GPU_BIMC_GFX_SRC_CLK 132
+#define GCC_GPU_BIMC_GFX_CLK 133
+#define GCC_GPU_SNOC_DVM_GFX_CLK 134
+
+/* Block Resets */
+#define GCC_SYSTEM_NOC_BCR 0
+#define GCC_CONFIG_NOC_BCR 1
+#define GCC_IMEM_BCR 2
+#define GCC_MMSS_BCR 3
+#define GCC_PIMEM_BCR 4
+#define GCC_QDSS_BCR 5
+#define GCC_USB_30_BCR 6
+#define GCC_USB_20_BCR 7
+#define GCC_QUSB2PHY_PRIM_BCR 8
+#define GCC_QUSB2PHY_SEC_BCR 9
+#define GCC_USB_PHY_CFG_AHB2PHY_BCR 10
+#define GCC_SDCC2_BCR 11
+#define GCC_SDCC1_BCR 12
+#define GCC_BLSP1_BCR 13
+#define GCC_BLSP1_QUP1_BCR 14
+#define GCC_BLSP1_UART1_BCR 15
+#define GCC_BLSP1_QUP2_BCR 16
+#define GCC_BLSP1_UART2_BCR 17
+#define GCC_BLSP1_QUP3_BCR 18
+#define GCC_BLSP1_QUP4_BCR 19
+#define GCC_BLSP2_BCR 20
+#define GCC_BLSP2_QUP1_BCR 21
+#define GCC_BLSP2_UART1_BCR 22
+#define GCC_BLSP2_QUP2_BCR 23
+#define GCC_BLSP2_UART2_BCR 24
+#define GCC_BLSP2_QUP3_BCR 25
+#define GCC_BLSP2_QUP4_BCR 26
+#define GCC_PDM_BCR 27
+#define GCC_PRNG_BCR 28
+#define GCC_TCSR_BCR 29
+#define GCC_BOOT_ROM_BCR 30
+#define GCC_MSG_RAM_BCR 31
+#define GCC_TLMM_BCR 32
+#define GCC_MPM_BCR 33
+#define GCC_SEC_CTRL_BCR 34
+#define GCC_SPMI_BCR 35
+#define GCC_SPDM_BCR 36
+#define GCC_CE1_BCR 37
+#define GCC_BIMC_BCR 38
+#define GCC_SNOC_BUS_TIMEOUT0_BCR 39
+#define GCC_SNOC_BUS_TIMEOUT1_BCR 40
+#define GCC_SNOC_BUS_TIMEOUT3_BCR 41
+#define GCC_SNOC_BUS_TIMEOUT_EXTREF_BCR 42
+#define GCC_SNOC_BUS_TIMEOUT4_BCR 43
+#define GCC_PNOC_BUS_TIMEOUT0_BCR 44
+#define GCC_CNOC_PERIPH_BUS_TIMEOUT1_BCR 45
+#define GCC_CNOC_PERIPH_BUS_TIMEOUT2_BCR 46
+#define GCC_CNOC_BUS_TIMEOUT0_BCR 47
+#define GCC_CNOC_BUS_TIMEOUT2_BCR 48
+#define GCC_CNOC_BUS_TIMEOUT3_BCR 49
+#define GCC_CNOC_BUS_TIMEOUT4_BCR 50
+#define GCC_CNOC_BUS_TIMEOUT5_BCR 51
+#define GCC_CNOC_BUS_TIMEOUT6_BCR 52
+#define GCC_CNOC_BUS_TIMEOUT7_BCR 53
+#define GCC_CNOC_BUS_TIMEOUT8_BCR 54
+#define GCC_CNOC_BUS_TIMEOUT9_BCR 55
+#define GCC_CNOC_BUS_TIMEOUT10_BCR 56
+#define GCC_CNOC_BUS_TIMEOUT11_BCR 57
+#define GCC_CNOC_BUS_TIMEOUT12_BCR 58
+#define GCC_CNOC_BUS_TIMEOUT13_BCR 59
+#define GCC_CNOC_BUS_TIMEOUT14_BCR 60
+#define GCC_CNOC_BUS_TIMEOUT_EXTREF_BCR 61
+#define GCC_APB2JTAG_BCR 62
+#define GCC_RBCPR_CX_BCR 63
+#define GCC_RBCPR_MX_BCR 64
+#define GCC_OBT_ODT_BCR 65
+#define GCC_UFS_BCR 66
+#define GCC_VS_BCR 67
+#define GCC_AGGRE2_NOC_BCR 68
+#define GCC_DCC_BCR 69
+#define GCC_QSPI_BCR 70
+#define GCC_IPA_BCR 71
+#define GCC_GLM_BCR 72
+#define GCC_MSMPU_BCR 73
+#define GCC_QREFS_VBG_CAL_BCR 74
+#define GCC_WCSS_BCR 75
+#define GCC_GPU_BCR 76
+#define GCC_AHB2PHY_EAST_BCR 77
+#define GCC_CM_PHY_REFGEN1_BCR 78
+#define GCC_CM_PHY_REFGEN2_BCR 79
+#define GCC_SRAM_SENSOR_BCR 80
+
+/* GDSC */
+#define UFS_GDSC 0
+#define USB_30_GDSC 1
+#define DDR_DIM_WRAPPER_GDSC 2
+#define MMSS_GDSC 3
+
+#endif
diff --git a/include/dt-bindings/clock/qcom,gpu-msmfalcon.h b/include/dt-bindings/clock/qcom,gpu-msmfalcon.h
new file mode 100644
index 000000000000..a167716e9cc6
--- /dev/null
+++ b/include/dt-bindings/clock/qcom,gpu-msmfalcon.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _DT_BINDINGS_CLK_MSM_GPU_FALCON_H
+#define _DT_BINDINGS_CLK_MSM_GPU_FALCON_H
+
+/* Clocks */
+#define GPU_PLL0_PLL 0
+#define GPU_PLL1_PLL 1
+#define GFX3D_CLK_SRC 2
+#define RBBMTIMER_CLK_SRC 3
+#define RBCPR_CLK_SRC 4
+#define GPUCC_CXO_CLK 5
+#define GPUCC_GFX3D_CLK 6
+#define GPUCC_RBBMTIMER_CLK 7
+#define GPUCC_RBCPR_CLK 8
+
+/* Block Reset */
+#define GPU_CC_GPU_GX_BCR 0
+#define GPU_CC_GPU_CX_BCR 1
+#define GPU_CC_RBCPR_BCR 2
+#define GPU_CC_SPDM_BCR 3
+
+/* GDSC */
+#define GPU_GX_GDSC 0
+#define GPU_CX_GDSC 1
+
+#endif
diff --git a/include/dt-bindings/clock/qcom,mmcc-msmfalcon.h b/include/dt-bindings/clock/qcom,mmcc-msmfalcon.h
new file mode 100644
index 000000000000..57aed7c8f43f
--- /dev/null
+++ b/include/dt-bindings/clock/qcom,mmcc-msmfalcon.h
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _DT_BINDINGS_CLK_MSM_MMCC_FALCON_H
+#define _DT_BINDINGS_CLK_MSM_MMCC_FALCON_H
+
+/* Clocks */
+#define MMPLL3_PLL 0
+#define MMPLL4_PLL 1
+#define MMPLL5_PLL 2
+#define MMPLL6_PLL 3
+#define MMPLL7_PLL 4
+#define MMPLL8_PLL 5
+#define AHB_CLK_SRC 6
+#define VIDEO_CORE_CLK_SRC 7
+#define PCLK0_CLK_SRC 8
+#define PCLK1_CLK_SRC 9
+#define MDP_CLK_SRC 10
+#define ROT_CLK_SRC 11
+#define VSYNC_CLK_SRC 12
+#define BYTE0_CLK_SRC 13
+#define BYTE1_CLK_SRC 14
+#define ESC0_CLK_SRC 15
+#define ESC1_CLK_SRC 16
+#define DP_LINK_CLK_SRC 17
+#define DP_CRYPTO_CLK_SRC 18
+#define DP_PIXEL_CLK_SRC 19
+#define DP_AUX_CLK_SRC 20
+#define DP_GTC_CLK_SRC 21
+#define CAMSS_GP0_CLK_SRC 22
+#define CAMSS_GP1_CLK_SRC 23
+#define MCLK0_CLK_SRC 24
+#define MCLK1_CLK_SRC 25
+#define MCLK2_CLK_SRC 26
+#define MCLK3_CLK_SRC 27
+#define CCI_CLK_SRC 28
+#define CSI0PHYTIMER_CLK_SRC 29
+#define CSI1PHYTIMER_CLK_SRC 30
+#define CSI2PHYTIMER_CLK_SRC 31
+#define JPEG0_CLK_SRC 32
+#define VFE0_CLK_SRC 33
+#define VFE1_CLK_SRC 34
+#define CPP_CLK_SRC 35
+#define CSIPHY_CLK_SRC 36
+#define CSI0_CLK_SRC 37
+#define CSI1_CLK_SRC 38
+#define CSI2_CLK_SRC 39
+#define CSI3_CLK_SRC 40
+#define MMSS_CXO_CLK 41
+#define MMSS_SLEEP_CLK 42
+#define MMSS_MNOC_AHB_CLK 43
+#define MMSS_MISC_AHB_CLK 44
+#define MMSS_MISC_CXO_CLK 45
+#define MMSS_BIMC_SMMU_AHB_CLK 46
+#define MMSS_BIMC_SMMU_AXI_CLK 47
+#define MMSS_SNOC_DVM_AXI_CLK 48
+#define MMSS_THROTTLE_CAMSS_CXO_CLK 49
+#define MMSS_THROTTLE_CAMSS_AHB_CLK 50
+#define MMSS_THROTTLE_CAMSS_AXI_CLK 51
+#define MMSS_THROTTLE_MDSS_CXO_CLK 52
+#define MMSS_THROTTLE_MDSS_AHB_CLK 53
+#define MMSS_THROTTLE_MDSS_AXI_CLK 54
+#define MMSS_THROTTLE_VIDEO_CXO_CLK 55
+#define MMSS_THROTTLE_VIDEO_AHB_CLK 56
+#define MMSS_THROTTLE_VIDEO_AXI_CLK 57
+#define MMSS_VIDEO_CORE_CLK 58
+#define MMSS_VIDEO_AXI_CLK 59
+#define MMSS_VIDEO_AHB_CLK 60
+#define MMSS_MDSS_AHB_CLK 61
+#define MMSS_MDSS_HDMI_DP_AHB_CLK 62
+#define MMSS_MDSS_PCLK0_CLK 63
+#define MMSS_MDSS_PCLK1_CLK 64
+#define MMSS_MDSS_VSYNC_CLK 65
+#define MMSS_MDSS_BYTE0_CLK 66
+#define MMSS_MDSS_BYTE0_INTF_CLK 67
+#define MMSS_MDSS_BYTE1_CLK 68
+#define MMSS_MDSS_BYTE1_INTF_CLK 69
+#define MMSS_MDSS_ESC0_CLK 70
+#define MMSS_MDSS_ESC1_CLK 71
+#define MMSS_MDSS_DP_LINK_CLK 72
+#define MMSS_MDSS_DP_LINK_INTF_CLK 73
+#define MMSS_MDSS_DP_CRYPTO_CLK 74
+#define MMSS_MDSS_DP_PIXEL_CLK 75
+#define MMSS_MDSS_DP_AUX_CLK 76
+#define MMSS_MDSS_DP_GTC_CLK 77
+#define MMSS_CAMSS_TOP_AHB_CLK 78
+#define MMSS_CAMSS_AHB_CLK 79
+#define MMSS_CAMSS_GP0_CLK 80
+#define MMSS_CAMSS_GP1_CLK 81
+#define MMSS_CAMSS_MCLK0_CLK 82
+#define MMSS_CAMSS_MCLK1_CLK 83
+#define MMSS_CAMSS_MCLK2_CLK 84
+#define MMSS_CAMSS_MCLK3_CLK 85
+#define MMSS_CAMSS_CCI_CLK 86
+#define MMSS_CAMSS_CCI_AHB_CLK 87
+#define MMSS_CAMSS_CSI0PHYTIMER_CLK 88
+#define MMSS_CAMSS_CSI1PHYTIMER_CLK 89
+#define MMSS_CAMSS_CSI2PHYTIMER_CLK 90
+#define MMSS_CAMSS_JPEG_AHB_CLK 91
+#define MMSS_CAMSS_VFE_VBIF_AHB_CLK 92
+#define MMSS_CAMSS_VFE0_STREAM_CLK 93
+#define MMSS_CAMSS_VFE0_AHB_CLK 94
+#define MMSS_CAMSS_VFE1_STREAM_CLK 95
+#define MMSS_CAMSS_VFE1_AHB_CLK 96
+#define MMSS_CAMSS_CPP_VBIF_AHB_CLK 97
+#define MMSS_CAMSS_CPP_AHB_CLK 98
+#define MMSS_CAMSS_CSIPHY0_CLK 99
+#define MMSS_CAMSS_CSIPHY1_CLK 100
+#define MMSS_CAMSS_CSIPHY2_CLK 101
+#define MMSS_CSIPHY_AHB2CRIF_CLK 102
+#define MMSS_CAMSS_CSI0_CLK 103
+#define MMSS_CAMSS_CPHY_CSID0_CLK 104
+#define MMSS_CAMSS_CSI0_AHB_CLK 105
+#define MMSS_CAMSS_CSI0RDI_CLK 106
+#define MMSS_CAMSS_CSI0PIX_CLK 107
+#define MMSS_CAMSS_CSI1_CLK 108
+#define MMSS_CAMSS_CPHY_CSID1_CLK 109
+#define MMSS_CAMSS_CSI1_AHB_CLK 110
+#define MMSS_CAMSS_CSI1RDI_CLK 111
+#define MMSS_CAMSS_CSI1PIX_CLK 112
+#define MMSS_CAMSS_CSI2_CLK 113
+#define MMSS_CAMSS_CPHY_CSID2_CLK 114
+#define MMSS_CAMSS_CSI2_AHB_CLK 115
+#define MMSS_CAMSS_CSI2RDI_CLK 116
+#define MMSS_CAMSS_CSI2PIX_CLK 117
+#define MMSS_CAMSS_CSI3_CLK 118
+#define MMSS_CAMSS_CPHY_CSID3_CLK 119
+#define MMSS_CAMSS_CSI3_AHB_CLK 120
+#define MMSS_CAMSS_CSI3RDI_CLK 121
+#define MMSS_CAMSS_CSI3PIX_CLK 122
+#define MMSS_CAMSS_ISPIF_AHB_CLK 123
+
+/* Block Resets */
+#define MMSS_MNOCAHB_BCR 0
+#define MMSS_MISC_BCR 1
+#define MMSS_BTO_BCR 2
+#define MMSS_MNOCAXI_BCR 3
+#define MMSS_BIMC_SMMU_BCR 4
+#define MMSS_THROTTLE_CAMSS_BCR 5
+#define MMSS_THROTTLE_MDSS_BCR 6
+#define MMSS_THROTTLE_VIDEO_BCR 7
+#define MMSS_VIDEO_TOP_BCR 8
+#define MMSS_MDSS_BCR 9
+#define MMSS_CAMSS_TOP_BCR 10
+#define MMSS_CAMSS_AHB_BCR 11
+#define MMSS_CAMSS_MICRO_BCR 12
+#define MMSS_CAMSS_CCI_BCR 13
+#define MMSS_CAMSS_PHY0_BCR 14
+#define MMSS_CAMSS_PHY1_BCR 15
+#define MMSS_CAMSS_PHY2_BCR 16
+#define MMSS_CAMSS_JPEG_BCR 17
+#define MMSS_CAMSS_VFE_VBIF_BCR 18
+#define MMSS_CAMSS_VFE0_BCR 19
+#define MMSS_CAMSS_VFE1_BCR 20
+#define MMSS_CAMSS_CSI_VFE0_BCR 21
+#define MMSS_CAMSS_CSI_VFE1_BCR 22
+#define MMSS_CAMSS_CPP_TOP_BCR 23
+#define MMSS_CAMSS_CPP_BCR 24
+#define MMSS_CAMSS_CSIPHY_BCR 25
+#define MMSS_CAMSS_CSI0_BCR 26
+#define MMSS_CAMSS_CSI0RDI_BCR 27
+#define MMSS_CAMSS_CSI0PIX_BCR 28
+#define MMSS_CAMSS_CSI1_BCR 29
+#define MMSS_CAMSS_CSI1RDI_BCR 30
+#define MMSS_CAMSS_CSI1PIX_BCR 31
+#define MMSS_CAMSS_CSI2_BCR 32
+#define MMSS_CAMSS_CSI2RDI_BCR 33
+#define MMSS_CAMSS_CSI2PIX_BCR 34
+#define MMSS_CAMSS_CSI3_BCR 35
+#define MMSS_CAMSS_CSI3RDI_BCR 36
+#define MMSS_CAMSS_CSI3PIX_BCR 37
+#define MMSS_CAMSS_ISPIF_BCR 38
+
+/* GDSC */
+#define VIDEO_TOP_GDSC 0
+#define VIDEO_SUBCORE0_GDSC 1
+#define CAMSS_VFE0_GDSC 2
+#define BIMC_SMMU_GDSC 3
+#define CAMSS_TOP_GDSC 4
+#define MDSS_GDSC 5
+#define CAMSS_CPP_GDSC 6
+#define CAMSS_VFE1_GDSC 7
+
+#endif
diff --git a/include/linux/ata.h b/include/linux/ata.h
index d2992bfa1706..c1a2f345cbe6 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -487,8 +487,8 @@ enum ata_tf_protocols {
};
enum ata_ioctls {
- ATA_IOC_GET_IO32 = 0x309,
- ATA_IOC_SET_IO32 = 0x324,
+ ATA_IOC_GET_IO32 = 0x309, /* HDIO_GET_32BIT */
+ ATA_IOC_SET_IO32 = 0x324, /* HDIO_SET_32BIT */
};
/* core structures */
diff --git a/include/linux/bio.h b/include/linux/bio.h
index b9b6e046b52e..fbe47bc700bd 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -310,6 +310,38 @@ static inline void bio_clear_flag(struct bio *bio, unsigned int bit)
bio->bi_flags &= ~(1U << bit);
}
+static inline void bio_get_first_bvec(struct bio *bio, struct bio_vec *bv)
+{
+ *bv = bio_iovec(bio);
+}
+
+static inline void bio_get_last_bvec(struct bio *bio, struct bio_vec *bv)
+{
+ struct bvec_iter iter = bio->bi_iter;
+ int idx;
+
+ if (unlikely(!bio_multiple_segments(bio))) {
+ *bv = bio_iovec(bio);
+ return;
+ }
+
+ bio_advance_iter(bio, &iter, iter.bi_size);
+
+ if (!iter.bi_bvec_done)
+ idx = iter.bi_idx - 1;
+ else /* in the middle of bvec */
+ idx = iter.bi_idx;
+
+ *bv = bio->bi_io_vec[idx];
+
+ /*
+ * iter.bi_bvec_done records actual length of the last bvec
+ * if this bio ends in the middle of one io vector
+ */
+ if (iter.bi_bvec_done)
+ bv->bv_len = iter.bi_bvec_done;
+}
+
enum bip_flags {
BIP_BLOCK_INTEGRITY = 1 << 0, /* block layer owns integrity data */
BIP_MAPPED_INTEGRITY = 1 << 1, /* ref tag has been remapped */
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 45bae2b85f46..84af69b95026 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1373,6 +1373,13 @@ static inline void put_dev_sector(Sector p)
page_cache_release(p.v);
}
+static inline bool __bvec_gap_to_prev(struct request_queue *q,
+ struct bio_vec *bprv, unsigned int offset)
+{
+ return offset ||
+ ((bprv->bv_offset + bprv->bv_len) & queue_virt_boundary(q));
+}
+
/*
* Check if adding a bio_vec after bprv with offset would create a gap in
* the SG list. Most drivers don't care about this, but some do.
@@ -1382,18 +1389,22 @@ static inline bool bvec_gap_to_prev(struct request_queue *q,
{
if (!queue_virt_boundary(q))
return false;
- return offset ||
- ((bprv->bv_offset + bprv->bv_len) & queue_virt_boundary(q));
+ return __bvec_gap_to_prev(q, bprv, offset);
}
static inline bool bio_will_gap(struct request_queue *q, struct bio *prev,
struct bio *next)
{
- if (!bio_has_data(prev))
- return false;
+ if (bio_has_data(prev) && queue_virt_boundary(q)) {
+ struct bio_vec pb, nb;
+
+ bio_get_last_bvec(prev, &pb);
+ bio_get_first_bvec(next, &nb);
- return bvec_gap_to_prev(q, &prev->bi_io_vec[prev->bi_vcnt - 1],
- next->bi_io_vec[0].bv_offset);
+ return __bvec_gap_to_prev(q, &pb, nb.bv_offset);
+ }
+
+ return false;
}
static inline bool req_gap_back_merge(struct request *req, struct bio *bio)
diff --git a/include/linux/bluetooth-power.h b/include/linux/bluetooth-power.h
index d2dfc1477c9d..7be94d298b88 100644
--- a/include/linux/bluetooth-power.h
+++ b/include/linux/bluetooth-power.h
@@ -44,6 +44,15 @@ struct bt_power_vreg_data {
bool is_enabled;
};
+struct bt_power_clk_data {
+ /* clock regulator handle */
+ struct clk *clk;
+ /* clock name */
+ const char *name;
+ /* is this clock enabled? */
+ bool is_enabled;
+};
+
/*
* Platform data for the bluetooth power driver.
*/
@@ -67,6 +76,8 @@ struct bluetooth_power_platform_data {
* shares a common gpio to bring chip out of reset.
*/
struct bt_power_vreg_data *bt_chip_pwd;
+ /* bluetooth reference clock */
+ struct bt_power_clk_data *bt_chip_clk;
/* Optional: Bluetooth power setup function */
int (*bt_power_setup)(int);
};
diff --git a/include/linux/cache.h b/include/linux/cache.h
index 17e7e82d2aa7..1be04f8c563a 100644
--- a/include/linux/cache.h
+++ b/include/linux/cache.h
@@ -12,10 +12,24 @@
#define SMP_CACHE_BYTES L1_CACHE_BYTES
#endif
+/*
+ * __read_mostly is used to keep rarely changing variables out of frequently
+ * updated cachelines. If an architecture doesn't support it, ignore the
+ * hint.
+ */
#ifndef __read_mostly
#define __read_mostly
#endif
+/*
+ * __ro_after_init is used to mark things that are read-only after init (i.e.
+ * after mark_rodata_ro() has been called). These are effectively read-only,
+ * but may get written to during init, so can't live in .rodata (via "const").
+ */
+#ifndef __ro_after_init
+#define __ro_after_init __attribute__((__section__(".data..ro_after_init")))
+#endif
+
#ifndef ____cacheline_aligned
#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
#endif
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index 71b1d6cdcb5d..8dbd7879fdc6 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -220,6 +220,7 @@ struct ceph_connection {
struct ceph_entity_addr actual_peer_addr;
/* message out temps */
+ struct ceph_msg_header out_hdr;
struct ceph_msg *out_msg; /* sending message (== tail of
out_sent) */
bool out_msg_done;
@@ -229,7 +230,6 @@ struct ceph_connection {
int out_kvec_left; /* kvec's left in out_kvec */
int out_skip; /* skip this many bytes */
int out_kvec_bytes; /* total bytes left */
- bool out_kvec_is_msg; /* kvec refers to out_msg */
int out_more; /* there is more data after the kvecs */
__le64 out_temp_ack; /* for writing an ack */
struct ceph_timespec out_temp_keepalive2; /* for writing keepalive2
diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h
index 4a4eea01956c..a702c042b716 100644
--- a/include/linux/cgroup-defs.h
+++ b/include/linux/cgroup-defs.h
@@ -133,6 +133,12 @@ struct cgroup_subsys_state {
*/
u64 serial_nr;
+ /*
+ * Incremented by online self and children. Used to guarantee that
+ * parents are not offlined before their children.
+ */
+ atomic_t online_cnt;
+
/* percpu_ref killing and RCU release */
struct rcu_head rcu_head;
struct work_struct destroy_work;
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index 03b9f6fab0ff..23026ba6ff25 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -173,6 +173,8 @@ struct clk_rate_request {
* directory is provided as an argument. Called with
* prepare_lock held. Returns 0 on success, -EERROR otherwise.
*
+ * @set_flags: Set custom flags which deals with hardware specifics. Returns 0
+ * on success, -EEROR otherwise.
*
* The clk_enable/clk_disable and clk_prepare/clk_unprepare pairs allow
* implementations to split any work between atomic (enable) and sleepable
@@ -213,6 +215,7 @@ struct clk_ops {
int (*set_phase)(struct clk_hw *hw, int degrees);
void (*init)(struct clk_hw *hw);
int (*debug_init)(struct clk_hw *hw, struct dentry *dentry);
+ int (*set_flags)(struct clk_hw *hw, unsigned flags);
};
/**
diff --git a/include/linux/clk.h b/include/linux/clk.h
index c06bbd5ce952..76708a7c46c0 100644
--- a/include/linux/clk.h
+++ b/include/linux/clk.h
@@ -408,6 +408,16 @@ struct clk *clk_get_parent(struct clk *clk);
*/
struct clk *clk_get_sys(const char *dev_id, const char *con_id);
+/**
+ * clk_set_flags - set the custom specific flags for this clock
+ * @clk: clock source
+ * @flags: custom flags which would be hardware specific, defined for specific
+ * hardware.
+ *
+ * Returns success 0 or negative errno.
+ */
+int clk_set_flags(struct clk *clk, unsigned long flags);
+
#else /* !CONFIG_HAVE_CLK */
static inline struct clk *clk_get(struct device *dev, const char *id)
diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h
index 85a868ccb493..fea160ee5803 100644
--- a/include/linux/cpuset.h
+++ b/include/linux/cpuset.h
@@ -137,6 +137,8 @@ static inline void set_mems_allowed(nodemask_t nodemask)
task_unlock(current);
}
+extern void cpuset_post_attach_flush(void);
+
#else /* !CONFIG_CPUSETS */
static inline bool cpusets_enabled(void) { return false; }
@@ -243,6 +245,10 @@ static inline bool read_mems_allowed_retry(unsigned int seq)
return false;
}
+static inline void cpuset_post_attach_flush(void)
+{
+}
+
#endif /* !CONFIG_CPUSETS */
#endif /* _LINUX_CPUSET_H */
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index d67ae119cf4e..8a2e009c8a5a 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -409,9 +409,7 @@ static inline bool d_mountpoint(const struct dentry *dentry)
*/
static inline unsigned __d_entry_type(const struct dentry *dentry)
{
- unsigned type = READ_ONCE(dentry->d_flags);
- smp_rmb();
- return type & DCACHE_ENTRY_TYPE;
+ return dentry->d_flags & DCACHE_ENTRY_TYPE;
}
static inline bool d_is_miss(const struct dentry *dentry)
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 569b5a866bb1..47be3ad7d3e5 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1199,7 +1199,10 @@ int efivar_entry_iter(int (*func)(struct efivar_entry *, void *),
struct efivar_entry *efivar_entry_find(efi_char16_t *name, efi_guid_t guid,
struct list_head *head, bool remove);
-bool efivar_validate(efi_char16_t *var_name, u8 *data, unsigned long len);
+bool efivar_validate(efi_guid_t vendor, efi_char16_t *var_name, u8 *data,
+ unsigned long data_size);
+bool efivar_variable_is_removable(efi_guid_t vendor, const char *name,
+ size_t len);
extern struct work_struct efivar_work;
void efivar_run_worker(void);
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 8fdc17b84739..ae6a711dcd1d 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -630,6 +630,11 @@ struct hv_input_signal_event_buffer {
struct hv_input_signal_event event;
};
+enum hv_signal_policy {
+ HV_SIGNAL_POLICY_DEFAULT = 0,
+ HV_SIGNAL_POLICY_EXPLICIT,
+};
+
struct vmbus_channel {
/* Unique channel id */
int id;
@@ -757,8 +762,21 @@ struct vmbus_channel {
* link up channels based on their CPU affinity.
*/
struct list_head percpu_list;
+ /*
+ * Host signaling policy: The default policy will be
+ * based on the ring buffer state. We will also support
+ * a policy where the client driver can have explicit
+ * signaling control.
+ */
+ enum hv_signal_policy signal_policy;
};
+static inline void set_channel_signal_state(struct vmbus_channel *c,
+ enum hv_signal_policy policy)
+{
+ c->signal_policy = policy;
+}
+
static inline void set_channel_read_state(struct vmbus_channel *c, bool state)
{
c->batched_reading = state;
diff --git a/include/linux/inet_lro.h b/include/linux/inet_lro.h
index 9a715cfa1fe3..365fb3be7ee7 100644
--- a/include/linux/inet_lro.h
+++ b/include/linux/inet_lro.h
@@ -81,6 +81,7 @@ struct net_lro_mgr {
#define LRO_F_EXTRACT_VLAN_ID 2 /* Set flag if VLAN IDs are extracted
from received packets and eth protocol
is still ETH_P_8021Q */
+#define LRO_F_NI 4 /* If not NAPI, Pass packets to stack via NI */
/*
* Set for generated SKBs that are not added to
@@ -122,6 +123,50 @@ struct net_lro_mgr {
};
/*
+ * Large Receive Offload (LRO) information provided by the driver
+ *
+ * Fields must be set by driver when using the lro_receive_skb_ext()
+ */
+struct net_lro_info {
+ /* bitmask indicating the supported fields */
+ unsigned long valid_fields;
+ /*
+ * Driver has checked the LRO eligibilty of the skb
+ */
+ #define LRO_ELIGIBILITY_CHECKED (1 << 0)
+ /*
+ * Driver has provided the TCP payload checksum
+ */
+ #define LRO_TCP_DATA_CSUM (1 << 1)
+ /*
+ * Driver has extracted the TCP window from the skb
+ * The value is in network format
+ */
+ #define LRO_TCP_WIN (1 << 2)
+ /*
+ * Driver has extracted the TCP sequence number from skb
+ * The value is in network format
+ */
+ #define LRO_TCP_SEQ_NUM (1 << 3)
+ /*
+ * Driver has extracted the TCP ack number from the skb
+ * The value is in network format
+ */
+ #define LRO_TCP_ACK_NUM (1 << 4)
+ /*
+ * Driver has provided the LRO descriptor
+ */
+ #define LRO_DESC (1 << 5)
+
+ bool lro_eligible;
+ __wsum tcp_data_csum;
+ __be16 tcp_win;
+ __be32 tcp_seq_num;
+ __be32 tcp_ack_num;
+ struct net_lro_desc *lro_desc;
+};
+
+/*
* Processes a SKB
*
* @lro_mgr: LRO manager to use
@@ -133,10 +178,54 @@ struct net_lro_mgr {
void lro_receive_skb(struct net_lro_mgr *lro_mgr,
struct sk_buff *skb,
void *priv);
+
+/*
+ * Processes an SKB
+ *
+ * This API provides means to pass any LRO information that has already
+ * been extracted by the driver
+ *
+ * @lro_mgr: LRO manager to use
+ * @skb: SKB to aggregate
+ * @priv: Private data that may be used by driver functions
+ * (for example get_tcp_ip_hdr)
+ * @lro_info: LRO information extracted by the driver
+ */
+
+void lro_receive_skb_ext(struct net_lro_mgr *lro_mgr,
+ struct sk_buff *skb,
+ void *priv,
+ struct net_lro_info *lro_info);
+
+/*
+ * Processes a fragment list
+ *
+ * This functions aggregate fragments and generate SKBs do pass
+ * the packets to the stack.
+ *
+ * @lro_mgr: LRO manager to use
+ * @frags: Fragment to be processed. Must contain entire header in first
+ * element.
+ * @len: Length of received data
+ * @true_size: Actual size of memory the fragment is consuming
+ * @priv: Private data that may be used by driver functions
+ * (for example get_tcp_ip_hdr)
+ */
+
+void lro_receive_frags(struct net_lro_mgr *lro_mgr,
+ struct skb_frag_struct *frags,
+ int len, int true_size, void *priv, __wsum sum);
+
/*
* Forward all aggregated SKBs held by lro_mgr to network stack
*/
void lro_flush_all(struct net_lro_mgr *lro_mgr);
+void lro_flush_pkt(struct net_lro_mgr *lro_mgr,
+ struct iphdr *iph, struct tcphdr *tcph);
+
+void lro_flush_desc(struct net_lro_mgr *lro_mgr,
+ struct net_lro_desc *lro_desc);
+
#endif
diff --git a/include/linux/init.h b/include/linux/init.h
index b449f378f995..aedb254abc37 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -142,6 +142,10 @@ void prepare_namespace(void);
void __init load_default_modules(void);
int __init init_rootfs(void);
+#ifdef CONFIG_DEBUG_RODATA
+void mark_rodata_ro(void);
+#endif
+
extern void (*late_time_init)(void);
extern bool initcall_debug;
diff --git a/include/linux/leds-qpnp-flash-v2.h b/include/linux/leds-qpnp-flash-v2.h
index 353466f6c108..47fd0699a9c1 100644
--- a/include/linux/leds-qpnp-flash-v2.h
+++ b/include/linux/leds-qpnp-flash-v2.h
@@ -16,29 +16,9 @@
#include <linux/leds.h>
#include "leds.h"
-/*
- * Configurations for each individual LED
- */
-struct flash_node_data {
- struct platform_device *pdev;
- struct led_classdev cdev;
- struct pinctrl *pinctrl;
- struct pinctrl_state *gpio_state_active;
- struct pinctrl_state *gpio_state_suspend;
- int ires_ua;
- u16 prgm_current;
- u8 duration;
- u8 id;
- u8 type;
- u8 ires;
- u8 hdrm_val;
- u8 brightness;
- bool led_on;
-};
+#define ENABLE_REGULATOR BIT(0)
+#define QUERY_MAX_CURRENT BIT(1)
-struct flash_switch_data {
- struct platform_device *pdev;
- struct led_classdev cdev;
-};
+int qpnp_flash_led_prepare(struct led_classdev *led_cdev, int options);
#endif
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 600c1e0626a5..b20a2752f934 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -718,7 +718,7 @@ struct ata_device {
union {
u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */
- };
+ } ____cacheline_aligned;
/* DEVSLP Timing Variables from Identify Device Data Log */
u8 devslp_timing[ATA_LOG_DEVSLP_SIZE];
diff --git a/include/linux/mfd/msm-cdc-pinctrl.h b/include/linux/mfd/msm-cdc-pinctrl.h
index 395b935b6aec..951b8d4d1ed9 100644
--- a/include/linux/mfd/msm-cdc-pinctrl.h
+++ b/include/linux/mfd/msm-cdc-pinctrl.h
@@ -20,6 +20,7 @@
extern int msm_cdc_pinctrl_select_sleep_state(struct device_node *);
extern int msm_cdc_pinctrl_select_active_state(struct device_node *);
extern bool msm_cdc_pinctrl_get_state(struct device_node *);
+extern int msm_cdc_get_gpio_state(struct device_node *);
#else
int msm_cdc_pinctrl_select_sleep_state(struct device_node *np)
@@ -30,6 +31,11 @@ int msm_cdc_pinctrl_select_active_state(struct device_node *np)
{
return 0;
}
+int msm_cdc_get_gpio_state(struct device_node *np)
+{
+ return 0;
+}
+#
#endif
#endif
diff --git a/include/linux/mfd/wcd934x/registers.h b/include/linux/mfd/wcd934x/registers.h
new file mode 100644
index 000000000000..871bf6a778b1
--- /dev/null
+++ b/include/linux/mfd/wcd934x/registers.h
@@ -0,0 +1,1845 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _WCD934X_REGISTERS_H
+#define _WCD934X_REGISTERS_H
+
+#define WCD934X_PAGE_SIZE 256
+#define WCD934X_NUM_PAGES 256
+
+extern const u8 * const wcd934x_reg[WCD934X_NUM_PAGES];
+
+enum {
+ WCD934X_PAGE_0 = 0,
+ WCD934X_PAGE_1,
+ WCD934X_PAGE_2,
+ WCD934X_PAGE_4 = 4,
+ WCD934X_PAGE_5,
+ WCD934X_PAGE_6,
+ WCD934X_PAGE_7,
+ WCD934X_PAGE_10 = 0xA,
+ WCD934X_PAGE_11,
+ WCD934X_PAGE_12,
+ WCD934X_PAGE_13,
+ WCD934X_PAGE_14,
+ WCD934X_PAGE_15,
+ WCD934X_PAGE_0X80,
+};
+
+enum {
+ WCD934X_WRITE = 0,
+ WCD934X_READ,
+ WCD934X_READ_WRITE,
+};
+
+/* Page-0 Registers */
+#define WCD934X_PAGE0_PAGE_REGISTER 0x0000
+#define WCD934X_CODEC_RPM_CLK_BYPASS 0x0001
+#define WCD934X_CODEC_RPM_CLK_GATE 0x0002
+#define WCD934X_CODEC_RPM_CLK_MCLK_CFG 0x0003
+#define WCD934X_CODEC_RPM_CLK_MCLK2_CFG 0x0004
+#define WCD934X_CODEC_RPM_I2S_DSD_CLK_SEL 0x0005
+#define WCD934X_CODEC_RPM_RST_CTL 0x0009
+#define WCD934X_CODEC_RPM_PWR_CDC_DIG_HM_CTL 0x0011
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE0 0x0021
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE1 0x0022
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE2 0x0023
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE3 0x0024
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_CTL 0x0025
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_TEST0 0x0026
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_TEST1 0x0027
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT0 0x0029
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT1 0x002a
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT2 0x002b
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT3 0x002c
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT4 0x002d
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT5 0x002e
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT6 0x002f
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT7 0x0030
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT8 0x0031
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT9 0x0032
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT10 0x0033
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT11 0x0034
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT12 0x0035
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT13 0x0036
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT14 0x0037
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT15 0x0038
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_STATUS 0x0039
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_NONNEGO 0x003a
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_1 0x003b
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_2 0x003c
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_3 0x003d
+#define WCD934X_CHIP_TIER_CTRL_ANA_WAIT_STATE_CTL 0x003e
+#define WCD934X_CHIP_TIER_CTRL_SLNQ_WAIT_STATE_CTL 0x003f
+#define WCD934X_CHIP_TIER_CTRL_I2C_ACTIVE 0x0040
+#define WCD934X_CHIP_TIER_CTRL_ALT_FUNC_EN 0x0041
+#define WCD934X_CHIP_TIER_CTRL_GPIO_CTL_OE 0x0042
+#define WCD934X_CHIP_TIER_CTRL_GPIO_CTL_DATA 0x0043
+#define WCD934X_DATA_HUB_RX0_CFG 0x0051
+#define WCD934X_DATA_HUB_RX1_CFG 0x0052
+#define WCD934X_DATA_HUB_RX2_CFG 0x0053
+#define WCD934X_DATA_HUB_RX3_CFG 0x0054
+#define WCD934X_DATA_HUB_RX4_CFG 0x0055
+#define WCD934X_DATA_HUB_RX5_CFG 0x0056
+#define WCD934X_DATA_HUB_RX6_CFG 0x0057
+#define WCD934X_DATA_HUB_RX7_CFG 0x0058
+#define WCD934X_DATA_HUB_SB_TX0_INP_CFG 0x0061
+#define WCD934X_DATA_HUB_SB_TX1_INP_CFG 0x0062
+#define WCD934X_DATA_HUB_SB_TX2_INP_CFG 0x0063
+#define WCD934X_DATA_HUB_SB_TX3_INP_CFG 0x0064
+#define WCD934X_DATA_HUB_SB_TX4_INP_CFG 0x0065
+#define WCD934X_DATA_HUB_SB_TX5_INP_CFG 0x0066
+#define WCD934X_DATA_HUB_SB_TX6_INP_CFG 0x0067
+#define WCD934X_DATA_HUB_SB_TX7_INP_CFG 0x0068
+#define WCD934X_DATA_HUB_SB_TX8_INP_CFG 0x0069
+#define WCD934X_DATA_HUB_SB_TX9_INP_CFG 0x006a
+#define WCD934X_DATA_HUB_SB_TX10_INP_CFG 0x006b
+#define WCD934X_DATA_HUB_SB_TX11_INP_CFG 0x006c
+#define WCD934X_DATA_HUB_SB_TX13_INP_CFG 0x006e
+#define WCD934X_DATA_HUB_SB_TX14_INP_CFG 0x006f
+#define WCD934X_DATA_HUB_SB_TX15_INP_CFG 0x0070
+#define WCD934X_DATA_HUB_I2S_TX0_CFG 0x0071
+#define WCD934X_DATA_HUB_I2S_TX1_0_CFG 0x0073
+#define WCD934X_DATA_HUB_I2S_TX1_1_CFG 0x0074
+#define WCD934X_DATA_HUB_I2S_0_CTL 0x0081
+#define WCD934X_DATA_HUB_I2S_1_CTL 0x0082
+#define WCD934X_DATA_HUB_I2S_2_CTL 0x0083
+#define WCD934X_DATA_HUB_I2S_3_CTL 0x0084
+#define WCD934X_DATA_HUB_I2S_CLKSRC_CTL 0x0085
+#define WCD934X_DATA_HUB_I2S_COMMON_CTL 0x0086
+#define WCD934X_DATA_HUB_I2S_0_TDM_CTL 0x0087
+#define WCD934X_DATA_HUB_I2S_STATUS 0x0088
+#define WCD934X_DMA_RDMA_CTL_0 0x0091
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_0 0x0092
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_0 0x0093
+#define WCD934X_DMA_RDMA_CTL_1 0x0094
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_1 0x0095
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_1 0x0096
+#define WCD934X_DMA_RDMA_CTL_2 0x0097
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_2 0x0098
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_2 0x0099
+#define WCD934X_DMA_RDMA_CTL_3 0x009A
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_3 0x009B
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_3 0x009C
+#define WCD934X_DMA_RDMA_CTL_4 0x009D
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_4 0x009E
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_4 0x009F
+#define WCD934X_DMA_RDMA4_PRT_CFG 0x00b1
+#define WCD934X_DMA_RDMA_SBTX0_7_CFG 0x00b9
+#define WCD934X_DMA_RDMA_SBTX8_11_CFG 0x00ba
+#define WCD934X_DMA_WDMA_CTL_0 0x00c1
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_0 0x00c2
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_0 0x00c3
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_0 0x00c4
+#define WCD934X_DMA_WDMA_CTL_1 0x00C6
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_1 0x00C7
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_1 0x00C8
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_1 0x00C9
+#define WCD934X_DMA_WDMA_CTL_2 0x00CB
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_2 0x00CC
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_2 0x00CD
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_2 0x00CE
+#define WCD934X_DMA_WDMA_CTL_3 0x00D0
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_3 0x00D1
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_3 0x00D2
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_3 0x00D3
+#define WCD934X_DMA_WDMA_CTL_4 0x00D5
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_4 0x00D6
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_4 0x00D7
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_4 0x00D8
+#define WCD934X_DMA_WDMA0_PRT_CFG 0x00E1
+#define WCD934X_DMA_WDMA3_PRT_CFG 0x00E2
+#define WCD934X_DMA_WDMA4_PRT0_3_CFG 0x00E3
+#define WCD934X_DMA_WDMA4_PRT4_7_CFG 0x00E4
+#define WCD934X_PAGE1_PAGE_REGISTER 0x0100
+#define WCD934X_CPE_FLL_USER_CTL_0 0x0101
+#define WCD934X_CPE_FLL_USER_CTL_1 0x0102
+#define WCD934X_CPE_FLL_USER_CTL_2 0x0103
+#define WCD934X_CPE_FLL_USER_CTL_3 0x0104
+#define WCD934X_CPE_FLL_USER_CTL_4 0x0105
+#define WCD934X_CPE_FLL_USER_CTL_5 0x0106
+#define WCD934X_CPE_FLL_USER_CTL_6 0x0107
+#define WCD934X_CPE_FLL_USER_CTL_7 0x0108
+#define WCD934X_CPE_FLL_USER_CTL_8 0x0109
+#define WCD934X_CPE_FLL_USER_CTL_9 0x010a
+#define WCD934X_CPE_FLL_L_VAL_CTL_0 0x010b
+#define WCD934X_CPE_FLL_L_VAL_CTL_1 0x010c
+#define WCD934X_CPE_FLL_DSM_FRAC_CTL_0 0x010d
+#define WCD934X_CPE_FLL_DSM_FRAC_CTL_1 0x010e
+#define WCD934X_CPE_FLL_CONFIG_CTL_0 0x010f
+#define WCD934X_CPE_FLL_CONFIG_CTL_1 0x0110
+#define WCD934X_CPE_FLL_CONFIG_CTL_2 0x0111
+#define WCD934X_CPE_FLL_CONFIG_CTL_3 0x0112
+#define WCD934X_CPE_FLL_CONFIG_CTL_4 0x0113
+#define WCD934X_CPE_FLL_TEST_CTL_0 0x0114
+#define WCD934X_CPE_FLL_TEST_CTL_1 0x0115
+#define WCD934X_CPE_FLL_TEST_CTL_2 0x0116
+#define WCD934X_CPE_FLL_TEST_CTL_3 0x0117
+#define WCD934X_CPE_FLL_TEST_CTL_4 0x0118
+#define WCD934X_CPE_FLL_TEST_CTL_5 0x0119
+#define WCD934X_CPE_FLL_TEST_CTL_6 0x011a
+#define WCD934X_CPE_FLL_TEST_CTL_7 0x011b
+#define WCD934X_CPE_FLL_FREQ_CTL_0 0x011c
+#define WCD934X_CPE_FLL_FREQ_CTL_1 0x011d
+#define WCD934X_CPE_FLL_FREQ_CTL_2 0x011e
+#define WCD934X_CPE_FLL_FREQ_CTL_3 0x011f
+#define WCD934X_CPE_FLL_SSC_CTL_0 0x0120
+#define WCD934X_CPE_FLL_SSC_CTL_1 0x0121
+#define WCD934X_CPE_FLL_SSC_CTL_2 0x0122
+#define WCD934X_CPE_FLL_SSC_CTL_3 0x0123
+#define WCD934X_CPE_FLL_FLL_MODE 0x0124
+#define WCD934X_CPE_FLL_STATUS_0 0x0125
+#define WCD934X_CPE_FLL_STATUS_1 0x0126
+#define WCD934X_CPE_FLL_STATUS_2 0x0127
+#define WCD934X_CPE_FLL_STATUS_3 0x0128
+#define WCD934X_I2S_FLL_USER_CTL_0 0x0141
+#define WCD934X_I2S_FLL_USER_CTL_1 0x0142
+#define WCD934X_I2S_FLL_USER_CTL_2 0x0143
+#define WCD934X_I2S_FLL_USER_CTL_3 0x0144
+#define WCD934X_I2S_FLL_USER_CTL_4 0x0145
+#define WCD934X_I2S_FLL_USER_CTL_5 0x0146
+#define WCD934X_I2S_FLL_USER_CTL_6 0x0147
+#define WCD934X_I2S_FLL_USER_CTL_7 0x0148
+#define WCD934X_I2S_FLL_USER_CTL_8 0x0149
+#define WCD934X_I2S_FLL_USER_CTL_9 0x014a
+#define WCD934X_I2S_FLL_L_VAL_CTL_0 0x014b
+#define WCD934X_I2S_FLL_L_VAL_CTL_1 0x014c
+#define WCD934X_I2S_FLL_DSM_FRAC_CTL_0 0x014d
+#define WCD934X_I2S_FLL_DSM_FRAC_CTL_1 0x014e
+#define WCD934X_I2S_FLL_CONFIG_CTL_0 0x014f
+#define WCD934X_I2S_FLL_CONFIG_CTL_1 0x0150
+#define WCD934X_I2S_FLL_CONFIG_CTL_2 0x0151
+#define WCD934X_I2S_FLL_CONFIG_CTL_3 0x0152
+#define WCD934X_I2S_FLL_CONFIG_CTL_4 0x0153
+#define WCD934X_I2S_FLL_TEST_CTL_0 0x0154
+#define WCD934X_I2S_FLL_TEST_CTL_1 0x0155
+#define WCD934X_I2S_FLL_TEST_CTL_2 0x0156
+#define WCD934X_I2S_FLL_TEST_CTL_3 0x0157
+#define WCD934X_I2S_FLL_TEST_CTL_4 0x0158
+#define WCD934X_I2S_FLL_TEST_CTL_5 0x0159
+#define WCD934X_I2S_FLL_TEST_CTL_6 0x015a
+#define WCD934X_I2S_FLL_TEST_CTL_7 0x015b
+#define WCD934X_I2S_FLL_FREQ_CTL_0 0x015c
+#define WCD934X_I2S_FLL_FREQ_CTL_1 0x015d
+#define WCD934X_I2S_FLL_FREQ_CTL_2 0x015e
+#define WCD934X_I2S_FLL_FREQ_CTL_3 0x015f
+#define WCD934X_I2S_FLL_SSC_CTL_0 0x0160
+#define WCD934X_I2S_FLL_SSC_CTL_1 0x0161
+#define WCD934X_I2S_FLL_SSC_CTL_2 0x0162
+#define WCD934X_I2S_FLL_SSC_CTL_3 0x0163
+#define WCD934X_I2S_FLL_FLL_MODE 0x0164
+#define WCD934X_I2S_FLL_STATUS_0 0x0165
+#define WCD934X_I2S_FLL_STATUS_1 0x0166
+#define WCD934X_I2S_FLL_STATUS_2 0x0167
+#define WCD934X_I2S_FLL_STATUS_3 0x0168
+#define WCD934X_SB_FLL_USER_CTL_0 0x0181
+#define WCD934X_SB_FLL_USER_CTL_1 0x0182
+#define WCD934X_SB_FLL_USER_CTL_2 0x0183
+#define WCD934X_SB_FLL_USER_CTL_3 0x0184
+#define WCD934X_SB_FLL_USER_CTL_4 0x0185
+#define WCD934X_SB_FLL_USER_CTL_5 0x0186
+#define WCD934X_SB_FLL_USER_CTL_6 0x0187
+#define WCD934X_SB_FLL_USER_CTL_7 0x0188
+#define WCD934X_SB_FLL_USER_CTL_8 0x0189
+#define WCD934X_SB_FLL_USER_CTL_9 0x018a
+#define WCD934X_SB_FLL_L_VAL_CTL_0 0x018b
+#define WCD934X_SB_FLL_L_VAL_CTL_1 0x018c
+#define WCD934X_SB_FLL_DSM_FRAC_CTL_0 0x018d
+#define WCD934X_SB_FLL_DSM_FRAC_CTL_1 0x018e
+#define WCD934X_SB_FLL_CONFIG_CTL_0 0x018f
+#define WCD934X_SB_FLL_CONFIG_CTL_1 0x0190
+#define WCD934X_SB_FLL_CONFIG_CTL_2 0x0191
+#define WCD934X_SB_FLL_CONFIG_CTL_3 0x0192
+#define WCD934X_SB_FLL_CONFIG_CTL_4 0x0193
+#define WCD934X_SB_FLL_TEST_CTL_0 0x0194
+#define WCD934X_SB_FLL_TEST_CTL_1 0x0195
+#define WCD934X_SB_FLL_TEST_CTL_2 0x0196
+#define WCD934X_SB_FLL_TEST_CTL_3 0x0197
+#define WCD934X_SB_FLL_TEST_CTL_4 0x0198
+#define WCD934X_SB_FLL_TEST_CTL_5 0x0199
+#define WCD934X_SB_FLL_TEST_CTL_6 0x019a
+#define WCD934X_SB_FLL_TEST_CTL_7 0x019b
+#define WCD934X_SB_FLL_FREQ_CTL_0 0x019c
+#define WCD934X_SB_FLL_FREQ_CTL_1 0x019d
+#define WCD934X_SB_FLL_FREQ_CTL_2 0x019e
+#define WCD934X_SB_FLL_FREQ_CTL_3 0x019f
+#define WCD934X_SB_FLL_SSC_CTL_0 0x01a0
+#define WCD934X_SB_FLL_SSC_CTL_1 0x01a1
+#define WCD934X_SB_FLL_SSC_CTL_2 0x01a2
+#define WCD934X_SB_FLL_SSC_CTL_3 0x01a3
+#define WCD934X_SB_FLL_FLL_MODE 0x01a4
+#define WCD934X_SB_FLL_STATUS_0 0x01a5
+#define WCD934X_SB_FLL_STATUS_1 0x01a6
+#define WCD934X_SB_FLL_STATUS_2 0x01a7
+#define WCD934X_SB_FLL_STATUS_3 0x01a8
+#define WCD934X_PAGE2_PAGE_REGISTER 0x0200
+#define WCD934X_CPE_SS_CPE_CTL 0x0201
+#define WCD934X_CPE_SS_PWR_SYS_PSTATE_CTL_0 0x0202
+#define WCD934X_CPE_SS_PWR_SYS_PSTATE_CTL_1 0x0203
+#define WCD934X_CPE_SS_PWR_CPEFLL_CTL 0x0204
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_0 0x0205
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_1 0x0206
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_OVERRIDE 0x0207
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_0 0x0208
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_1 0x0209
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_2 0x020a
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_3 0x020b
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_4 0x020c
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_5 0x020d
+#define WCD934X_CPE_SS_PWR_CPE_DRAM1_SHUTDOWN 0x020e
+#define WCD934X_CPE_SS_SOC_SW_COLLAPSE_CTL 0x020f
+#define WCD934X_CPE_SS_SOC_SW_COLLAPSE_OVERRIDE_CTL 0x0210
+#define WCD934X_CPE_SS_SOC_SW_COLLAPSE_OVERRIDE_CTL1 0x0211
+#define WCD934X_CPE_SS_US_BUF_INT_PERIOD 0x0212
+#define WCD934X_CPE_SS_CPARMAD_BUFRDY_INT_PERIOD 0x0213
+#define WCD934X_CPE_SS_SVA_CFG 0x0214
+#define WCD934X_CPE_SS_US_CFG 0x0215
+#define WCD934X_CPE_SS_MAD_CTL 0x0216
+#define WCD934X_CPE_SS_CPAR_CTL 0x0217
+#define WCD934X_CPE_SS_DMIC0_CTL 0x0218
+#define WCD934X_CPE_SS_DMIC1_CTL 0x0219
+#define WCD934X_CPE_SS_DMIC2_CTL 0x021a
+#define WCD934X_CPE_SS_DMIC_CFG 0x021b
+#define WCD934X_CPE_SS_CPAR_CFG 0x021c
+#define WCD934X_CPE_SS_WDOG_CFG 0x021d
+#define WCD934X_CPE_SS_BACKUP_INT 0x021e
+#define WCD934X_CPE_SS_STATUS 0x021f
+#define WCD934X_CPE_SS_CPE_OCD_CFG 0x0220
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_0A 0x0221
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_0B 0x0222
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_1A 0x0223
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_1B 0x0224
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_0A 0x0225
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_0B 0x0226
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_1A 0x0227
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_1B 0x0228
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_0A 0x0229
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_0B 0x022a
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_1A 0x022b
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_1B 0x022c
+#define WCD934X_SOC_MAD_MAIN_CTL_1 0x0281
+#define WCD934X_SOC_MAD_MAIN_CTL_2 0x0282
+#define WCD934X_SOC_MAD_AUDIO_CTL_1 0x0283
+#define WCD934X_SOC_MAD_AUDIO_CTL_2 0x0284
+#define WCD934X_SOC_MAD_AUDIO_CTL_3 0x0285
+#define WCD934X_SOC_MAD_AUDIO_CTL_4 0x0286
+#define WCD934X_SOC_MAD_AUDIO_CTL_5 0x0287
+#define WCD934X_SOC_MAD_AUDIO_CTL_6 0x0288
+#define WCD934X_SOC_MAD_AUDIO_CTL_7 0x0289
+#define WCD934X_SOC_MAD_AUDIO_CTL_8 0x028a
+#define WCD934X_SOC_MAD_AUDIO_IIR_CTL_PTR 0x028b
+#define WCD934X_SOC_MAD_AUDIO_IIR_CTL_VAL 0x028c
+#define WCD934X_SOC_MAD_ULTR_CTL_1 0x028d
+#define WCD934X_SOC_MAD_ULTR_CTL_2 0x028e
+#define WCD934X_SOC_MAD_ULTR_CTL_3 0x028f
+#define WCD934X_SOC_MAD_ULTR_CTL_4 0x0290
+#define WCD934X_SOC_MAD_ULTR_CTL_5 0x0291
+#define WCD934X_SOC_MAD_ULTR_CTL_6 0x0292
+#define WCD934X_SOC_MAD_ULTR_CTL_7 0x0293
+#define WCD934X_SOC_MAD_BEACON_CTL_1 0x0294
+#define WCD934X_SOC_MAD_BEACON_CTL_2 0x0295
+#define WCD934X_SOC_MAD_BEACON_CTL_3 0x0296
+#define WCD934X_SOC_MAD_BEACON_CTL_4 0x0297
+#define WCD934X_SOC_MAD_BEACON_CTL_5 0x0298
+#define WCD934X_SOC_MAD_BEACON_CTL_6 0x0299
+#define WCD934X_SOC_MAD_BEACON_CTL_7 0x029a
+#define WCD934X_SOC_MAD_BEACON_CTL_8 0x029b
+#define WCD934X_SOC_MAD_BEACON_IIR_CTL_PTR 0x029c
+#define WCD934X_SOC_MAD_BEACON_IIR_CTL_VAL 0x029d
+#define WCD934X_SOC_MAD_INP_SEL 0x029e
+#define WCD934X_PAGE4_PAGE_REGISTER 0x0400
+#define WCD934X_INTR_CFG 0x0401
+#define WCD934X_INTR_CLR_COMMIT 0x0402
+#define WCD934X_INTR_PIN1_MASK0 0x0409
+#define WCD934X_INTR_PIN1_MASK1 0x040a
+#define WCD934X_INTR_PIN1_MASK2 0x040b
+#define WCD934X_INTR_PIN1_MASK3 0x040c
+#define WCD934X_INTR_PIN1_STATUS0 0x0411
+#define WCD934X_INTR_PIN1_STATUS1 0x0412
+#define WCD934X_INTR_PIN1_STATUS2 0x0413
+#define WCD934X_INTR_PIN1_STATUS3 0x0414
+#define WCD934X_INTR_PIN1_CLEAR0 0x0419
+#define WCD934X_INTR_PIN1_CLEAR1 0x041a
+#define WCD934X_INTR_PIN1_CLEAR2 0x041b
+#define WCD934X_INTR_PIN1_CLEAR3 0x041c
+#define WCD934X_INTR_PIN2_MASK3 0x0424
+#define WCD934X_INTR_PIN2_STATUS3 0x042c
+#define WCD934X_INTR_PIN2_CLEAR3 0x0434
+#define WCD934X_INTR_CPESS_SUMRY_MASK2 0x043b
+#define WCD934X_INTR_CPESS_SUMRY_MASK3 0x043c
+#define WCD934X_INTR_CPESS_SUMRY_STATUS2 0x0443
+#define WCD934X_INTR_CPESS_SUMRY_STATUS3 0x0444
+#define WCD934X_INTR_CPESS_SUMRY_CLEAR2 0x044b
+#define WCD934X_INTR_CPESS_SUMRY_CLEAR3 0x044c
+#define WCD934X_INTR_LEVEL0 0x0461
+#define WCD934X_INTR_LEVEL1 0x0462
+#define WCD934X_INTR_LEVEL2 0x0463
+#define WCD934X_INTR_LEVEL3 0x0464
+#define WCD934X_INTR_BYPASS0 0x0469
+#define WCD934X_INTR_BYPASS1 0x046a
+#define WCD934X_INTR_BYPASS2 0x046b
+#define WCD934X_INTR_BYPASS3 0x046c
+#define WCD934X_INTR_SET0 0x0471
+#define WCD934X_INTR_SET1 0x0472
+#define WCD934X_INTR_SET2 0x0473
+#define WCD934X_INTR_SET3 0x0474
+#define WCD934X_INTR_CODEC_MISC_MASK 0x04b1
+#define WCD934X_INTR_CODEC_MISC_STATUS 0x04b2
+#define WCD934X_INTR_CODEC_MISC_CLEAR 0x04b3
+#define WCD934X_PAGE5_PAGE_REGISTER 0x0500
+#define WCD934X_SLNQ_DIG_DEVICE 0x0501
+#define WCD934X_SLNQ_DIG_REVISION 0x0502
+#define WCD934X_SLNQ_DIG_H_COMMAND 0x0511
+#define WCD934X_SLNQ_DIG_NUMBER_OF_BYTE_MSB 0x0512
+#define WCD934X_SLNQ_DIG_NUMBER_OF_BYTE_LSB 0x0513
+#define WCD934X_SLNQ_DIG_MASTER_ADDRESS_MSB 0x0514
+#define WCD934X_SLNQ_DIG_MASTER_ADDRESS_LSB 0x0515
+#define WCD934X_SLNQ_DIG_SLAVE_ADDRESS_MSB 0x0516
+#define WCD934X_SLNQ_DIG_SLAVE_ADDRESS_LSB 0x0517
+#define WCD934X_SLNQ_DIG_TIMER0_INTERRUPT_MSB 0x0518
+#define WCD934X_SLNQ_DIG_TIMER0_INTERRUPT_LSB 0x0519
+#define WCD934X_SLNQ_DIG_TIMER1_INTERRUPT_MSB 0x051a
+#define WCD934X_SLNQ_DIG_TIMER1_INTERRUPT_LSB 0x051b
+#define WCD934X_SLNQ_DIG_TIMER2_INTERRUPT_MSB 0x051c
+#define WCD934X_SLNQ_DIG_TIMER2_INTERRUPT_LSB 0x051d
+#define WCD934X_SLNQ_DIG_COMM_CTL 0x0520
+#define WCD934X_SLNQ_DIG_FRAME_CTRL 0x0542
+#define WCD934X_SLNQ_DIG_PDM_2ND_DATA_CH1_2 0x055c
+#define WCD934X_SLNQ_DIG_PDM_2ND_DATA_CH3_4 0x055d
+#define WCD934X_SLNQ_DIG_PDM_2ND_DATA_CH5 0x055e
+#define WCD934X_SLNQ_DIG_SW_EVENT_RD 0x0561
+#define WCD934X_SLNQ_DIG_SW_EVENT_CTRL 0x0562
+#define WCD934X_SLNQ_DIG_PDM_SELECT_1 0x0563
+#define WCD934X_SLNQ_DIG_PDM_SELECT_2 0x0564
+#define WCD934X_SLNQ_DIG_PDM_SELECT_3 0x0565
+#define WCD934X_SLNQ_DIG_PDM_SAMPLING_FREQ 0x0566
+#define WCD934X_SLNQ_DIG_PDM_DC_CONVERSION_CTL 0x0569
+#define WCD934X_SLNQ_DIG_PDM_DC_CONVERSION_SEL 0x056a
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHA_MSB 0x056b
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHA_LSB 0x056c
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHB_MSB 0x056d
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHB_LSB 0x056e
+#define WCD934X_SLNQ_DIG_RAM_CNTRL 0x0571
+#define WCD934X_SLNQ_DIG_SRAM_BANK 0x0572
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_0 0x0573
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1 0x0574
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2 0x0575
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3 0x0576
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_4 0x0577
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_5 0x0578
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_6 0x0579
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_7 0x057a
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_8 0x057b
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_9 0x057c
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_A 0x057d
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_B 0x057e
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_C 0x057f
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_D 0x0580
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_E 0x0581
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_F 0x0582
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_10 0x0583
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_11 0x0584
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_12 0x0585
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_13 0x0586
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_14 0x0587
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_15 0x0588
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_16 0x0589
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_17 0x058a
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_18 0x058b
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_19 0x058c
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1A 0x058d
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1B 0x058e
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1C 0x058f
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1D 0x0590
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1E 0x0591
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1F 0x0592
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_20 0x0593
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_21 0x0594
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_22 0x0595
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_23 0x0596
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_24 0x0597
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_25 0x0598
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_26 0x0599
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_27 0x059a
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_28 0x059b
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_29 0x059c
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2A 0x059d
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2B 0x059e
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2C 0x059f
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2D 0x05a0
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2E 0x05a1
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2F 0x05a2
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_30 0x05a3
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_31 0x05a4
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_32 0x05a5
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_33 0x05a6
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_34 0x05a7
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_35 0x05a8
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_36 0x05a9
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_37 0x05aa
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_38 0x05ab
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_39 0x05ac
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3A 0x05ad
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3B 0x05ae
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3C 0x05af
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3D 0x05b0
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3E 0x05b1
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3F 0x05b2
+#define WCD934X_SLNQ_DIG_TOP_CTRL1 0x05b3
+#define WCD934X_SLNQ_DIG_TOP_CTRL2 0x05b4
+#define WCD934X_SLNQ_DIG_PDM_CTRL 0x05b5
+#define WCD934X_SLNQ_DIG_PDM_MUTE_CTRL 0x05b6
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_CTRL 0x05b7
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_STATUS 0x05b8
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_FS 0x05b9
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_IN_SEL 0x05ba
+#define WCD934X_SLNQ_DIG_GPOUT_ENABLE 0x05bb
+#define WCD934X_SLNQ_DIG_GPOUT_VAL 0x05bc
+#define WCD934X_SLNQ_DIG_ANA_INTERRUPT_MASK 0x05be
+#define WCD934X_SLNQ_DIG_ANA_INTERRUPT_STATUS 0x05bf
+#define WCD934X_SLNQ_DIG_ANA_INTERRUPT_CLR 0x05c0
+#define WCD934X_SLNQ_DIG_IP_TESTING 0x05c1
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNTRL 0x05e3
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNT 0x05e9
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNT_MSB 0x05eb
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNT_LSB 0x05ec
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK0 0x05f1
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK1 0x05f2
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK2 0x05f3
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK3 0x05f4
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK4 0x05f5
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS0 0x05f6
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS1 0x05f7
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS2 0x05f8
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS3 0x05f9
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS4 0x05fa
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR0 0x05fb
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR1 0x05fc
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR2 0x05fd
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR3 0x05fe
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR4 0x05ff
+#define WCD934X_ANA_PAGE_REGISTER 0x0600
+#define WCD934X_ANA_BIAS 0x0601
+#define WCD934X_ANA_RCO 0x0603
+#define WCD934X_ANA_PAGE6_SPARE2 0x0604
+#define WCD934X_ANA_PAGE6_SPARE3 0x0605
+#define WCD934X_ANA_BUCK_CTL 0x0606
+#define WCD934X_ANA_BUCK_STATUS 0x0607
+#define WCD934X_ANA_RX_SUPPLIES 0x0608
+#define WCD934X_ANA_HPH 0x0609
+#define WCD934X_ANA_EAR 0x060a
+#define WCD934X_ANA_LO_1_2 0x060b
+#define WCD934X_ANA_MAD_SETUP 0x060d
+#define WCD934X_ANA_AMIC1 0x060e
+#define WCD934X_ANA_AMIC2 0x060f
+#define WCD934X_ANA_AMIC3 0x0610
+#define WCD934X_ANA_AMIC4 0x0611
+#define WCD934X_ANA_MBHC_MECH 0x0614
+#define WCD934X_ANA_MBHC_ELECT 0x0615
+#define WCD934X_ANA_MBHC_ZDET 0x0616
+#define WCD934X_ANA_MBHC_RESULT_1 0x0617
+#define WCD934X_ANA_MBHC_RESULT_2 0x0618
+#define WCD934X_ANA_MBHC_RESULT_3 0x0619
+#define WCD934X_ANA_MBHC_BTN0 0x061a
+#define WCD934X_ANA_MBHC_BTN1 0x061b
+#define WCD934X_ANA_MBHC_BTN2 0x061c
+#define WCD934X_ANA_MBHC_BTN3 0x061d
+#define WCD934X_ANA_MBHC_BTN4 0x061e
+#define WCD934X_ANA_MBHC_BTN5 0x061f
+#define WCD934X_ANA_MBHC_BTN6 0x0620
+#define WCD934X_ANA_MBHC_BTN7 0x0621
+#define WCD934X_ANA_MICB1 0x0622
+#define WCD934X_ANA_MICB2 0x0623
+#define WCD934X_ANA_MICB2_RAMP 0x0624
+#define WCD934X_ANA_MICB3 0x0625
+#define WCD934X_ANA_MICB4 0x0626
+#define WCD934X_ANA_VBADC 0x0627
+#define WCD934X_BIAS_CTL 0x0628
+#define WCD934X_BIAS_VBG_FINE_ADJ 0x0629
+#define WCD934X_RCO_CTRL_1 0x062e
+#define WCD934X_RCO_CTRL_2 0x062f
+#define WCD934X_RCO_CAL 0x0630
+#define WCD934X_RCO_CAL_1 0x0631
+#define WCD934X_RCO_CAL_2 0x0632
+#define WCD934X_RCO_TEST_CTRL 0x0633
+#define WCD934X_RCO_CAL_OUT_1 0x0634
+#define WCD934X_RCO_CAL_OUT_2 0x0635
+#define WCD934X_RCO_CAL_OUT_3 0x0636
+#define WCD934X_RCO_CAL_OUT_4 0x0637
+#define WCD934X_RCO_CAL_OUT_5 0x0638
+#define WCD934X_SIDO_MODE_1 0x063a
+#define WCD934X_SIDO_MODE_2 0x063b
+#define WCD934X_SIDO_MODE_3 0x063c
+#define WCD934X_SIDO_MODE_4 0x063d
+#define WCD934X_SIDO_VCL_1 0x063e
+#define WCD934X_SIDO_VCL_2 0x063f
+#define WCD934X_SIDO_VCL_3 0x0640
+#define WCD934X_SIDO_CCL_1 0x0641
+#define WCD934X_SIDO_CCL_2 0x0642
+#define WCD934X_SIDO_CCL_3 0x0643
+#define WCD934X_SIDO_CCL_4 0x0644
+#define WCD934X_SIDO_CCL_5 0x0645
+#define WCD934X_SIDO_CCL_6 0x0646
+#define WCD934X_SIDO_CCL_7 0x0647
+#define WCD934X_SIDO_CCL_8 0x0648
+#define WCD934X_SIDO_CCL_9 0x0649
+#define WCD934X_SIDO_CCL_10 0x064a
+#define WCD934X_SIDO_FILTER_1 0x064b
+#define WCD934X_SIDO_FILTER_2 0x064c
+#define WCD934X_SIDO_DRIVER_1 0x064d
+#define WCD934X_SIDO_DRIVER_2 0x064e
+#define WCD934X_SIDO_DRIVER_3 0x064f
+#define WCD934X_SIDO_CAL_CODE_EXT_1 0x0650
+#define WCD934X_SIDO_CAL_CODE_EXT_2 0x0651
+#define WCD934X_SIDO_CAL_CODE_OUT_1 0x0652
+#define WCD934X_SIDO_CAL_CODE_OUT_2 0x0653
+#define WCD934X_SIDO_TEST_1 0x0654
+#define WCD934X_SIDO_TEST_2 0x0655
+#define WCD934X_MBHC_CTL_CLK 0x0656
+#define WCD934X_MBHC_CTL_ANA 0x0657
+#define WCD934X_MBHC_CTL_SPARE_1 0x0658
+#define WCD934X_MBHC_CTL_SPARE_2 0x0659
+#define WCD934X_MBHC_CTL_BCS 0x065a
+#define WCD934X_MBHC_STATUS_SPARE_1 0x065b
+#define WCD934X_MBHC_TEST_CTL 0x065c
+#define WCD934X_VBADC_SUBBLOCK_EN 0x065d
+#define WCD934X_VBADC_IBIAS_FE 0x065e
+#define WCD934X_VBADC_BIAS_ADC 0x065f
+#define WCD934X_VBADC_FE_CTRL 0x0660
+#define WCD934X_VBADC_ADC_REF 0x0661
+#define WCD934X_VBADC_ADC_IO 0x0662
+#define WCD934X_VBADC_ADC_SAR 0x0663
+#define WCD934X_VBADC_DEBUG 0x0664
+#define WCD934X_LDOH_MODE 0x0667
+#define WCD934X_LDOH_BIAS 0x0668
+#define WCD934X_LDOH_STB_LOADS 0x0669
+#define WCD934X_LDOH_SLOWRAMP 0x066a
+#define WCD934X_MICB1_TEST_CTL_1 0x066b
+#define WCD934X_MICB1_TEST_CTL_2 0x066c
+#define WCD934X_MICB1_TEST_CTL_3 0x066d
+#define WCD934X_MICB2_TEST_CTL_1 0x066e
+#define WCD934X_MICB2_TEST_CTL_2 0x066f
+#define WCD934X_MICB2_TEST_CTL_3 0x0670
+#define WCD934X_MICB3_TEST_CTL_1 0x0671
+#define WCD934X_MICB3_TEST_CTL_2 0x0672
+#define WCD934X_MICB3_TEST_CTL_3 0x0673
+#define WCD934X_MICB4_TEST_CTL_1 0x0674
+#define WCD934X_MICB4_TEST_CTL_2 0x0675
+#define WCD934X_MICB4_TEST_CTL_3 0x0676
+#define WCD934X_TX_COM_ADC_VCM 0x0677
+#define WCD934X_TX_COM_BIAS_ATEST 0x0678
+#define WCD934X_TX_COM_ADC_INT1_IB 0x0679
+#define WCD934X_TX_COM_ADC_INT2_IB 0x067a
+#define WCD934X_TX_COM_TXFE_DIV_CTL 0x067b
+#define WCD934X_TX_COM_TXFE_DIV_START 0x067c
+#define WCD934X_TX_COM_TXFE_DIV_STOP_9P6M 0x067d
+#define WCD934X_TX_COM_TXFE_DIV_STOP_12P288M 0x067e
+#define WCD934X_TX_1_2_TEST_EN 0x067f
+#define WCD934X_TX_1_2_ADC_IB 0x0680
+#define WCD934X_TX_1_2_ATEST_REFCTL 0x0681
+#define WCD934X_TX_1_2_TEST_CTL 0x0682
+#define WCD934X_TX_1_2_TEST_BLK_EN 0x0683
+#define WCD934X_TX_1_2_TXFE_CLKDIV 0x0684
+#define WCD934X_TX_1_2_SAR1_ERR 0x0685
+#define WCD934X_TX_1_2_SAR2_ERR 0x0686
+#define WCD934X_TX_3_4_TEST_EN 0x0687
+#define WCD934X_TX_3_4_ADC_IB 0x0688
+#define WCD934X_TX_3_4_ATEST_REFCTL 0x0689
+#define WCD934X_TX_3_4_TEST_CTL 0x068a
+#define WCD934X_TX_3_4_TEST_BLK_EN 0x068b
+#define WCD934X_TX_3_4_TXFE_CLKDIV 0x068c
+#define WCD934X_TX_3_4_SAR1_ERR 0x068d
+#define WCD934X_TX_3_4_SAR2_ERR 0x068e
+#define WCD934X_CLASSH_MODE_1 0x0697
+#define WCD934X_CLASSH_MODE_2 0x0698
+#define WCD934X_CLASSH_MODE_3 0x0699
+#define WCD934X_CLASSH_CTRL_VCL_1 0x069a
+#define WCD934X_CLASSH_CTRL_VCL_2 0x069b
+#define WCD934X_CLASSH_CTRL_CCL_1 0x069c
+#define WCD934X_CLASSH_CTRL_CCL_2 0x069d
+#define WCD934X_CLASSH_CTRL_CCL_3 0x069e
+#define WCD934X_CLASSH_CTRL_CCL_4 0x069f
+#define WCD934X_CLASSH_CTRL_CCL_5 0x06a0
+#define WCD934X_CLASSH_BUCK_TMUX_A_D 0x06a1
+#define WCD934X_CLASSH_BUCK_SW_DRV_CNTL 0x06a2
+#define WCD934X_CLASSH_SPARE 0x06a3
+#define WCD934X_FLYBACK_EN 0x06a4
+#define WCD934X_FLYBACK_VNEG_CTRL_1 0x06a5
+#define WCD934X_FLYBACK_VNEG_CTRL_2 0x06a6
+#define WCD934X_FLYBACK_VNEG_CTRL_3 0x06a7
+#define WCD934X_FLYBACK_VNEG_CTRL_4 0x06a8
+#define WCD934X_FLYBACK_VNEG_CTRL_5 0x06a9
+#define WCD934X_FLYBACK_VNEG_CTRL_6 0x06aa
+#define WCD934X_FLYBACK_VNEG_CTRL_7 0x06ab
+#define WCD934X_FLYBACK_VNEG_CTRL_8 0x06ac
+#define WCD934X_FLYBACK_VNEG_CTRL_9 0x06ad
+#define WCD934X_FLYBACK_VNEGDAC_CTRL_1 0x06ae
+#define WCD934X_FLYBACK_VNEGDAC_CTRL_2 0x06af
+#define WCD934X_FLYBACK_VNEGDAC_CTRL_3 0x06b0
+#define WCD934X_FLYBACK_CTRL_1 0x06b1
+#define WCD934X_FLYBACK_TEST_CTL 0x06b2
+#define WCD934X_RX_AUX_SW_CTL 0x06b3
+#define WCD934X_RX_PA_AUX_IN_CONN 0x06b4
+#define WCD934X_RX_TIMER_DIV 0x06b5
+#define WCD934X_RX_OCP_CTL 0x06b6
+#define WCD934X_RX_OCP_COUNT 0x06b7
+#define WCD934X_RX_BIAS_EAR_DAC 0x06b8
+#define WCD934X_RX_BIAS_EAR_AMP 0x06b9
+#define WCD934X_RX_BIAS_HPH_LDO 0x06ba
+#define WCD934X_RX_BIAS_HPH_PA 0x06bb
+#define WCD934X_RX_BIAS_HPH_RDACBUFF_CNP2 0x06bc
+#define WCD934X_RX_BIAS_HPH_RDAC_LDO 0x06bd
+#define WCD934X_RX_BIAS_HPH_CNP1 0x06be
+#define WCD934X_RX_BIAS_HPH_LOWPOWER 0x06bf
+#define WCD934X_RX_BIAS_DIFFLO_PA 0x06c0
+#define WCD934X_RX_BIAS_DIFFLO_REF 0x06c1
+#define WCD934X_RX_BIAS_DIFFLO_LDO 0x06c2
+#define WCD934X_RX_BIAS_SELO_DAC_PA 0x06c3
+#define WCD934X_RX_BIAS_BUCK_RST 0x06c4
+#define WCD934X_RX_BIAS_BUCK_VREF_ERRAMP 0x06c5
+#define WCD934X_RX_BIAS_FLYB_ERRAMP 0x06c6
+#define WCD934X_RX_BIAS_FLYB_BUFF 0x06c7
+#define WCD934X_RX_BIAS_FLYB_MID_RST 0x06c8
+#define WCD934X_HPH_L_STATUS 0x06c9
+#define WCD934X_HPH_R_STATUS 0x06ca
+#define WCD934X_HPH_CNP_EN 0x06cb
+#define WCD934X_HPH_CNP_WG_CTL 0x06cc
+#define WCD934X_HPH_CNP_WG_TIME 0x06cd
+#define WCD934X_HPH_OCP_CTL 0x06ce
+#define WCD934X_HPH_AUTO_CHOP 0x06cf
+#define WCD934X_HPH_CHOP_CTL 0x06d0
+#define WCD934X_HPH_PA_CTL1 0x06d1
+#define WCD934X_HPH_PA_CTL2 0x06d2
+#define WCD934X_HPH_L_EN 0x06d3
+#define WCD934X_HPH_L_TEST 0x06d4
+#define WCD934X_HPH_L_ATEST 0x06d5
+#define WCD934X_HPH_R_EN 0x06d6
+#define WCD934X_HPH_R_TEST 0x06d7
+#define WCD934X_HPH_R_ATEST 0x06d8
+#define WCD934X_HPH_RDAC_CLK_CTL1 0x06d9
+#define WCD934X_HPH_RDAC_CLK_CTL2 0x06da
+#define WCD934X_HPH_RDAC_LDO_CTL 0x06db
+#define WCD934X_HPH_RDAC_CHOP_CLK_LP_CTL 0x06dc
+#define WCD934X_HPH_REFBUFF_UHQA_CTL 0x06dd
+#define WCD934X_HPH_REFBUFF_LP_CTL 0x06de
+#define WCD934X_HPH_L_DAC_CTL 0x06df
+#define WCD934X_HPH_R_DAC_CTL 0x06e0
+#define WCD934X_EAR_EN_REG 0x06e1
+#define WCD934X_EAR_CMBUFF 0x06e2
+#define WCD934X_EAR_ICTL 0x06e3
+#define WCD934X_EAR_EN_DBG_CTL 0x06e4
+#define WCD934X_EAR_CNP 0x06e5
+#define WCD934X_EAR_DAC_CTL_ATEST 0x06e6
+#define WCD934X_EAR_STATUS_REG 0x06e7
+#define WCD934X_EAR_EAR_MISC 0x06e8
+#define WCD934X_DIFF_LO_MISC 0x06e9
+#define WCD934X_DIFF_LO_LO2_COMPANDER 0x06ea
+#define WCD934X_DIFF_LO_LO1_COMPANDER 0x06eb
+#define WCD934X_DIFF_LO_COMMON 0x06ec
+#define WCD934X_DIFF_LO_BYPASS_EN 0x06ed
+#define WCD934X_DIFF_LO_CNP 0x06ee
+#define WCD934X_DIFF_LO_CORE_OUT_PROG 0x06ef
+#define WCD934X_DIFF_LO_LDO_OUT_PROG 0x06f0
+#define WCD934X_DIFF_LO_COM_SWCAP_REFBUF_FREQ 0x06f1
+#define WCD934X_DIFF_LO_COM_PA_FREQ 0x06f2
+#define WCD934X_DIFF_LO_RESERVED_REG 0x06f3
+#define WCD934X_DIFF_LO_LO1_STATUS_1 0x06f4
+#define WCD934X_DIFF_LO_LO1_STATUS_2 0x06f5
+#define WCD934X_ANA_NEW_PAGE_REGISTER 0x0700
+#define WCD934X_HPH_NEW_ANA_HPH2 0x0701
+#define WCD934X_HPH_NEW_ANA_HPH3 0x0702
+#define WCD934X_SLNQ_ANA_EN 0x0703
+#define WCD934X_SLNQ_ANA_STATUS 0x0704
+#define WCD934X_SLNQ_ANA_LDO_CONFIG 0x0705
+#define WCD934X_SLNQ_ANA_LDO_OCP_CONFIG 0x0706
+#define WCD934X_SLNQ_ANA_TX_LDO_CONFIG 0x0707
+#define WCD934X_SLNQ_ANA_TX_DRV_CONFIG 0x0708
+#define WCD934X_SLNQ_ANA_RX_CONFIG_1 0x0709
+#define WCD934X_SLNQ_ANA_RX_CONFIG_2 0x070a
+#define WCD934X_SLNQ_ANA_PLL_ENABLES 0x070b
+#define WCD934X_SLNQ_ANA_PLL_PRESET 0x070c
+#define WCD934X_SLNQ_ANA_PLL_STATUS 0x070d
+#define WCD934X_CLK_SYS_PLL_ENABLES 0x070e
+#define WCD934X_CLK_SYS_PLL_PRESET 0x070f
+#define WCD934X_CLK_SYS_PLL_STATUS 0x0710
+#define WCD934X_CLK_SYS_MCLK_PRG 0x0711
+#define WCD934X_CLK_SYS_MCLK2_PRG1 0x0712
+#define WCD934X_CLK_SYS_MCLK2_PRG2 0x0713
+#define WCD934X_CLK_SYS_XO_PRG 0x0714
+#define WCD934X_CLK_SYS_XO_CAP_XTP 0x0715
+#define WCD934X_CLK_SYS_XO_CAP_XTM 0x0716
+#define WCD934X_BOOST_BST_EN_DLY 0x0718
+#define WCD934X_BOOST_CTRL_ILIM 0x0719
+#define WCD934X_BOOST_VOUT_SETTING 0x071a
+#define WCD934X_SIDO_NEW_VOUT_A_STARTUP 0x071b
+#define WCD934X_SIDO_NEW_VOUT_D_STARTUP 0x071c
+#define WCD934X_SIDO_NEW_VOUT_D_FREQ1 0x071d
+#define WCD934X_SIDO_NEW_VOUT_D_FREQ2 0x071e
+#define WCD934X_MBHC_NEW_ELECT_REM_CLAMP_CTL 0x071f
+#define WCD934X_MBHC_NEW_CTL_1 0x0720
+#define WCD934X_MBHC_NEW_CTL_2 0x0721
+#define WCD934X_MBHC_NEW_PLUG_DETECT_CTL 0x0722
+#define WCD934X_MBHC_NEW_ZDET_ANA_CTL 0x0723
+#define WCD934X_MBHC_NEW_ZDET_RAMP_CTL 0x0724
+#define WCD934X_MBHC_NEW_FSM_STATUS 0x0725
+#define WCD934X_MBHC_NEW_ADC_RESULT 0x0726
+#define WCD934X_TX_NEW_AMIC_4_5_SEL 0x0727
+#define WCD934X_VBADC_NEW_ADC_MODE 0x072f
+#define WCD934X_VBADC_NEW_ADC_DOUTMSB 0x0730
+#define WCD934X_VBADC_NEW_ADC_DOUTLSB 0x0731
+#define WCD934X_HPH_NEW_INT_RDAC_GAIN_CTL 0x0732
+#define WCD934X_HPH_NEW_INT_RDAC_HD2_CTL 0x0733
+#define WCD934X_HPH_NEW_INT_RDAC_VREF_CTL 0x0734
+#define WCD934X_HPH_NEW_INT_RDAC_OVERRIDE_CTL 0x0735
+#define WCD934X_HPH_NEW_INT_RDAC_MISC1 0x0736
+#define WCD934X_HPH_NEW_INT_PA_MISC1 0x0737
+#define WCD934X_HPH_NEW_INT_PA_MISC2 0x0738
+#define WCD934X_HPH_NEW_INT_PA_RDAC_MISC 0x0739
+#define WCD934X_HPH_NEW_INT_HPH_TIMER1 0x073a
+#define WCD934X_HPH_NEW_INT_HPH_TIMER2 0x073b
+#define WCD934X_HPH_NEW_INT_HPH_TIMER3 0x073c
+#define WCD934X_HPH_NEW_INT_HPH_TIMER4 0x073d
+#define WCD934X_HPH_NEW_INT_PA_RDAC_MISC2 0x073e
+#define WCD934X_HPH_NEW_INT_PA_RDAC_MISC3 0x073f
+#define WCD934X_RX_NEW_INT_HPH_RDAC_BIAS_LOHIFI 0x0745
+#define WCD934X_RX_NEW_INT_HPH_RDAC_BIAS_ULP 0x0746
+#define WCD934X_RX_NEW_INT_HPH_RDAC_LDO_LP 0x0747
+#define WCD934X_SLNQ_INT_ANA_INT_LDO_TEST 0x074b
+#define WCD934X_SLNQ_INT_ANA_INT_LDO_DEBUG_1 0x074c
+#define WCD934X_SLNQ_INT_ANA_INT_LDO_DEBUG_2 0x074d
+#define WCD934X_SLNQ_INT_ANA_INT_TX_LDO_TEST 0x074e
+#define WCD934X_SLNQ_INT_ANA_INT_TX_DRV_TEST 0x074f
+#define WCD934X_SLNQ_INT_ANA_INT_RX_TEST 0x0750
+#define WCD934X_SLNQ_INT_ANA_INT_RX_TEST_STATUS 0x0751
+#define WCD934X_SLNQ_INT_ANA_INT_RX_DEBUG_1 0x0752
+#define WCD934X_SLNQ_INT_ANA_INT_RX_DEBUG_2 0x0753
+#define WCD934X_SLNQ_INT_ANA_INT_CLK_CTRL 0x0754
+#define WCD934X_SLNQ_INT_ANA_INT_RESERVED_1 0x0755
+#define WCD934X_SLNQ_INT_ANA_INT_RESERVED_2 0x0756
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_POST_DIV_REG0 0x0757
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_POST_DIV_REG1 0x0758
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_REF_DIV_REG0 0x0759
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_REF_DIV_REG1 0x075a
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_FILTER_REG0 0x075b
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_FILTER_REG1 0x075c
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_L_VAL 0x075d
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_M_VAL 0x075e
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_N_VAL 0x075f
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_TEST_REG0 0x0760
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_PFD_CP_DSM_PROG 0x0761
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_VCO_PROG 0x0762
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_TEST_REG1 0x0763
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_LDO_LOCK_CFG 0x0764
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_DIG_LOCK_DET_CFG 0x0765
+#define WCD934X_CLK_SYS_INT_POST_DIV_REG0 0x076c
+#define WCD934X_CLK_SYS_INT_POST_DIV_REG1 0x076d
+#define WCD934X_CLK_SYS_INT_REF_DIV_REG0 0x076e
+#define WCD934X_CLK_SYS_INT_REF_DIV_REG1 0x076f
+#define WCD934X_CLK_SYS_INT_FILTER_REG0 0x0770
+#define WCD934X_CLK_SYS_INT_FILTER_REG1 0x0771
+#define WCD934X_CLK_SYS_INT_PLL_L_VAL 0x0772
+#define WCD934X_CLK_SYS_INT_PLL_M_VAL 0x0773
+#define WCD934X_CLK_SYS_INT_PLL_N_VAL 0x0774
+#define WCD934X_CLK_SYS_INT_TEST_REG0 0x0775
+#define WCD934X_CLK_SYS_INT_PFD_CP_DSM_PROG 0x0776
+#define WCD934X_CLK_SYS_INT_VCO_PROG 0x0777
+#define WCD934X_CLK_SYS_INT_TEST_REG1 0x0778
+#define WCD934X_CLK_SYS_INT_LDO_LOCK_CFG 0x0779
+#define WCD934X_CLK_SYS_INT_DIG_LOCK_DET_CFG 0x077a
+#define WCD934X_CLK_SYS_INT_CLK_TEST1 0x077b
+#define WCD934X_CLK_SYS_INT_CLK_TEST2 0x077c
+#define WCD934X_CLK_SYS_INT_CLK_TEST3 0x077d
+#define WCD934X_CLK_SYS_INT_XO_TEST1 0x077e
+#define WCD934X_CLK_SYS_INT_XO_TEST2 0x077f
+#define WCD934X_BOOST_INT_VCOMP_HYST 0x0787
+#define WCD934X_BOOST_INT_VLOOP_FILTER 0x0788
+#define WCD934X_BOOST_INT_CTRL_IDELTA 0x0789
+#define WCD934X_BOOST_INT_CTRL_ILIM_STARTUP 0x078a
+#define WCD934X_BOOST_INT_CTRL_MIN_ONTIME 0x078b
+#define WCD934X_BOOST_INT_CTRL_MAX_ONTIME 0x078c
+#define WCD934X_BOOST_INT_CTRL_TIMING 0x078d
+#define WCD934X_BOOST_INT_TMUX_A_D 0x078e
+#define WCD934X_BOOST_INT_SW_DRV_CNTL 0x078f
+#define WCD934X_BOOST_INT_SPARE1 0x0790
+#define WCD934X_BOOST_INT_SPARE2 0x0791
+#define WCD934X_SIDO_NEW_INT_RAMP_STATUS 0x0796
+#define WCD934X_SIDO_NEW_INT_SPARE_1 0x0797
+#define WCD934X_SIDO_NEW_INT_DEBUG_VOUT_SETTING_A 0x0798
+#define WCD934X_SIDO_NEW_INT_DEBUG_VOUT_SETTING_D 0x0799
+#define WCD934X_SIDO_NEW_INT_RAMP_INC_WAIT 0x079a
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_CTL 0x079b
+#define WCD934X_SIDO_NEW_INT_RAMP_IBLEED_CTL 0x079c
+#define WCD934X_SIDO_NEW_INT_DEBUG_CPROVR_TEST 0x079d
+#define WCD934X_SIDO_NEW_INT_RAMP_CTL_A 0x079e
+#define WCD934X_SIDO_NEW_INT_RAMP_CTL_D 0x079f
+#define WCD934X_SIDO_NEW_INT_RAMP_TIMEOUT_PERIOD 0x07a0
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_SETTING1 0x07a1
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_SETTING2 0x07a2
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_SETTING3 0x07a3
+#define WCD934X_SIDO_NEW_INT_HIGH_ACCU_MODE_SEL1 0x07a4
+#define WCD934X_SIDO_NEW_INT_HIGH_ACCU_MODE_SEL2 0x07a5
+#define WCD934X_MBHC_NEW_INT_SLNQ_HPF 0x07af
+#define WCD934X_MBHC_NEW_INT_SLNQ_REF 0x07b0
+#define WCD934X_MBHC_NEW_INT_SLNQ_COMP 0x07b1
+#define WCD934X_MBHC_NEW_INT_SPARE_2 0x07b2
+#define WCD934X_PAGE10_PAGE_REGISTER 0x0a00
+#define WCD934X_CDC_ANC0_CLK_RESET_CTL 0x0a01
+#define WCD934X_CDC_ANC0_MODE_1_CTL 0x0a02
+#define WCD934X_CDC_ANC0_MODE_2_CTL 0x0a03
+#define WCD934X_CDC_ANC0_FF_SHIFT 0x0a04
+#define WCD934X_CDC_ANC0_FB_SHIFT 0x0a05
+#define WCD934X_CDC_ANC0_LPF_FF_A_CTL 0x0a06
+#define WCD934X_CDC_ANC0_LPF_FF_B_CTL 0x0a07
+#define WCD934X_CDC_ANC0_LPF_FB_CTL 0x0a08
+#define WCD934X_CDC_ANC0_SMLPF_CTL 0x0a09
+#define WCD934X_CDC_ANC0_DCFLT_SHIFT_CTL 0x0a0a
+#define WCD934X_CDC_ANC0_IIR_ADAPT_CTL 0x0a0b
+#define WCD934X_CDC_ANC0_IIR_COEFF_1_CTL 0x0a0c
+#define WCD934X_CDC_ANC0_IIR_COEFF_2_CTL 0x0a0d
+#define WCD934X_CDC_ANC0_FF_A_GAIN_CTL 0x0a0e
+#define WCD934X_CDC_ANC0_FF_B_GAIN_CTL 0x0a0f
+#define WCD934X_CDC_ANC0_FB_GAIN_CTL 0x0a10
+#define WCD934X_CDC_ANC0_RC_COMMON_CTL 0x0a11
+#define WCD934X_CDC_ANC0_FIFO_COMMON_CTL 0x0a13
+#define WCD934X_CDC_ANC0_RC0_STATUS_FMIN_CNTR 0x0a14
+#define WCD934X_CDC_ANC0_RC1_STATUS_FMIN_CNTR 0x0a15
+#define WCD934X_CDC_ANC0_RC0_STATUS_FMAX_CNTR 0x0a16
+#define WCD934X_CDC_ANC0_RC1_STATUS_FMAX_CNTR 0x0a17
+#define WCD934X_CDC_ANC0_STATUS_FIFO 0x0a18
+#define WCD934X_CDC_ANC1_CLK_RESET_CTL 0x0a19
+#define WCD934X_CDC_ANC1_MODE_1_CTL 0x0a1a
+#define WCD934X_CDC_ANC1_MODE_2_CTL 0x0a1b
+#define WCD934X_CDC_ANC1_FF_SHIFT 0x0a1c
+#define WCD934X_CDC_ANC1_FB_SHIFT 0x0a1d
+#define WCD934X_CDC_ANC1_LPF_FF_A_CTL 0x0a1e
+#define WCD934X_CDC_ANC1_LPF_FF_B_CTL 0x0a1f
+#define WCD934X_CDC_ANC1_LPF_FB_CTL 0x0a20
+#define WCD934X_CDC_ANC1_SMLPF_CTL 0x0a21
+#define WCD934X_CDC_ANC1_DCFLT_SHIFT_CTL 0x0a22
+#define WCD934X_CDC_ANC1_IIR_ADAPT_CTL 0x0a23
+#define WCD934X_CDC_ANC1_IIR_COEFF_1_CTL 0x0a24
+#define WCD934X_CDC_ANC1_IIR_COEFF_2_CTL 0x0a25
+#define WCD934X_CDC_ANC1_FF_A_GAIN_CTL 0x0a26
+#define WCD934X_CDC_ANC1_FF_B_GAIN_CTL 0x0a27
+#define WCD934X_CDC_ANC1_FB_GAIN_CTL 0x0a28
+#define WCD934X_CDC_ANC1_RC_COMMON_CTL 0x0a29
+#define WCD934X_CDC_ANC1_FIFO_COMMON_CTL 0x0a2b
+#define WCD934X_CDC_ANC1_RC0_STATUS_FMIN_CNTR 0x0a2c
+#define WCD934X_CDC_ANC1_RC1_STATUS_FMIN_CNTR 0x0a2d
+#define WCD934X_CDC_ANC1_RC0_STATUS_FMAX_CNTR 0x0a2e
+#define WCD934X_CDC_ANC1_RC1_STATUS_FMAX_CNTR 0x0a2f
+#define WCD934X_CDC_ANC1_STATUS_FIFO 0x0a30
+#define WCD934X_CDC_TX0_TX_PATH_CTL 0x0a31
+#define WCD934X_CDC_TX0_TX_PATH_CFG0 0x0a32
+#define WCD934X_CDC_TX0_TX_PATH_CFG1 0x0a33
+#define WCD934X_CDC_TX0_TX_VOL_CTL 0x0a34
+#define WCD934X_CDC_TX0_TX_PATH_192_CTL 0x0a35
+#define WCD934X_CDC_TX0_TX_PATH_192_CFG 0x0a36
+#define WCD934X_CDC_TX0_TX_PATH_SEC0 0x0a37
+#define WCD934X_CDC_TX0_TX_PATH_SEC1 0x0a38
+#define WCD934X_CDC_TX0_TX_PATH_SEC2 0x0a39
+#define WCD934X_CDC_TX0_TX_PATH_SEC3 0x0a3a
+#define WCD934X_CDC_TX0_TX_PATH_SEC4 0x0a3b
+#define WCD934X_CDC_TX0_TX_PATH_SEC5 0x0a3c
+#define WCD934X_CDC_TX0_TX_PATH_SEC6 0x0a3d
+#define WCD934X_CDC_TX0_TX_PATH_SEC7 0x0a3e
+#define WCD934X_CDC_TX1_TX_PATH_CTL 0x0a41
+#define WCD934X_CDC_TX1_TX_PATH_CFG0 0x0a42
+#define WCD934X_CDC_TX1_TX_PATH_CFG1 0x0a43
+#define WCD934X_CDC_TX1_TX_VOL_CTL 0x0a44
+#define WCD934X_CDC_TX1_TX_PATH_192_CTL 0x0a45
+#define WCD934X_CDC_TX1_TX_PATH_192_CFG 0x0a46
+#define WCD934X_CDC_TX1_TX_PATH_SEC0 0x0a47
+#define WCD934X_CDC_TX1_TX_PATH_SEC1 0x0a48
+#define WCD934X_CDC_TX1_TX_PATH_SEC2 0x0a49
+#define WCD934X_CDC_TX1_TX_PATH_SEC3 0x0a4a
+#define WCD934X_CDC_TX1_TX_PATH_SEC4 0x0a4b
+#define WCD934X_CDC_TX1_TX_PATH_SEC5 0x0a4c
+#define WCD934X_CDC_TX1_TX_PATH_SEC6 0x0a4d
+#define WCD934X_CDC_TX2_TX_PATH_CTL 0x0a51
+#define WCD934X_CDC_TX2_TX_PATH_CFG0 0x0a52
+#define WCD934X_CDC_TX2_TX_PATH_CFG1 0x0a53
+#define WCD934X_CDC_TX2_TX_VOL_CTL 0x0a54
+#define WCD934X_CDC_TX2_TX_PATH_192_CTL 0x0a55
+#define WCD934X_CDC_TX2_TX_PATH_192_CFG 0x0a56
+#define WCD934X_CDC_TX2_TX_PATH_SEC0 0x0a57
+#define WCD934X_CDC_TX2_TX_PATH_SEC1 0x0a58
+#define WCD934X_CDC_TX2_TX_PATH_SEC2 0x0a59
+#define WCD934X_CDC_TX2_TX_PATH_SEC3 0x0a5a
+#define WCD934X_CDC_TX2_TX_PATH_SEC4 0x0a5b
+#define WCD934X_CDC_TX2_TX_PATH_SEC5 0x0a5c
+#define WCD934X_CDC_TX2_TX_PATH_SEC6 0x0a5d
+#define WCD934X_CDC_TX3_TX_PATH_CTL 0x0a61
+#define WCD934X_CDC_TX3_TX_PATH_CFG0 0x0a62
+#define WCD934X_CDC_TX3_TX_PATH_CFG1 0x0a63
+#define WCD934X_CDC_TX3_TX_VOL_CTL 0x0a64
+#define WCD934X_CDC_TX3_TX_PATH_192_CTL 0x0a65
+#define WCD934X_CDC_TX3_TX_PATH_192_CFG 0x0a66
+#define WCD934X_CDC_TX3_TX_PATH_SEC0 0x0a67
+#define WCD934X_CDC_TX3_TX_PATH_SEC1 0x0a68
+#define WCD934X_CDC_TX3_TX_PATH_SEC2 0x0a69
+#define WCD934X_CDC_TX3_TX_PATH_SEC3 0x0a6a
+#define WCD934X_CDC_TX3_TX_PATH_SEC4 0x0a6b
+#define WCD934X_CDC_TX3_TX_PATH_SEC5 0x0a6c
+#define WCD934X_CDC_TX3_TX_PATH_SEC6 0x0a6d
+#define WCD934X_CDC_TX4_TX_PATH_CTL 0x0a71
+#define WCD934X_CDC_TX4_TX_PATH_CFG0 0x0a72
+#define WCD934X_CDC_TX4_TX_PATH_CFG1 0x0a73
+#define WCD934X_CDC_TX4_TX_VOL_CTL 0x0a74
+#define WCD934X_CDC_TX4_TX_PATH_192_CTL 0x0a75
+#define WCD934X_CDC_TX4_TX_PATH_192_CFG 0x0a76
+#define WCD934X_CDC_TX4_TX_PATH_SEC0 0x0a77
+#define WCD934X_CDC_TX4_TX_PATH_SEC1 0x0a78
+#define WCD934X_CDC_TX4_TX_PATH_SEC2 0x0a79
+#define WCD934X_CDC_TX4_TX_PATH_SEC3 0x0a7a
+#define WCD934X_CDC_TX4_TX_PATH_SEC4 0x0a7b
+#define WCD934X_CDC_TX4_TX_PATH_SEC5 0x0a7c
+#define WCD934X_CDC_TX4_TX_PATH_SEC6 0x0a7d
+#define WCD934X_CDC_TX5_TX_PATH_CTL 0x0a81
+#define WCD934X_CDC_TX5_TX_PATH_CFG0 0x0a82
+#define WCD934X_CDC_TX5_TX_PATH_CFG1 0x0a83
+#define WCD934X_CDC_TX5_TX_VOL_CTL 0x0a84
+#define WCD934X_CDC_TX5_TX_PATH_192_CTL 0x0a85
+#define WCD934X_CDC_TX5_TX_PATH_192_CFG 0x0a86
+#define WCD934X_CDC_TX5_TX_PATH_SEC0 0x0a87
+#define WCD934X_CDC_TX5_TX_PATH_SEC1 0x0a88
+#define WCD934X_CDC_TX5_TX_PATH_SEC2 0x0a89
+#define WCD934X_CDC_TX5_TX_PATH_SEC3 0x0a8a
+#define WCD934X_CDC_TX5_TX_PATH_SEC4 0x0a8b
+#define WCD934X_CDC_TX5_TX_PATH_SEC5 0x0a8c
+#define WCD934X_CDC_TX5_TX_PATH_SEC6 0x0a8d
+#define WCD934X_CDC_TX6_TX_PATH_CTL 0x0a91
+#define WCD934X_CDC_TX6_TX_PATH_CFG0 0x0a92
+#define WCD934X_CDC_TX6_TX_PATH_CFG1 0x0a93
+#define WCD934X_CDC_TX6_TX_VOL_CTL 0x0a94
+#define WCD934X_CDC_TX6_TX_PATH_192_CTL 0x0a95
+#define WCD934X_CDC_TX6_TX_PATH_192_CFG 0x0a96
+#define WCD934X_CDC_TX6_TX_PATH_SEC0 0x0a97
+#define WCD934X_CDC_TX6_TX_PATH_SEC1 0x0a98
+#define WCD934X_CDC_TX6_TX_PATH_SEC2 0x0a99
+#define WCD934X_CDC_TX6_TX_PATH_SEC3 0x0a9a
+#define WCD934X_CDC_TX6_TX_PATH_SEC4 0x0a9b
+#define WCD934X_CDC_TX6_TX_PATH_SEC5 0x0a9c
+#define WCD934X_CDC_TX6_TX_PATH_SEC6 0x0a9d
+#define WCD934X_CDC_TX7_TX_PATH_CTL 0x0aa1
+#define WCD934X_CDC_TX7_TX_PATH_CFG0 0x0aa2
+#define WCD934X_CDC_TX7_TX_PATH_CFG1 0x0aa3
+#define WCD934X_CDC_TX7_TX_VOL_CTL 0x0aa4
+#define WCD934X_CDC_TX7_TX_PATH_192_CTL 0x0aa5
+#define WCD934X_CDC_TX7_TX_PATH_192_CFG 0x0aa6
+#define WCD934X_CDC_TX7_TX_PATH_SEC0 0x0aa7
+#define WCD934X_CDC_TX7_TX_PATH_SEC1 0x0aa8
+#define WCD934X_CDC_TX7_TX_PATH_SEC2 0x0aa9
+#define WCD934X_CDC_TX7_TX_PATH_SEC3 0x0aaa
+#define WCD934X_CDC_TX7_TX_PATH_SEC4 0x0aab
+#define WCD934X_CDC_TX7_TX_PATH_SEC5 0x0aac
+#define WCD934X_CDC_TX7_TX_PATH_SEC6 0x0aad
+#define WCD934X_CDC_TX8_TX_PATH_CTL 0x0ab1
+#define WCD934X_CDC_TX8_TX_PATH_CFG0 0x0ab2
+#define WCD934X_CDC_TX8_TX_PATH_CFG1 0x0ab3
+#define WCD934X_CDC_TX8_TX_VOL_CTL 0x0ab4
+#define WCD934X_CDC_TX8_TX_PATH_192_CTL 0x0ab5
+#define WCD934X_CDC_TX8_TX_PATH_192_CFG 0x0ab6
+#define WCD934X_CDC_TX8_TX_PATH_SEC0 0x0ab7
+#define WCD934X_CDC_TX8_TX_PATH_SEC1 0x0ab8
+#define WCD934X_CDC_TX8_TX_PATH_SEC2 0x0ab9
+#define WCD934X_CDC_TX8_TX_PATH_SEC3 0x0aba
+#define WCD934X_CDC_TX8_TX_PATH_SEC4 0x0abb
+#define WCD934X_CDC_TX8_TX_PATH_SEC5 0x0abc
+#define WCD934X_CDC_TX8_TX_PATH_SEC6 0x0abd
+#define WCD934X_CDC_TX9_SPKR_PROT_PATH_CTL 0x0ac2
+#define WCD934X_CDC_TX9_SPKR_PROT_PATH_CFG0 0x0ac3
+#define WCD934X_CDC_TX10_SPKR_PROT_PATH_CTL 0x0ac6
+#define WCD934X_CDC_TX10_SPKR_PROT_PATH_CFG0 0x0ac7
+#define WCD934X_CDC_TX11_SPKR_PROT_PATH_CTL 0x0aca
+#define WCD934X_CDC_TX11_SPKR_PROT_PATH_CFG0 0x0acb
+#define WCD934X_CDC_TX12_SPKR_PROT_PATH_CTL 0x0ace
+#define WCD934X_CDC_TX12_SPKR_PROT_PATH_CFG0 0x0acf
+#define WCD934X_PAGE11_PAGE_REGISTER 0x0b00
+#define WCD934X_CDC_COMPANDER1_CTL0 0x0b01
+#define WCD934X_CDC_COMPANDER1_CTL1 0x0b02
+#define WCD934X_CDC_COMPANDER1_CTL2 0x0b03
+#define WCD934X_CDC_COMPANDER1_CTL3 0x0b04
+#define WCD934X_CDC_COMPANDER1_CTL4 0x0b05
+#define WCD934X_CDC_COMPANDER1_CTL5 0x0b06
+#define WCD934X_CDC_COMPANDER1_CTL6 0x0b07
+#define WCD934X_CDC_COMPANDER1_CTL7 0x0b08
+#define WCD934X_CDC_COMPANDER2_CTL0 0x0b09
+#define WCD934X_CDC_COMPANDER2_CTL1 0x0b0a
+#define WCD934X_CDC_COMPANDER2_CTL2 0x0b0b
+#define WCD934X_CDC_COMPANDER2_CTL3 0x0b0c
+#define WCD934X_CDC_COMPANDER2_CTL4 0x0b0d
+#define WCD934X_CDC_COMPANDER2_CTL5 0x0b0e
+#define WCD934X_CDC_COMPANDER2_CTL6 0x0b0f
+#define WCD934X_CDC_COMPANDER2_CTL7 0x0b10
+#define WCD934X_CDC_COMPANDER3_CTL0 0x0b11
+#define WCD934X_CDC_COMPANDER3_CTL1 0x0b12
+#define WCD934X_CDC_COMPANDER3_CTL2 0x0b13
+#define WCD934X_CDC_COMPANDER3_CTL3 0x0b14
+#define WCD934X_CDC_COMPANDER3_CTL4 0x0b15
+#define WCD934X_CDC_COMPANDER3_CTL5 0x0b16
+#define WCD934X_CDC_COMPANDER3_CTL6 0x0b17
+#define WCD934X_CDC_COMPANDER3_CTL7 0x0b18
+#define WCD934X_CDC_COMPANDER4_CTL0 0x0b19
+#define WCD934X_CDC_COMPANDER4_CTL1 0x0b1a
+#define WCD934X_CDC_COMPANDER4_CTL2 0x0b1b
+#define WCD934X_CDC_COMPANDER4_CTL3 0x0b1c
+#define WCD934X_CDC_COMPANDER4_CTL4 0x0b1d
+#define WCD934X_CDC_COMPANDER4_CTL5 0x0b1e
+#define WCD934X_CDC_COMPANDER4_CTL6 0x0b1f
+#define WCD934X_CDC_COMPANDER4_CTL7 0x0b20
+#define WCD934X_CDC_COMPANDER7_CTL0 0x0b31
+#define WCD934X_CDC_COMPANDER7_CTL1 0x0b32
+#define WCD934X_CDC_COMPANDER7_CTL2 0x0b33
+#define WCD934X_CDC_COMPANDER7_CTL3 0x0b34
+#define WCD934X_CDC_COMPANDER7_CTL4 0x0b35
+#define WCD934X_CDC_COMPANDER7_CTL5 0x0b36
+#define WCD934X_CDC_COMPANDER7_CTL6 0x0b37
+#define WCD934X_CDC_COMPANDER7_CTL7 0x0b38
+#define WCD934X_CDC_COMPANDER8_CTL0 0x0b39
+#define WCD934X_CDC_COMPANDER8_CTL1 0x0b3a
+#define WCD934X_CDC_COMPANDER8_CTL2 0x0b3b
+#define WCD934X_CDC_COMPANDER8_CTL3 0x0b3c
+#define WCD934X_CDC_COMPANDER8_CTL4 0x0b3d
+#define WCD934X_CDC_COMPANDER8_CTL5 0x0b3e
+#define WCD934X_CDC_COMPANDER8_CTL6 0x0b3f
+#define WCD934X_CDC_COMPANDER8_CTL7 0x0b40
+#define WCD934X_CDC_RX0_RX_PATH_CTL 0x0b41
+#define WCD934X_CDC_RX0_RX_PATH_CFG0 0x0b42
+#define WCD934X_CDC_RX0_RX_PATH_CFG1 0x0b43
+#define WCD934X_CDC_RX0_RX_PATH_CFG2 0x0b44
+#define WCD934X_CDC_RX0_RX_VOL_CTL 0x0b45
+#define WCD934X_CDC_RX0_RX_PATH_MIX_CTL 0x0b46
+#define WCD934X_CDC_RX0_RX_PATH_MIX_CFG 0x0b47
+#define WCD934X_CDC_RX0_RX_VOL_MIX_CTL 0x0b48
+#define WCD934X_CDC_RX0_RX_PATH_SEC0 0x0b49
+#define WCD934X_CDC_RX0_RX_PATH_SEC1 0x0b4a
+#define WCD934X_CDC_RX0_RX_PATH_SEC2 0x0b4b
+#define WCD934X_CDC_RX0_RX_PATH_SEC3 0x0b4c
+#define WCD934X_CDC_RX0_RX_PATH_SEC5 0x0b4e
+#define WCD934X_CDC_RX0_RX_PATH_SEC6 0x0b4f
+#define WCD934X_CDC_RX0_RX_PATH_SEC7 0x0b50
+#define WCD934X_CDC_RX0_RX_PATH_MIX_SEC0 0x0b51
+#define WCD934X_CDC_RX0_RX_PATH_MIX_SEC1 0x0b52
+#define WCD934X_CDC_RX0_RX_PATH_DSMDEM_CTL 0x0b53
+#define WCD934X_CDC_RX1_RX_PATH_CTL 0x0b55
+#define WCD934X_CDC_RX1_RX_PATH_CFG0 0x0b56
+#define WCD934X_CDC_RX1_RX_PATH_CFG1 0x0b57
+#define WCD934X_CDC_RX1_RX_PATH_CFG2 0x0b58
+#define WCD934X_CDC_RX1_RX_VOL_CTL 0x0b59
+#define WCD934X_CDC_RX1_RX_PATH_MIX_CTL 0x0b5a
+#define WCD934X_CDC_RX1_RX_PATH_MIX_CFG 0x0b5b
+#define WCD934X_CDC_RX1_RX_VOL_MIX_CTL 0x0b5c
+#define WCD934X_CDC_RX1_RX_PATH_SEC0 0x0b5d
+#define WCD934X_CDC_RX1_RX_PATH_SEC1 0x0b5e
+#define WCD934X_CDC_RX1_RX_PATH_SEC2 0x0b5f
+#define WCD934X_CDC_RX1_RX_PATH_SEC3 0x0b60
+#define WCD934X_CDC_RX1_RX_PATH_SEC4 0x0b61
+#define WCD934X_CDC_RX1_RX_PATH_SEC5 0x0b62
+#define WCD934X_CDC_RX1_RX_PATH_SEC6 0x0b63
+#define WCD934X_CDC_RX1_RX_PATH_SEC7 0x0b64
+#define WCD934X_CDC_RX1_RX_PATH_MIX_SEC0 0x0b65
+#define WCD934X_CDC_RX1_RX_PATH_MIX_SEC1 0x0b66
+#define WCD934X_CDC_RX1_RX_PATH_DSMDEM_CTL 0x0b67
+#define WCD934X_CDC_RX2_RX_PATH_CTL 0x0b69
+#define WCD934X_CDC_RX2_RX_PATH_CFG0 0x0b6a
+#define WCD934X_CDC_RX2_RX_PATH_CFG1 0x0b6b
+#define WCD934X_CDC_RX2_RX_PATH_CFG2 0x0b6c
+#define WCD934X_CDC_RX2_RX_VOL_CTL 0x0b6d
+#define WCD934X_CDC_RX2_RX_PATH_MIX_CTL 0x0b6e
+#define WCD934X_CDC_RX2_RX_PATH_MIX_CFG 0x0b6f
+#define WCD934X_CDC_RX2_RX_VOL_MIX_CTL 0x0b70
+#define WCD934X_CDC_RX2_RX_PATH_SEC0 0x0b71
+#define WCD934X_CDC_RX2_RX_PATH_SEC1 0x0b72
+#define WCD934X_CDC_RX2_RX_PATH_SEC2 0x0b73
+#define WCD934X_CDC_RX2_RX_PATH_SEC3 0x0b74
+#define WCD934X_CDC_RX2_RX_PATH_SEC4 0x0b75
+#define WCD934X_CDC_RX2_RX_PATH_SEC5 0x0b76
+#define WCD934X_CDC_RX2_RX_PATH_SEC6 0x0b77
+#define WCD934X_CDC_RX2_RX_PATH_SEC7 0x0b78
+#define WCD934X_CDC_RX2_RX_PATH_MIX_SEC0 0x0b79
+#define WCD934X_CDC_RX2_RX_PATH_MIX_SEC1 0x0b7a
+#define WCD934X_CDC_RX2_RX_PATH_DSMDEM_CTL 0x0b7b
+#define WCD934X_CDC_RX3_RX_PATH_CTL 0x0b7d
+#define WCD934X_CDC_RX3_RX_PATH_CFG0 0x0b7e
+#define WCD934X_CDC_RX3_RX_PATH_CFG1 0x0b7f
+#define WCD934X_CDC_RX3_RX_PATH_CFG2 0x0b80
+#define WCD934X_CDC_RX3_RX_VOL_CTL 0x0b81
+#define WCD934X_CDC_RX3_RX_PATH_MIX_CTL 0x0b82
+#define WCD934X_CDC_RX3_RX_PATH_MIX_CFG 0x0b83
+#define WCD934X_CDC_RX3_RX_VOL_MIX_CTL 0x0b84
+#define WCD934X_CDC_RX3_RX_PATH_SEC0 0x0b85
+#define WCD934X_CDC_RX3_RX_PATH_SEC1 0x0b86
+#define WCD934X_CDC_RX3_RX_PATH_SEC2 0x0b87
+#define WCD934X_CDC_RX3_RX_PATH_SEC3 0x0b88
+#define WCD934X_CDC_RX3_RX_PATH_SEC5 0x0b8a
+#define WCD934X_CDC_RX3_RX_PATH_SEC6 0x0b8b
+#define WCD934X_CDC_RX3_RX_PATH_SEC7 0x0b8c
+#define WCD934X_CDC_RX3_RX_PATH_MIX_SEC0 0x0b8d
+#define WCD934X_CDC_RX3_RX_PATH_MIX_SEC1 0x0b8e
+#define WCD934X_CDC_RX3_RX_PATH_DSMDEM_CTL 0x0b8f
+#define WCD934X_CDC_RX4_RX_PATH_CTL 0x0b91
+#define WCD934X_CDC_RX4_RX_PATH_CFG0 0x0b92
+#define WCD934X_CDC_RX4_RX_PATH_CFG1 0x0b93
+#define WCD934X_CDC_RX4_RX_PATH_CFG2 0x0b94
+#define WCD934X_CDC_RX4_RX_VOL_CTL 0x0b95
+#define WCD934X_CDC_RX4_RX_PATH_MIX_CTL 0x0b96
+#define WCD934X_CDC_RX4_RX_PATH_MIX_CFG 0x0b97
+#define WCD934X_CDC_RX4_RX_VOL_MIX_CTL 0x0b98
+#define WCD934X_CDC_RX4_RX_PATH_SEC0 0x0b99
+#define WCD934X_CDC_RX4_RX_PATH_SEC1 0x0b9a
+#define WCD934X_CDC_RX4_RX_PATH_SEC2 0x0b9b
+#define WCD934X_CDC_RX4_RX_PATH_SEC3 0x0b9c
+#define WCD934X_CDC_RX4_RX_PATH_SEC5 0x0b9e
+#define WCD934X_CDC_RX4_RX_PATH_SEC6 0x0b9f
+#define WCD934X_CDC_RX4_RX_PATH_SEC7 0x0ba0
+#define WCD934X_CDC_RX4_RX_PATH_MIX_SEC0 0x0ba1
+#define WCD934X_CDC_RX4_RX_PATH_MIX_SEC1 0x0ba2
+#define WCD934X_CDC_RX4_RX_PATH_DSMDEM_CTL 0x0ba3
+#define WCD934X_CDC_RX7_RX_PATH_CTL 0x0bcd
+#define WCD934X_CDC_RX7_RX_PATH_CFG0 0x0bce
+#define WCD934X_CDC_RX7_RX_PATH_CFG1 0x0bcf
+#define WCD934X_CDC_RX7_RX_PATH_CFG2 0x0bd0
+#define WCD934X_CDC_RX7_RX_VOL_CTL 0x0bd1
+#define WCD934X_CDC_RX7_RX_PATH_MIX_CTL 0x0bd2
+#define WCD934X_CDC_RX7_RX_PATH_MIX_CFG 0x0bd3
+#define WCD934X_CDC_RX7_RX_VOL_MIX_CTL 0x0bd4
+#define WCD934X_CDC_RX7_RX_PATH_SEC0 0x0bd5
+#define WCD934X_CDC_RX7_RX_PATH_SEC1 0x0bd6
+#define WCD934X_CDC_RX7_RX_PATH_SEC2 0x0bd7
+#define WCD934X_CDC_RX7_RX_PATH_SEC3 0x0bd8
+#define WCD934X_CDC_RX7_RX_PATH_SEC5 0x0bda
+#define WCD934X_CDC_RX7_RX_PATH_SEC6 0x0bdb
+#define WCD934X_CDC_RX7_RX_PATH_SEC7 0x0bdc
+#define WCD934X_CDC_RX7_RX_PATH_MIX_SEC0 0x0bdd
+#define WCD934X_CDC_RX7_RX_PATH_MIX_SEC1 0x0bde
+#define WCD934X_CDC_RX7_RX_PATH_DSMDEM_CTL 0x0bdf
+#define WCD934X_CDC_RX8_RX_PATH_CTL 0x0be1
+#define WCD934X_CDC_RX8_RX_PATH_CFG0 0x0be2
+#define WCD934X_CDC_RX8_RX_PATH_CFG1 0x0be3
+#define WCD934X_CDC_RX8_RX_PATH_CFG2 0x0be4
+#define WCD934X_CDC_RX8_RX_VOL_CTL 0x0be5
+#define WCD934X_CDC_RX8_RX_PATH_MIX_CTL 0x0be6
+#define WCD934X_CDC_RX8_RX_PATH_MIX_CFG 0x0be7
+#define WCD934X_CDC_RX8_RX_VOL_MIX_CTL 0x0be8
+#define WCD934X_CDC_RX8_RX_PATH_SEC0 0x0be9
+#define WCD934X_CDC_RX8_RX_PATH_SEC1 0x0bea
+#define WCD934X_CDC_RX8_RX_PATH_SEC2 0x0beb
+#define WCD934X_CDC_RX8_RX_PATH_SEC3 0x0bec
+#define WCD934X_CDC_RX8_RX_PATH_SEC5 0x0bee
+#define WCD934X_CDC_RX8_RX_PATH_SEC6 0x0bef
+#define WCD934X_CDC_RX8_RX_PATH_SEC7 0x0bf0
+#define WCD934X_CDC_RX8_RX_PATH_MIX_SEC0 0x0bf1
+#define WCD934X_CDC_RX8_RX_PATH_MIX_SEC1 0x0bf2
+#define WCD934X_CDC_RX8_RX_PATH_DSMDEM_CTL 0x0bf3
+#define WCD934X_PAGE12_PAGE_REGISTER 0x0c00
+#define WCD934X_CDC_CLSH_CRC 0x0c01
+#define WCD934X_CDC_CLSH_DLY_CTRL 0x0c02
+#define WCD934X_CDC_CLSH_DECAY_CTRL 0x0c03
+#define WCD934X_CDC_CLSH_HPH_V_PA 0x0c04
+#define WCD934X_CDC_CLSH_EAR_V_PA 0x0c05
+#define WCD934X_CDC_CLSH_HPH_V_HD 0x0c06
+#define WCD934X_CDC_CLSH_EAR_V_HD 0x0c07
+#define WCD934X_CDC_CLSH_K1_MSB 0x0c08
+#define WCD934X_CDC_CLSH_K1_LSB 0x0c09
+#define WCD934X_CDC_CLSH_K2_MSB 0x0c0a
+#define WCD934X_CDC_CLSH_K2_LSB 0x0c0b
+#define WCD934X_CDC_CLSH_IDLE_CTRL 0x0c0c
+#define WCD934X_CDC_CLSH_IDLE_HPH 0x0c0d
+#define WCD934X_CDC_CLSH_IDLE_EAR 0x0c0e
+#define WCD934X_CDC_CLSH_TEST0 0x0c0f
+#define WCD934X_CDC_CLSH_TEST1 0x0c10
+#define WCD934X_CDC_CLSH_OVR_VREF 0x0c11
+#define WCD934X_CDC_BOOST0_BOOST_PATH_CTL 0x0c19
+#define WCD934X_CDC_BOOST0_BOOST_CTL 0x0c1a
+#define WCD934X_CDC_BOOST0_BOOST_CFG1 0x0c1b
+#define WCD934X_CDC_BOOST0_BOOST_CFG2 0x0c1c
+#define WCD934X_CDC_BOOST1_BOOST_PATH_CTL 0x0c21
+#define WCD934X_CDC_BOOST1_BOOST_CTL 0x0c22
+#define WCD934X_CDC_BOOST1_BOOST_CFG1 0x0c23
+#define WCD934X_CDC_BOOST1_BOOST_CFG2 0x0c24
+#define WCD934X_CDC_VBAT_VBAT_PATH_CTL 0x0c3d
+#define WCD934X_CDC_VBAT_VBAT_CFG 0x0c3e
+#define WCD934X_CDC_VBAT_VBAT_ADC_CAL1 0x0c3f
+#define WCD934X_CDC_VBAT_VBAT_ADC_CAL2 0x0c40
+#define WCD934X_CDC_VBAT_VBAT_ADC_CAL3 0x0c41
+#define WCD934X_CDC_VBAT_VBAT_PK_EST1 0x0c42
+#define WCD934X_CDC_VBAT_VBAT_PK_EST2 0x0c43
+#define WCD934X_CDC_VBAT_VBAT_PK_EST3 0x0c44
+#define WCD934X_CDC_VBAT_VBAT_RF_PROC1 0x0c45
+#define WCD934X_CDC_VBAT_VBAT_RF_PROC2 0x0c46
+#define WCD934X_CDC_VBAT_VBAT_TAC1 0x0c47
+#define WCD934X_CDC_VBAT_VBAT_TAC2 0x0c48
+#define WCD934X_CDC_VBAT_VBAT_TAC3 0x0c49
+#define WCD934X_CDC_VBAT_VBAT_TAC4 0x0c4a
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD1 0x0c4b
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD2 0x0c4c
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD3 0x0c4d
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD4 0x0c4e
+#define WCD934X_CDC_VBAT_VBAT_DEBUG1 0x0c4f
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD_MON 0x0c50
+#define WCD934X_CDC_VBAT_VBAT_GAIN_MON_VAL 0x0c51
+#define WCD934X_CDC_VBAT_VBAT_BAN 0x0c52
+#define WCD934X_MIXING_ASRC0_CLK_RST_CTL 0x0c55
+#define WCD934X_MIXING_ASRC0_CTL0 0x0c56
+#define WCD934X_MIXING_ASRC0_CTL1 0x0c57
+#define WCD934X_MIXING_ASRC0_FIFO_CTL 0x0c58
+#define WCD934X_MIXING_ASRC0_STATUS_FMIN_CNTR_LSB 0x0c59
+#define WCD934X_MIXING_ASRC0_STATUS_FMIN_CNTR_MSB 0x0c5a
+#define WCD934X_MIXING_ASRC0_STATUS_FMAX_CNTR_LSB 0x0c5b
+#define WCD934X_MIXING_ASRC0_STATUS_FMAX_CNTR_MSB 0x0c5c
+#define WCD934X_MIXING_ASRC0_STATUS_FIFO 0x0c5d
+#define WCD934X_MIXING_ASRC1_CLK_RST_CTL 0x0c61
+#define WCD934X_MIXING_ASRC1_CTL0 0x0c62
+#define WCD934X_MIXING_ASRC1_CTL1 0x0c63
+#define WCD934X_MIXING_ASRC1_FIFO_CTL 0x0c64
+#define WCD934X_MIXING_ASRC1_STATUS_FMIN_CNTR_LSB 0x0c65
+#define WCD934X_MIXING_ASRC1_STATUS_FMIN_CNTR_MSB 0x0c66
+#define WCD934X_MIXING_ASRC1_STATUS_FMAX_CNTR_LSB 0x0c67
+#define WCD934X_MIXING_ASRC1_STATUS_FMAX_CNTR_MSB 0x0c68
+#define WCD934X_MIXING_ASRC1_STATUS_FIFO 0x0c69
+#define WCD934X_MIXING_ASRC2_CLK_RST_CTL 0x0c6d
+#define WCD934X_MIXING_ASRC2_CTL0 0x0c6e
+#define WCD934X_MIXING_ASRC2_CTL1 0x0c6f
+#define WCD934X_MIXING_ASRC2_FIFO_CTL 0x0c70
+#define WCD934X_MIXING_ASRC2_STATUS_FMIN_CNTR_LSB 0x0c71
+#define WCD934X_MIXING_ASRC2_STATUS_FMIN_CNTR_MSB 0x0c72
+#define WCD934X_MIXING_ASRC2_STATUS_FMAX_CNTR_LSB 0x0c73
+#define WCD934X_MIXING_ASRC2_STATUS_FMAX_CNTR_MSB 0x0c74
+#define WCD934X_MIXING_ASRC2_STATUS_FIFO 0x0c75
+#define WCD934X_MIXING_ASRC3_CLK_RST_CTL 0x0c79
+#define WCD934X_MIXING_ASRC3_CTL0 0x0c7a
+#define WCD934X_MIXING_ASRC3_CTL1 0x0c7b
+#define WCD934X_MIXING_ASRC3_FIFO_CTL 0x0c7c
+#define WCD934X_MIXING_ASRC3_STATUS_FMIN_CNTR_LSB 0x0c7d
+#define WCD934X_MIXING_ASRC3_STATUS_FMIN_CNTR_MSB 0x0c7e
+#define WCD934X_MIXING_ASRC3_STATUS_FMAX_CNTR_LSB 0x0c7f
+#define WCD934X_MIXING_ASRC3_STATUS_FMAX_CNTR_MSB 0x0c80
+#define WCD934X_MIXING_ASRC3_STATUS_FIFO 0x0c81
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_0 0x0c85
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_1 0x0c86
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_2 0x0c87
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_3 0x0c88
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_0 0x0c89
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_1 0x0c8a
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_2 0x0c8b
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_3 0x0c8c
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_0 0x0c8d
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_1 0x0c8e
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_2 0x0c8f
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_3 0x0c90
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_0 0x0c91
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_1 0x0c92
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_2 0x0c93
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_3 0x0c94
+#define WCD934X_SWR_AHB_BRIDGE_ACCESS_CFG 0x0c95
+#define WCD934X_SWR_AHB_BRIDGE_ACCESS_STATUS 0x0c96
+#define WCD934X_CDC_SIDETONE_SRC0_ST_SRC_PATH_CTL 0x0cb5
+#define WCD934X_CDC_SIDETONE_SRC0_ST_SRC_PATH_CFG1 0x0cb6
+#define WCD934X_CDC_SIDETONE_SRC1_ST_SRC_PATH_CTL 0x0cb9
+#define WCD934X_CDC_SIDETONE_SRC1_ST_SRC_PATH_CFG1 0x0cba
+#define WCD934X_SIDETONE_ASRC0_CLK_RST_CTL 0x0cbd
+#define WCD934X_SIDETONE_ASRC0_CTL0 0x0cbe
+#define WCD934X_SIDETONE_ASRC0_CTL1 0x0cbf
+#define WCD934X_SIDETONE_ASRC0_FIFO_CTL 0x0cc0
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMIN_CNTR_LSB 0x0cc1
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMIN_CNTR_MSB 0x0cc2
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMAX_CNTR_LSB 0x0cc3
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMAX_CNTR_MSB 0x0cc4
+#define WCD934X_SIDETONE_ASRC0_STATUS_FIFO 0x0cc5
+#define WCD934X_SIDETONE_ASRC1_CLK_RST_CTL 0x0cc9
+#define WCD934X_SIDETONE_ASRC1_CTL0 0x0cca
+#define WCD934X_SIDETONE_ASRC1_CTL1 0x0ccb
+#define WCD934X_SIDETONE_ASRC1_FIFO_CTL 0x0ccc
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMIN_CNTR_LSB 0x0ccd
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMIN_CNTR_MSB 0x0cce
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMAX_CNTR_LSB 0x0ccf
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMAX_CNTR_MSB 0x0cd0
+#define WCD934X_SIDETONE_ASRC1_STATUS_FIFO 0x0cd1
+#define WCD934X_EC_REF_HQ0_EC_REF_HQ_PATH_CTL 0x0cd5
+#define WCD934X_EC_REF_HQ0_EC_REF_HQ_CFG0 0x0cd6
+#define WCD934X_EC_REF_HQ1_EC_REF_HQ_PATH_CTL 0x0cdd
+#define WCD934X_EC_REF_HQ1_EC_REF_HQ_CFG0 0x0cde
+#define WCD934X_EC_ASRC0_CLK_RST_CTL 0x0ce5
+#define WCD934X_EC_ASRC0_CTL0 0x0ce6
+#define WCD934X_EC_ASRC0_CTL1 0x0ce7
+#define WCD934X_EC_ASRC0_FIFO_CTL 0x0ce8
+#define WCD934X_EC_ASRC0_STATUS_FMIN_CNTR_LSB 0x0ce9
+#define WCD934X_EC_ASRC0_STATUS_FMIN_CNTR_MSB 0x0cea
+#define WCD934X_EC_ASRC0_STATUS_FMAX_CNTR_LSB 0x0ceb
+#define WCD934X_EC_ASRC0_STATUS_FMAX_CNTR_MSB 0x0cec
+#define WCD934X_EC_ASRC0_STATUS_FIFO 0x0ced
+#define WCD934X_EC_ASRC1_CLK_RST_CTL 0x0cf1
+#define WCD934X_EC_ASRC1_CTL0 0x0cf2
+#define WCD934X_EC_ASRC1_CTL1 0x0cf3
+#define WCD934X_EC_ASRC1_FIFO_CTL 0x0cf4
+#define WCD934X_EC_ASRC1_STATUS_FMIN_CNTR_LSB 0x0cf5
+#define WCD934X_EC_ASRC1_STATUS_FMIN_CNTR_MSB 0x0cf6
+#define WCD934X_EC_ASRC1_STATUS_FMAX_CNTR_LSB 0x0cf7
+#define WCD934X_EC_ASRC1_STATUS_FMAX_CNTR_MSB 0x0cf8
+#define WCD934X_EC_ASRC1_STATUS_FIFO 0x0cf9
+#define WCD934X_PAGE13_PAGE_REGISTER 0x0d00
+#define WCD934X_CDC_RX_INP_MUX_RX_INT0_CFG0 0x0d01
+#define WCD934X_CDC_RX_INP_MUX_RX_INT0_CFG1 0x0d02
+#define WCD934X_CDC_RX_INP_MUX_RX_INT1_CFG0 0x0d03
+#define WCD934X_CDC_RX_INP_MUX_RX_INT1_CFG1 0x0d04
+#define WCD934X_CDC_RX_INP_MUX_RX_INT2_CFG0 0x0d05
+#define WCD934X_CDC_RX_INP_MUX_RX_INT2_CFG1 0x0d06
+#define WCD934X_CDC_RX_INP_MUX_RX_INT3_CFG0 0x0d07
+#define WCD934X_CDC_RX_INP_MUX_RX_INT3_CFG1 0x0d08
+#define WCD934X_CDC_RX_INP_MUX_RX_INT4_CFG0 0x0d09
+#define WCD934X_CDC_RX_INP_MUX_RX_INT4_CFG1 0x0d0a
+#define WCD934X_CDC_RX_INP_MUX_RX_INT7_CFG0 0x0d0f
+#define WCD934X_CDC_RX_INP_MUX_RX_INT7_CFG1 0x0d10
+#define WCD934X_CDC_RX_INP_MUX_RX_INT8_CFG0 0x0d11
+#define WCD934X_CDC_RX_INP_MUX_RX_INT8_CFG1 0x0d12
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG0 0x0d13
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG1 0x0d14
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG2 0x0d15
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG3 0x0d16
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG4 0x0d17
+#define WCD934X_CDC_RX_INP_MUX_SIDETONE_SRC_CFG0 0x0d18
+#define WCD934X_CDC_RX_INP_MUX_SIDETONE_SRC_CFG1 0x0d19
+#define WCD934X_CDC_RX_INP_MUX_ANC_CFG0 0x0d1a
+#define WCD934X_CDC_RX_INP_MUX_SPLINE_ASRC_CFG0 0x0d1b
+#define WCD934X_CDC_RX_INP_MUX_EC_REF_HQ_CFG0 0x0d1c
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX0_CFG0 0x0d1d
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX0_CFG1 0x0d1e
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX1_CFG0 0x0d1f
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX1_CFG1 0x0d20
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX2_CFG0 0x0d21
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX2_CFG1 0x0d22
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX3_CFG0 0x0d23
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX3_CFG1 0x0d25
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX4_CFG0 0x0d26
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX5_CFG0 0x0d27
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX6_CFG0 0x0d28
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX7_CFG0 0x0d29
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX8_CFG0 0x0d2a
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX10_CFG0 0x0d2b
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX11_CFG0 0x0d2c
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX12_CFG0 0x0d2d
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX13_CFG0 0x0d2e
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG0 0x0d31
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG1 0x0d32
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG2 0x0d33
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG3 0x0d34
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG0 0x0d35
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG1 0x0d36
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG2 0x0d37
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG3 0x0d38
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG0 0x0d3a
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG1 0x0d3b
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG2 0x0d3c
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG3 0x0d3d
+#define WCD934X_CDC_CLK_RST_CTRL_MCLK_CONTROL 0x0d41
+#define WCD934X_CDC_CLK_RST_CTRL_FS_CNT_CONTROL 0x0d42
+#define WCD934X_CDC_CLK_RST_CTRL_SWR_CONTROL 0x0d43
+#define WCD934X_CDC_CLK_RST_CTRL_DSD_CONTROL 0x0d44
+#define WCD934X_CDC_CLK_RST_CTRL_ASRC_SHARE_CONTROL 0x0d45
+#define WCD934X_CDC_CLK_RST_CTRL_GFM_CONTROL 0x0d46
+#define WCD934X_CDC_PROX_DETECT_PROX_CTL 0x0d49
+#define WCD934X_CDC_PROX_DETECT_PROX_POLL_PERIOD0 0x0d4a
+#define WCD934X_CDC_PROX_DETECT_PROX_POLL_PERIOD1 0x0d4b
+#define WCD934X_CDC_PROX_DETECT_PROX_SIG_PATTERN_LSB 0x0d4c
+#define WCD934X_CDC_PROX_DETECT_PROX_SIG_PATTERN_MSB 0x0d4d
+#define WCD934X_CDC_PROX_DETECT_PROX_STATUS 0x0d4e
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_CTRL 0x0d4f
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_LSB 0x0d50
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_MSB 0x0d51
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_LSB_RD 0x0d52
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_MSB_RD 0x0d53
+#define WCD934X_CDC_PROX_DETECT_PROX_CTL_REPEAT_PAT 0x0d54
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_PATH_CTL 0x0d55
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B1_CTL 0x0d56
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B2_CTL 0x0d57
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B3_CTL 0x0d58
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B4_CTL 0x0d59
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B5_CTL 0x0d5a
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B6_CTL 0x0d5b
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B7_CTL 0x0d5c
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B8_CTL 0x0d5d
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_CTL 0x0d5e
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_TIMER_CTL 0x0d5f
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_COEF_B1_CTL 0x0d60
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_COEF_B2_CTL 0x0d61
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_PATH_CTL 0x0d65
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B1_CTL 0x0d66
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B2_CTL 0x0d67
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B3_CTL 0x0d68
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B4_CTL 0x0d69
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B5_CTL 0x0d6a
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B6_CTL 0x0d6b
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B7_CTL 0x0d6c
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B8_CTL 0x0d6d
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_CTL 0x0d6e
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_TIMER_CTL 0x0d6f
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_COEF_B1_CTL 0x0d70
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_COEF_B2_CTL 0x0d71
+#define WCD934X_CDC_TOP_TOP_CFG0 0x0d81
+#define WCD934X_CDC_TOP_TOP_CFG1 0x0d82
+#define WCD934X_CDC_TOP_TOP_CFG7 0x0d88
+#define WCD934X_CDC_TOP_HPHL_COMP_WR_LSB 0x0d89
+#define WCD934X_CDC_TOP_HPHL_COMP_WR_MSB 0x0d8a
+#define WCD934X_CDC_TOP_HPHL_COMP_LUT 0x0d8b
+#define WCD934X_CDC_TOP_HPHL_COMP_RD_LSB 0x0d8c
+#define WCD934X_CDC_TOP_HPHL_COMP_RD_MSB 0x0d8d
+#define WCD934X_CDC_TOP_HPHR_COMP_WR_LSB 0x0d8e
+#define WCD934X_CDC_TOP_HPHR_COMP_WR_MSB 0x0d8f
+#define WCD934X_CDC_TOP_HPHR_COMP_LUT 0x0d90
+#define WCD934X_CDC_TOP_HPHR_COMP_RD_LSB 0x0d91
+#define WCD934X_CDC_TOP_HPHR_COMP_RD_MSB 0x0d92
+#define WCD934X_CDC_TOP_DIFFL_COMP_WR_LSB 0x0d93
+#define WCD934X_CDC_TOP_DIFFL_COMP_WR_MSB 0x0d94
+#define WCD934X_CDC_TOP_DIFFL_COMP_LUT 0x0d95
+#define WCD934X_CDC_TOP_DIFFL_COMP_RD_LSB 0x0d96
+#define WCD934X_CDC_TOP_DIFFL_COMP_RD_MSB 0x0d97
+#define WCD934X_CDC_TOP_DIFFR_COMP_WR_LSB 0x0d98
+#define WCD934X_CDC_TOP_DIFFR_COMP_WR_MSB 0x0d99
+#define WCD934X_CDC_TOP_DIFFR_COMP_LUT 0x0d9a
+#define WCD934X_CDC_TOP_DIFFR_COMP_RD_LSB 0x0d9b
+#define WCD934X_CDC_TOP_DIFFR_COMP_RD_MSB 0x0d9c
+#define WCD934X_CDC_DSD0_PATH_CTL 0x0db1
+#define WCD934X_CDC_DSD0_CFG0 0x0db2
+#define WCD934X_CDC_DSD0_CFG1 0x0db3
+#define WCD934X_CDC_DSD0_CFG2 0x0db4
+#define WCD934X_CDC_DSD0_CFG3 0x0db5
+#define WCD934X_CDC_DSD0_CFG4 0x0db6
+#define WCD934X_CDC_DSD0_CFG5 0x0db7
+#define WCD934X_CDC_DSD1_PATH_CTL 0x0dc1
+#define WCD934X_CDC_DSD1_CFG0 0x0dc2
+#define WCD934X_CDC_DSD1_CFG1 0x0dc3
+#define WCD934X_CDC_DSD1_CFG2 0x0dc4
+#define WCD934X_CDC_DSD1_CFG3 0x0dc5
+#define WCD934X_CDC_DSD1_CFG4 0x0dc6
+#define WCD934X_CDC_DSD1_CFG5 0x0dc7
+#define WCD934X_CDC_RX_IDLE_DET_PATH_CTL 0x0dd1
+#define WCD934X_CDC_RX_IDLE_DET_CFG0 0x0dd2
+#define WCD934X_CDC_RX_IDLE_DET_CFG1 0x0dd3
+#define WCD934X_CDC_RX_IDLE_DET_CFG2 0x0dd4
+#define WCD934X_CDC_RX_IDLE_DET_CFG3 0x0dd5
+#define WCD934X_PAGE14_PAGE_REGISTER 0x0e00
+#define WCD934X_CDC_RATE_EST0_RE_CLK_RST_CTL 0x0e01
+#define WCD934X_CDC_RATE_EST0_RE_CTL 0x0e02
+#define WCD934X_CDC_RATE_EST0_RE_PULSE_SUPR_CTL 0x0e03
+#define WCD934X_CDC_RATE_EST0_RE_TIMER 0x0e04
+#define WCD934X_CDC_RATE_EST0_RE_BW_SW 0x0e05
+#define WCD934X_CDC_RATE_EST0_RE_THRESH 0x0e06
+#define WCD934X_CDC_RATE_EST0_RE_STATUS 0x0e07
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_CTRL 0x0e09
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_TIMER2 0x0e0c
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW1 0x0e0d
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW2 0x0e0e
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW3 0x0e0f
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW4 0x0e10
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW5 0x0e11
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW1 0x0e12
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW2 0x0e13
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW3 0x0e14
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW4 0x0e15
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW5 0x0e16
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW1 0x0e17
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW2 0x0e18
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW3 0x0e19
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW4 0x0e1a
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW5 0x0e1b
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW1 0x0e1c
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW2 0x0e1d
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW3 0x0e1e
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW4 0x0e1f
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW5 0x0e20
+#define WCD934X_CDC_RATE_EST0_RE_RMAX_DIAG 0x0e21
+#define WCD934X_CDC_RATE_EST0_RE_RMIN_DIAG 0x0e22
+#define WCD934X_CDC_RATE_EST0_RE_PH_DET 0x0e23
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_CLR 0x0e24
+#define WCD934X_CDC_RATE_EST0_RE_MB_SW_STATE 0x0e25
+#define WCD934X_CDC_RATE_EST0_RE_MAST_DIAG_STATE 0x0e26
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_7_0 0x0e27
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_15_8 0x0e28
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_23_16 0x0e29
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_31_24 0x0e2a
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_39_32 0x0e2b
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_40_43 0x0e2c
+#define WCD934X_CDC_RATE_EST1_RE_CLK_RST_CTL 0x0e31
+#define WCD934X_CDC_RATE_EST1_RE_CTL 0x0e32
+#define WCD934X_CDC_RATE_EST1_RE_PULSE_SUPR_CTL 0x0e33
+#define WCD934X_CDC_RATE_EST1_RE_TIMER 0x0e34
+#define WCD934X_CDC_RATE_EST1_RE_BW_SW 0x0e35
+#define WCD934X_CDC_RATE_EST1_RE_THRESH 0x0e36
+#define WCD934X_CDC_RATE_EST1_RE_STATUS 0x0e37
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_CTRL 0x0e39
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_TIMER2 0x0e3c
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW1 0x0e3d
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW2 0x0e3e
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW3 0x0e3f
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW4 0x0e40
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW5 0x0e41
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW1 0x0e42
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW2 0x0e43
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW3 0x0e44
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW4 0x0e45
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW5 0x0e46
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW1 0x0e47
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW2 0x0e48
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW3 0x0e49
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW4 0x0e4a
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW5 0x0e4b
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW1 0x0e4c
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW2 0x0e4d
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW3 0x0e4e
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW4 0x0e4f
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW5 0x0e50
+#define WCD934X_CDC_RATE_EST1_RE_RMAX_DIAG 0x0e51
+#define WCD934X_CDC_RATE_EST1_RE_RMIN_DIAG 0x0e52
+#define WCD934X_CDC_RATE_EST1_RE_PH_DET 0x0e53
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_CLR 0x0e54
+#define WCD934X_CDC_RATE_EST1_RE_MB_SW_STATE 0x0e55
+#define WCD934X_CDC_RATE_EST1_RE_MAST_DIAG_STATE 0x0e56
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_7_0 0x0e57
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_15_8 0x0e58
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_23_16 0x0e59
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_31_24 0x0e5a
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_39_32 0x0e5b
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_40_43 0x0e5c
+#define WCD934X_CDC_RATE_EST2_RE_CLK_RST_CTL 0x0e61
+#define WCD934X_CDC_RATE_EST2_RE_CTL 0x0e62
+#define WCD934X_CDC_RATE_EST2_RE_PULSE_SUPR_CTL 0x0e63
+#define WCD934X_CDC_RATE_EST2_RE_TIMER 0x0e64
+#define WCD934X_CDC_RATE_EST2_RE_BW_SW 0x0e65
+#define WCD934X_CDC_RATE_EST2_RE_THRESH 0x0e66
+#define WCD934X_CDC_RATE_EST2_RE_STATUS 0x0e67
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_CTRL 0x0e69
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_TIMER2 0x0e6c
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW1 0x0e6d
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW2 0x0e6e
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW3 0x0e6f
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW4 0x0e70
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW5 0x0e71
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW1 0x0e72
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW2 0x0e73
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW3 0x0e74
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW4 0x0e75
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW5 0x0e76
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW1 0x0e77
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW2 0x0e78
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW3 0x0e79
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW4 0x0e7a
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW5 0x0e7b
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW1 0x0e7c
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW2 0x0e7d
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW3 0x0e7e
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW4 0x0e7f
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW5 0x0e80
+#define WCD934X_CDC_RATE_EST2_RE_RMAX_DIAG 0x0e81
+#define WCD934X_CDC_RATE_EST2_RE_RMIN_DIAG 0x0e82
+#define WCD934X_CDC_RATE_EST2_RE_PH_DET 0x0e83
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_CLR 0x0e84
+#define WCD934X_CDC_RATE_EST2_RE_MB_SW_STATE 0x0e85
+#define WCD934X_CDC_RATE_EST2_RE_MAST_DIAG_STATE 0x0e86
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_7_0 0x0e87
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_15_8 0x0e88
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_23_16 0x0e89
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_31_24 0x0e8a
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_39_32 0x0e8b
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_40_43 0x0e8c
+#define WCD934X_CDC_RATE_EST3_RE_CLK_RST_CTL 0x0e91
+#define WCD934X_CDC_RATE_EST3_RE_CTL 0x0e92
+#define WCD934X_CDC_RATE_EST3_RE_PULSE_SUPR_CTL 0x0e93
+#define WCD934X_CDC_RATE_EST3_RE_TIMER 0x0e94
+#define WCD934X_CDC_RATE_EST3_RE_BW_SW 0x0e95
+#define WCD934X_CDC_RATE_EST3_RE_THRESH 0x0e96
+#define WCD934X_CDC_RATE_EST3_RE_STATUS 0x0e97
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_CTRL 0x0e99
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_TIMER2 0x0e9c
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW1 0x0e9d
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW2 0x0e9e
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW3 0x0e9f
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW4 0x0ea0
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW5 0x0ea1
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW1 0x0ea2
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW2 0x0ea3
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW3 0x0ea4
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW4 0x0ea5
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW5 0x0ea6
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW1 0x0ea7
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW2 0x0ea8
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW3 0x0ea9
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW4 0x0eaa
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW5 0x0eab
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW1 0x0eac
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW2 0x0ead
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW3 0x0eae
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW4 0x0eaf
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW5 0x0eb0
+#define WCD934X_CDC_RATE_EST3_RE_RMAX_DIAG 0x0eb1
+#define WCD934X_CDC_RATE_EST3_RE_RMIN_DIAG 0x0eb2
+#define WCD934X_CDC_RATE_EST3_RE_PH_DET 0x0eb3
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_CLR 0x0eb4
+#define WCD934X_CDC_RATE_EST3_RE_MB_SW_STATE 0x0eb5
+#define WCD934X_CDC_RATE_EST3_RE_MAST_DIAG_STATE 0x0eb6
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_7_0 0x0eb7
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_15_8 0x0eb8
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_23_16 0x0eb9
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_31_24 0x0eba
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_39_32 0x0ebb
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_40_43 0x0ebc
+#define WCD934X_PAGE15_PAGE_REGISTER 0x0f00
+#define WCD934X_SPLINE_SRC0_CLK_RST_CTL_0 0x0f01
+#define WCD934X_SPLINE_SRC0_STATUS 0x0f02
+#define WCD934X_SPLINE_SRC1_CLK_RST_CTL_0 0x0f19
+#define WCD934X_SPLINE_SRC1_STATUS 0x0f1a
+#define WCD934X_SPLINE_SRC2_CLK_RST_CTL_0 0x0f31
+#define WCD934X_SPLINE_SRC2_STATUS 0x0f32
+#define WCD934X_SPLINE_SRC3_CLK_RST_CTL_0 0x0f49
+#define WCD934X_SPLINE_SRC3_STATUS 0x0f4a
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG0 0x0fa1
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG1 0x0fa2
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG2 0x0fa3
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG3 0x0fa4
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG0 0x0fa5
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG1 0x0fa6
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG2 0x0fa7
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG3 0x0fa8
+#define WCD934X_CDC_DEBUG_SPLINE_SRC_DEBUG_CFG0 0x0fa9
+#define WCD934X_CDC_DEBUG_SPLINE_SRC_DEBUG_CFG1 0x0faa
+#define WCD934X_CDC_DEBUG_RC_RE_ASRC_DEBUG_CFG0 0x0fab
+#define WCD934X_CDC_DEBUG_ANC0_RC0_FIFO_CTL 0x0fac
+#define WCD934X_CDC_DEBUG_ANC0_RC1_FIFO_CTL 0x0fad
+#define WCD934X_CDC_DEBUG_ANC1_RC0_FIFO_CTL 0x0fae
+#define WCD934X_CDC_DEBUG_ANC1_RC1_FIFO_CTL 0x0faf
+#define WCD934X_CDC_DEBUG_ANC_RC_RST_DBG_CNTR 0x0fb0
+#define WCD934X_PAGE80_PAGE_REGISTER 0x5000
+#define WCD934X_CODEC_CPR_WR_DATA_0 0x5001
+#define WCD934X_CODEC_CPR_WR_DATA_1 0x5002
+#define WCD934X_CODEC_CPR_WR_DATA_2 0x5003
+#define WCD934X_CODEC_CPR_WR_DATA_3 0x5004
+#define WCD934X_CODEC_CPR_WR_ADDR_0 0x5005
+#define WCD934X_CODEC_CPR_WR_ADDR_1 0x5006
+#define WCD934X_CODEC_CPR_WR_ADDR_2 0x5007
+#define WCD934X_CODEC_CPR_WR_ADDR_3 0x5008
+#define WCD934X_CODEC_CPR_RD_ADDR_0 0x5009
+#define WCD934X_CODEC_CPR_RD_ADDR_1 0x500a
+#define WCD934X_CODEC_CPR_RD_ADDR_2 0x500b
+#define WCD934X_CODEC_CPR_RD_ADDR_3 0x500c
+#define WCD934X_CODEC_CPR_RD_DATA_0 0x500d
+#define WCD934X_CODEC_CPR_RD_DATA_1 0x500e
+#define WCD934X_CODEC_CPR_RD_DATA_2 0x500f
+#define WCD934X_CODEC_CPR_RD_DATA_3 0x5010
+#define WCD934X_CODEC_CPR_ACCESS_CFG 0x5011
+#define WCD934X_CODEC_CPR_ACCESS_STATUS 0x5012
+#define WCD934X_CODEC_CPR_NOM_CX_VDD 0x5021
+#define WCD934X_CODEC_CPR_SVS_CX_VDD 0x5022
+#define WCD934X_CODEC_CPR_SVS2_CX_VDD 0x5023
+#define WCD934X_CODEC_CPR_NOM_MX_VDD 0x5024
+#define WCD934X_CODEC_CPR_SVS_MX_VDD 0x5025
+#define WCD934X_CODEC_CPR_SVS2_MX_VDD 0x5026
+#define WCD934X_CODEC_CPR_SVS2_MIN_CX_VDD 0x5027
+#define WCD934X_CODEC_CPR_MAX_SVS2_STEP 0x5028
+#define WCD934X_CODEC_CPR_CTL 0x5029
+#define WCD934X_CODEC_CPR_SW_MODECHNG_STATUS 0x502a
+#define WCD934X_CODEC_CPR_SW_MODECHNG_START 0x502b
+#define WCD934X_CODEC_CPR_CPR_STATUS 0x502c
+#define WCD934X_PAGE128_PAGE_REGISTER 0x8000
+#define WCD934X_TLMM_BIST_MODE_PINCFG 0x8001
+#define WCD934X_TLMM_RF_PA_ON_PINCFG 0x8002
+#define WCD934X_TLMM_INTR1_PINCFG 0x8003
+#define WCD934X_TLMM_INTR2_PINCFG 0x8004
+#define WCD934X_TLMM_SWR_DATA_PINCFG 0x8005
+#define WCD934X_TLMM_SWR_CLK_PINCFG 0x8006
+#define WCD934X_TLMM_I2S_2_SCK_PINCFG 0x8007
+#define WCD934X_TLMM_SLIMBUS_DATA1_PINCFG 0x8008
+#define WCD934X_TLMM_SLIMBUS_DATA2_PINCFG 0x8009
+#define WCD934X_TLMM_SLIMBUS_CLK_PINCFG 0x800a
+#define WCD934X_TLMM_I2C_CLK_PINCFG 0x800b
+#define WCD934X_TLMM_I2C_DATA_PINCFG 0x800c
+#define WCD934X_TLMM_I2S_0_RX_PINCFG 0x800d
+#define WCD934X_TLMM_I2S_0_TX_PINCFG 0x800e
+#define WCD934X_TLMM_I2S_0_SCK_PINCFG 0x800f
+#define WCD934X_TLMM_I2S_0_WS_PINCFG 0x8010
+#define WCD934X_TLMM_I2S_1_RX_PINCFG 0x8011
+#define WCD934X_TLMM_I2S_1_TX_PINCFG 0x8012
+#define WCD934X_TLMM_I2S_1_SCK_PINCFG 0x8013
+#define WCD934X_TLMM_I2S_1_WS_PINCFG 0x8014
+#define WCD934X_TLMM_DMIC1_CLK_PINCFG 0x8015
+#define WCD934X_TLMM_DMIC1_DATA_PINCFG 0x8016
+#define WCD934X_TLMM_DMIC2_CLK_PINCFG 0x8017
+#define WCD934X_TLMM_DMIC2_DATA_PINCFG 0x8018
+#define WCD934X_TLMM_DMIC3_CLK_PINCFG 0x8019
+#define WCD934X_TLMM_DMIC3_DATA_PINCFG 0x801a
+#define WCD934X_TLMM_JTCK_PINCFG 0x801b
+#define WCD934X_TLMM_GPIO1_PINCFG 0x801c
+#define WCD934X_TLMM_GPIO2_PINCFG 0x801d
+#define WCD934X_TLMM_GPIO3_PINCFG 0x801e
+#define WCD934X_TLMM_GPIO4_PINCFG 0x801f
+#define WCD934X_TLMM_SPI_S_CSN_PINCFG 0x8020
+#define WCD934X_TLMM_SPI_S_CLK_PINCFG 0x8021
+#define WCD934X_TLMM_SPI_S_DOUT_PINCFG 0x8022
+#define WCD934X_TLMM_SPI_S_DIN_PINCFG 0x8023
+#define WCD934X_TLMM_BA_N_PINCFG 0x8024
+#define WCD934X_TLMM_GPIO0_PINCFG 0x8025
+#define WCD934X_TLMM_I2S_2_RX_PINCFG 0x8026
+#define WCD934X_TLMM_I2S_2_WS_PINCFG 0x8027
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_0 0x8031
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_1 0x8032
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_2 0x8033
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_3 0x8034
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_4 0x8035
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_0 0x8036
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_1 0x8037
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_2 0x8038
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_3 0x8039
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_4 0x803a
+#define WCD934X_TEST_DEBUG_PAD_DRVCTL_0 0x803b
+#define WCD934X_TEST_DEBUG_PAD_DRVCTL_1 0x803c
+#define WCD934X_TEST_DEBUG_PIN_STATUS 0x803d
+#define WCD934X_TEST_DEBUG_NPL_DLY_TEST_1 0x803e
+#define WCD934X_TEST_DEBUG_NPL_DLY_TEST_2 0x803f
+#define WCD934X_TEST_DEBUG_MEM_CTRL 0x8040
+#define WCD934X_TEST_DEBUG_DEBUG_BUS_SEL 0x8041
+#define WCD934X_TEST_DEBUG_DEBUG_JTAG 0x8042
+#define WCD934X_TEST_DEBUG_DEBUG_EN_1 0x8043
+#define WCD934X_TEST_DEBUG_DEBUG_EN_2 0x8044
+#define WCD934X_TEST_DEBUG_DEBUG_EN_3 0x8045
+#define WCD934X_TEST_DEBUG_DEBUG_EN_4 0x8046
+#define WCD934X_TEST_DEBUG_DEBUG_EN_5 0x8047
+#define WCD934X_TEST_DEBUG_ANA_DTEST_DIR 0x804a
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_0 0x804b
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_1 0x804c
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_2 0x804d
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_3 0x804e
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_4 0x804f
+#define WCD934X_TEST_DEBUG_SYSMEM_CTRL 0x8050
+#define WCD934X_TEST_DEBUG_SOC_SW_PWR_SEQ_DELAY 0x8051
+#define WCD934X_TEST_DEBUG_LVAL_NOM_LOW 0x8052
+#define WCD934X_TEST_DEBUG_LVAL_NOM_HIGH 0x8053
+#define WCD934X_TEST_DEBUG_LVAL_SVS_SVS2_LOW 0x8054
+#define WCD934X_TEST_DEBUG_LVAL_SVS_SVS2_HIGH 0x8055
+#define WCD934X_TEST_DEBUG_SPI_SLAVE_CHAR 0x8056
+#define WCD934X_TEST_DEBUG_CODEC_DIAGS 0x8057
+#define WCD934X_MAX_REGISTER 0x80FF
+
+/* SLIMBUS Slave Registers */
+#define WCD934X_SLIM_PGD_PORT_INT_RX_EN0 (0x30)
+#define WCD934X_SLIM_PGD_PORT_INT_TX_EN0 (0x32)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_RX_0 (0x34)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_RX_1 (0x35)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_TX_0 (0x36)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_TX_1 (0x37)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_RX_0 (0x38)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_RX_1 (0x39)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_TX_0 (0x3A)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_TX_1 (0x3B)
+#define WCD934X_SLIM_PGD_PORT_INT_RX_SOURCE0 (0x60)
+#define WCD934X_SLIM_PGD_PORT_INT_TX_SOURCE0 (0x70)
+
+#endif
diff --git a/include/linux/mfd/wcd9xxx/core.h b/include/linux/mfd/wcd9xxx/core.h
index 96937a4338a8..75908dfa8d64 100644
--- a/include/linux/mfd/wcd9xxx/core.h
+++ b/include/linux/mfd/wcd9xxx/core.h
@@ -76,6 +76,7 @@ enum codec_variant {
WCD9330,
WCD9335,
WCD9326,
+ WCD934X,
};
enum wcd9xxx_slim_slave_addr_type {
@@ -252,6 +253,7 @@ enum wcd9xxx_chipid_major {
TOMTOM_MAJOR = cpu_to_le16(0x105),
TASHA_MAJOR = cpu_to_le16(0x0),
TASHA2P0_MAJOR = cpu_to_le16(0x107),
+ TAVIL_MAJOR = cpu_to_le16(0x108),
};
enum codec_power_states {
@@ -328,6 +330,7 @@ struct wcd9xxx {
struct wcd9xxx_codec_type *codec_type;
bool prev_pg_valid;
u8 prev_pg;
+ u8 avoid_cdc_rstlow;
struct wcd9xxx_power_region *wcd9xxx_pwr[WCD9XXX_MAX_PWR_REGIONS];
};
diff --git a/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h b/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h
index 441d70b97f4e..7c35d7fecc50 100644
--- a/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h
+++ b/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h
@@ -33,6 +33,13 @@ typedef int (*codec_bringdown_fn)(struct wcd9xxx *);
typedef int (*codec_type_fn)(struct wcd9xxx *,
struct wcd9xxx_codec_type *);
+#ifdef CONFIG_WCD934X_CODEC
+extern int wcd934x_bringup(struct wcd9xxx *wcd9xxx);
+extern int wcd934x_bringdown(struct wcd9xxx *wcd9xxx);
+extern int wcd934x_get_codec_info(struct wcd9xxx *,
+ struct wcd9xxx_codec_type *);
+#endif
+
#ifdef CONFIG_WCD9335_CODEC
extern int wcd9335_bringup(struct wcd9xxx *wcd9xxx);
extern int wcd9335_bringdown(struct wcd9xxx *wcd9xxx);
@@ -52,6 +59,11 @@ static inline codec_bringdown_fn wcd9xxx_bringdown_fn(int type)
codec_bringdown_fn cdc_bdown_fn;
switch (type) {
+#ifdef CONFIG_WCD934X_CODEC
+ case WCD934X:
+ cdc_bdown_fn = wcd934x_bringdown;
+ break;
+#endif
#ifdef CONFIG_WCD9335_CODEC
case WCD9335:
cdc_bdown_fn = wcd9335_bringdown;
@@ -75,6 +87,11 @@ static inline codec_bringup_fn wcd9xxx_bringup_fn(int type)
codec_bringup_fn cdc_bup_fn;
switch (type) {
+#ifdef CONFIG_WCD934X_CODEC
+ case WCD934X:
+ cdc_bup_fn = wcd934x_bringup;
+ break;
+#endif
#ifdef CONFIG_WCD9335_CODEC
case WCD9335:
cdc_bup_fn = wcd9335_bringup;
@@ -98,6 +115,11 @@ static inline codec_type_fn wcd9xxx_get_codec_info_fn(int type)
codec_type_fn cdc_type_fn;
switch (type) {
+#ifdef CONFIG_WCD934X_CODEC
+ case WCD934X:
+ cdc_type_fn = wcd934x_get_codec_info;
+ break;
+#endif
#ifdef CONFIG_WCD9335_CODEC
case WCD9335:
cdc_type_fn = wcd9335_get_codec_info;
diff --git a/include/linux/msm_thermal.h b/include/linux/msm_thermal.h
index 52331a5897f2..f3ec960536aa 100644
--- a/include/linux/msm_thermal.h
+++ b/include/linux/msm_thermal.h
@@ -74,6 +74,7 @@ struct msm_thermal_data {
int32_t cx_phase_request_key;
int32_t vdd_mx_temp_degC;
int32_t vdd_mx_temp_hyst_degC;
+ int32_t vdd_mx_sensor_id;
int32_t therm_reset_temp_degC;
};
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index c0e961474a52..5455b660bd88 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -544,9 +544,7 @@ extern int nfs_readpage_async(struct nfs_open_context *, struct inode *,
static inline loff_t nfs_size_to_loff_t(__u64 size)
{
- if (size > (__u64) OFFSET_MAX - 1)
- return OFFSET_MAX - 1;
- return (loff_t) size;
+ return min_t(u64, size, OFFSET_MAX);
}
static inline ino_t
diff --git a/include/linux/of_batterydata.h b/include/linux/of_batterydata.h
index fe2c996de264..5505371488d0 100644
--- a/include/linux/of_batterydata.h
+++ b/include/linux/of_batterydata.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2014, 2016 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -39,10 +39,7 @@ int of_batterydata_read_data(struct device_node *container_node,
* of_batterydata_get_best_profile() - Find matching battery data device node
* @batterydata_container_node: pointer to the battery-data container device
* node containing the profile nodes.
- * @psy_name: Name of the power supply which holds the
- * POWER_SUPPLY_RESISTANCE_ID value to be used to match
- * against the id resistances specified in the corresponding
- * battery data profiles.
+ * @batt_id_kohm: Battery ID in KOhms for which we want to find the profile.
* @batt_type: Battery type which we want to force load the profile.
*
* This routine returns a device_node pointer to the closest match battery data
@@ -50,7 +47,7 @@ int of_batterydata_read_data(struct device_node *container_node,
*/
struct device_node *of_batterydata_get_best_profile(
struct device_node *batterydata_container_node,
- const char *psy_name, const char *batt_type);
+ int batt_id_kohm, const char *batt_type);
#else
static inline int of_batterydata_read_data(struct device_node *container_node,
struct bms_battery_data *batt_data,
@@ -60,7 +57,7 @@ static inline int of_batterydata_read_data(struct device_node *container_node,
}
static inline struct device_node *of_batterydata_get_best_profile(
struct device_node *batterydata_container_node,
- struct device_node *best_node, const char *psy_name)
+ int batt_id_kohm, const char *batt_type)
{
return -ENXIO;
}
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 61a5c00e66cd..06dd540192c7 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1482,6 +1482,7 @@ struct task_struct {
u32 init_load_pct;
u64 last_wake_ts;
u64 last_switch_out_ts;
+ u64 last_cpu_selected_ts;
struct related_thread_group *grp;
struct list_head grp_list;
u64 cpu_cycles;
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h
index 50777b5b1e4c..92d112aeec68 100644
--- a/include/linux/shmem_fs.h
+++ b/include/linux/shmem_fs.h
@@ -15,10 +15,7 @@ struct shmem_inode_info {
unsigned int seals; /* shmem seals */
unsigned long flags;
unsigned long alloced; /* data pages alloced to file */
- union {
- unsigned long swapped; /* subtotal assigned to swap */
- char *symlink; /* unswappable short symlink */
- };
+ unsigned long swapped; /* subtotal assigned to swap */
struct shared_policy policy; /* NUMA memory alloc policy */
struct list_head swaplist; /* chain of maybes on swap */
struct simple_xattrs xattrs; /* list of xattrs */
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 9147f9f34cbe..75f136a22a5e 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -219,6 +219,7 @@ struct sk_buff;
#else
#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 1)
#endif
+extern int sysctl_max_skb_frags;
typedef struct skb_frag_struct skb_frag_t;
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index e7f3180bcb95..a81516c611c4 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -43,6 +43,9 @@
/* Default weight of a bound cooling device */
#define THERMAL_WEIGHT_DEFAULT 0
+/* use value, which < 0K, to indicate an invalid/uninitialized temperature */
+#define THERMAL_TEMP_INVALID -274000
+
/* Unit conversion macros */
#define DECI_KELVIN_TO_CELSIUS(t) ({ \
long _t = (t); \
@@ -201,6 +204,7 @@ struct sensor_info {
* @forced_passive: If > 0, temperature at which to switch on all ACPI
* processor cooling devices. Currently only used by the
* step-wise governor.
+ * @need_update: if equals 1, thermal_zone_device_update needs to be invoked.
* @ops: operations this &thermal_zone_device supports
* @tzp: thermal zone parameters
* @governor: pointer to the governor for this thermal zone
@@ -228,6 +232,7 @@ struct thermal_zone_device {
int emul_temperature;
int passive;
unsigned int forced_passive;
+ atomic_t need_update;
struct thermal_zone_device_ops *ops;
struct thermal_zone_params *tzp;
struct thermal_governor *governor;
diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h
index f01c2ff9845b..6ff6ab8534dd 100644
--- a/include/linux/trace_events.h
+++ b/include/linux/trace_events.h
@@ -575,6 +575,8 @@ enum {
FILTER_DYN_STRING,
FILTER_PTR_STRING,
FILTER_TRACE_FN,
+ FILTER_COMM,
+ FILTER_CPU,
};
extern int trace_event_raw_init(struct trace_event_call *call);
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
index 03c7efb60c91..27e32b2b602f 100644
--- a/include/linux/tracepoint.h
+++ b/include/linux/tracepoint.h
@@ -148,9 +148,6 @@ extern void syscall_unregfunc(void);
void *it_func; \
void *__data; \
\
- if (!cpu_online(raw_smp_processor_id())) \
- return; \
- \
if (!(cond)) \
return; \
prercu; \
@@ -357,15 +354,19 @@ extern void syscall_unregfunc(void);
* "void *__data, proto" as the callback prototype.
*/
#define DECLARE_TRACE_NOARGS(name) \
- __DECLARE_TRACE(name, void, , 1, void *__data, __data)
+ __DECLARE_TRACE(name, void, , \
+ cpu_online(raw_smp_processor_id()), \
+ void *__data, __data)
#define DECLARE_TRACE(name, proto, args) \
- __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), 1, \
- PARAMS(void *__data, proto), \
- PARAMS(__data, args))
+ __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
+ cpu_online(raw_smp_processor_id()), \
+ PARAMS(void *__data, proto), \
+ PARAMS(__data, args))
#define DECLARE_TRACE_CONDITION(name, proto, args, cond) \
- __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), PARAMS(cond), \
+ __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
+ cpu_online(raw_smp_processor_id()) && (PARAMS(cond)), \
PARAMS(void *__data, proto), \
PARAMS(__data, args))
diff --git a/include/linux/ucs2_string.h b/include/linux/ucs2_string.h
index cbb20afdbc01..bb679b48f408 100644
--- a/include/linux/ucs2_string.h
+++ b/include/linux/ucs2_string.h
@@ -11,4 +11,8 @@ unsigned long ucs2_strlen(const ucs2_char_t *s);
unsigned long ucs2_strsize(const ucs2_char_t *data, unsigned long maxlength);
int ucs2_strncmp(const ucs2_char_t *a, const ucs2_char_t *b, size_t len);
+unsigned long ucs2_utf8size(const ucs2_char_t *src);
+unsigned long ucs2_as_utf8(u8 *dest, const ucs2_char_t *src,
+ unsigned long maxlength);
+
#endif /* _LINUX_UCS2_STRING_H_ */
diff --git a/include/linux/usb.h b/include/linux/usb.h
index b79925dd2b41..246945be000c 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -734,6 +734,17 @@ static inline bool usb_device_no_sg_constraint(struct usb_device *udev)
/* for drivers using iso endpoints */
extern int usb_get_current_frame_number(struct usb_device *usb_dev);
+extern int usb_sec_event_ring_setup(struct usb_device *dev,
+ unsigned intr_num);
+extern int usb_sec_event_ring_cleanup(struct usb_device *dev,
+ unsigned intr_num);
+
+extern dma_addr_t
+usb_get_sec_event_ring_dma_addr(struct usb_device *dev,
+ unsigned intr_num);
+extern dma_addr_t usb_get_dcba_dma_addr(struct usb_device *dev);
+extern dma_addr_t usb_get_xfer_ring_dma_addr(struct usb_device *dev,
+ struct usb_host_endpoint *ep);
/* Sets up a group of bulk endpoints to support multiple stream IDs. */
extern int usb_alloc_streams(struct usb_interface *interface,
diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h
index f89c24bd53a4..3740366d9fc5 100644
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -396,6 +396,14 @@ struct hc_driver {
/* Call for power on/off the port if necessary */
int (*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
+ int (*sec_event_ring_setup)(struct usb_hcd *hcd, unsigned intr_num);
+ int (*sec_event_ring_cleanup)(struct usb_hcd *hcd, unsigned intr_num);
+ dma_addr_t (*get_sec_event_ring_dma_addr)(struct usb_hcd *hcd,
+ unsigned intr_num);
+ dma_addr_t (*get_xfer_ring_dma_addr)(struct usb_hcd *hcd,
+ struct usb_device *udev, struct usb_host_endpoint *ep);
+ dma_addr_t (*get_dcba_dma_addr)(struct usb_hcd *hcd,
+ struct usb_device *udev);
};
static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
@@ -434,6 +442,17 @@ extern int usb_hcd_alloc_bandwidth(struct usb_device *udev,
struct usb_host_interface *old_alt,
struct usb_host_interface *new_alt);
extern int usb_hcd_get_frame_number(struct usb_device *udev);
+extern int usb_hcd_sec_event_ring_setup(struct usb_device *udev,
+ unsigned intr_num);
+extern int usb_hcd_sec_event_ring_cleanup(struct usb_device *udev,
+ unsigned intr_num);
+extern dma_addr_t
+usb_hcd_get_sec_event_ring_dma_addr(struct usb_device *udev,
+ unsigned intr_num);
+extern dma_addr_t usb_hcd_get_dcba_dma_addr(struct usb_device *udev);
+extern dma_addr_t
+usb_hcd_get_xfer_ring_dma_addr(struct usb_device *udev,
+ struct usb_host_endpoint *ep);
extern struct usb_hcd *usb_create_hcd(const struct hc_driver *driver,
struct device *dev, const char *bus_name);
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index b333c945e571..d0b5ca5d4e08 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -198,6 +198,7 @@ void wbc_attach_and_unlock_inode(struct writeback_control *wbc,
void wbc_detach_inode(struct writeback_control *wbc);
void wbc_account_io(struct writeback_control *wbc, struct page *page,
size_t bytes);
+void cgroup_writeback_umount(void);
/**
* inode_attach_wb - associate an inode with its wb
@@ -301,6 +302,10 @@ static inline void wbc_account_io(struct writeback_control *wbc,
{
}
+static inline void cgroup_writeback_umount(void)
+{
+}
+
#endif /* CONFIG_CGROUP_WRITEBACK */
/*
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index 647ebfe5174f..4984d372b04b 100644
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -17,7 +17,7 @@
#include <linux/poll.h>
#include <linux/dma-buf.h>
-#define VB2_MAX_FRAME (32)
+#define VB2_MAX_FRAME (64)
#define VB2_MAX_PLANES (8)
enum vb2_memory {
diff --git a/include/net/af_unix.h b/include/net/af_unix.h
index 2a91a0561a47..9b4c418bebd8 100644
--- a/include/net/af_unix.h
+++ b/include/net/af_unix.h
@@ -6,8 +6,8 @@
#include <linux/mutex.h>
#include <net/sock.h>
-void unix_inflight(struct file *fp);
-void unix_notinflight(struct file *fp);
+void unix_inflight(struct user_struct *user, struct file *fp);
+void unix_notinflight(struct user_struct *user, struct file *fp);
void unix_gc(void);
void wait_for_unix_gc(void);
struct sock *unix_get_socket(struct file *filp);
diff --git a/include/net/cnss.h b/include/net/cnss.h
index 78d68fd22ded..ab9b50100504 100644
--- a/include/net/cnss.h
+++ b/include/net/cnss.h
@@ -15,7 +15,6 @@
#include <linux/device.h>
#include <linux/skbuff.h>
#include <linux/pci.h>
-#include <net/cnss_common.h>
#include <linux/mmc/sdio_func.h>
#ifdef CONFIG_CNSS
@@ -212,4 +211,35 @@ extern int cnss_wlan_query_oob_status(void);
extern int cnss_wlan_register_oob_irq_handler(oob_irq_handler_t handler,
void *pm_oob);
extern int cnss_wlan_unregister_oob_irq_handler(void *pm_oob);
+
+
+extern void cnss_dump_stack(struct task_struct *task);
+extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
+extern void cnss_init_work(struct work_struct *work, work_func_t func);
+extern void cnss_flush_delayed_work(void *dwork);
+extern void cnss_flush_work(void *work);
+extern void cnss_pm_wake_lock_timeout(struct wakeup_source *ws, ulong msec);
+extern void cnss_pm_wake_lock_release(struct wakeup_source *ws);
+extern void cnss_pm_wake_lock_destroy(struct wakeup_source *ws);
+extern void cnss_get_monotonic_boottime(struct timespec *ts);
+extern void cnss_get_boottime(struct timespec *ts);
+extern void cnss_init_delayed_work(struct delayed_work *work, work_func_t
+ func);
+extern int cnss_vendor_cmd_reply(struct sk_buff *skb);
+extern int cnss_set_cpus_allowed_ptr(struct task_struct *task, ulong cpu);
+extern int cnss_set_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 ch_count);
+extern int cnss_get_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 *ch_count,
+ u16 buf_len);
+extern int cnss_wlan_set_dfs_nol(const void *info, u16 info_len);
+extern int cnss_wlan_get_dfs_nol(void *info, u16 info_len);
+extern int cnss_common_request_bus_bandwidth(struct device *dev, int
+ bandwidth);
+extern void cnss_common_device_crashed(struct device *dev);
+extern void cnss_common_device_self_recovery(struct device *dev);
+extern void *cnss_common_get_virt_ramdump_mem(struct device *dev, unsigned long
+ *size);
+extern void cnss_common_schedule_recovery_work(struct device *dev);
+extern int cnss_common_set_wlan_mac_address(struct device *dev, const u8 *in,
+ uint32_t len);
+extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
#endif /* _NET_CNSS_H_ */
diff --git a/include/net/cnss_common.h b/include/net/cnss_common.h
deleted file mode 100644
index c5175a190b37..000000000000
--- a/include/net/cnss_common.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef _NET_CNSS_COMMON_H_
-#define _NET_CNSS_COMMON_H_
-
-#ifdef CONFIG_CNSS
-
-#define MAX_FIRMWARE_SIZE (1 * 1024 * 1024)
-/* max 20mhz channel count */
-#define CNSS_MAX_CH_NUM 45
-
-extern int cnss_set_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 ch_count);
-extern int cnss_get_wlan_unsafe_channel(u16 *unsafe_ch_list,
- u16 *ch_count, u16 buf_len);
-
-extern int cnss_wlan_set_dfs_nol(const void *info, u16 info_len);
-extern int cnss_wlan_get_dfs_nol(void *info, u16 info_len);
-
-extern void cnss_init_work(struct work_struct *work, work_func_t func);
-extern void cnss_flush_work(void *work);
-extern void cnss_flush_delayed_work(void *dwork);
-extern void cnss_pm_wake_lock_timeout(struct wakeup_source *ws, ulong msec);
-extern void cnss_pm_wake_lock_release(struct wakeup_source *ws);
-extern void cnss_pm_wake_lock_destroy(struct wakeup_source *ws);
-extern void cnss_get_monotonic_boottime(struct timespec *ts);
-extern void cnss_get_boottime(struct timespec *ts);
-extern void cnss_init_delayed_work(struct delayed_work *work, work_func_t func);
-extern int cnss_vendor_cmd_reply(struct sk_buff *skb);
-extern int cnss_set_cpus_allowed_ptr(struct task_struct *task, ulong cpu);
-extern void cnss_dump_stack(struct task_struct *task);
-
-int cnss_pci_request_bus_bandwidth(int bandwidth);
-int cnss_sdio_request_bus_bandwidth(int bandwidth);
-extern int cnss_common_request_bus_bandwidth(struct device *dev,
- int bandwidth);
-
-void cnss_sdio_device_crashed(void);
-void cnss_pci_device_crashed(void);
-extern void cnss_common_device_crashed(struct device *dev);
-
-void cnss_pci_device_self_recovery(void);
-void cnss_sdio_device_self_recovery(void);
-extern void cnss_common_device_self_recovery(struct device *dev);
-
-void *cnss_pci_get_virt_ramdump_mem(unsigned long *size);
-void *cnss_sdio_get_virt_ramdump_mem(unsigned long *size);
-extern void *cnss_common_get_virt_ramdump_mem(struct device *dev,
- unsigned long *size);
-
-void cnss_sdio_schedule_recovery_work(void);
-void cnss_pci_schedule_recovery_work(void);
-extern void cnss_common_schedule_recovery_work(struct device *dev);
-
-extern int cnss_pcie_set_wlan_mac_address(const u8 *in, uint32_t len);
-extern int cnss_sdio_set_wlan_mac_address(const u8 *in, uint32_t len);
-extern int cnss_common_set_wlan_mac_address(struct device *dev,
- const u8 *in, uint32_t len);
-
-u8 *cnss_pci_get_wlan_mac_address(uint32_t *num);
-u8 *cnss_sdio_get_wlan_mac_address(uint32_t *num);
-extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
-#endif
-#endif /* _NET_CNSS_COMMON_H_ */
diff --git a/include/net/dst_metadata.h b/include/net/dst_metadata.h
index 6816f0fa5693..30a56ab2ccfb 100644
--- a/include/net/dst_metadata.h
+++ b/include/net/dst_metadata.h
@@ -44,6 +44,24 @@ static inline bool skb_valid_dst(const struct sk_buff *skb)
return dst && !(dst->flags & DST_METADATA);
}
+static inline int skb_metadata_dst_cmp(const struct sk_buff *skb_a,
+ const struct sk_buff *skb_b)
+{
+ const struct metadata_dst *a, *b;
+
+ if (!(skb_a->_skb_refdst | skb_b->_skb_refdst))
+ return 0;
+
+ a = (const struct metadata_dst *) skb_dst(skb_a);
+ b = (const struct metadata_dst *) skb_dst(skb_b);
+
+ if (!a != !b || a->u.tun_info.options_len != b->u.tun_info.options_len)
+ return 1;
+
+ return memcmp(&a->u.tun_info, &b->u.tun_info,
+ sizeof(a->u.tun_info) + a->u.tun_info.options_len);
+}
+
struct metadata_dst *metadata_dst_alloc(u8 optslen, gfp_t flags);
struct metadata_dst __percpu *metadata_dst_alloc_percpu(u8 optslen, gfp_t flags);
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
index 481fe1c9044c..49dcad4fe99e 100644
--- a/include/net/inet_connection_sock.h
+++ b/include/net/inet_connection_sock.h
@@ -270,8 +270,9 @@ struct dst_entry *inet_csk_route_child_sock(const struct sock *sk,
struct sock *newsk,
const struct request_sock *req);
-void inet_csk_reqsk_queue_add(struct sock *sk, struct request_sock *req,
- struct sock *child);
+struct sock *inet_csk_reqsk_queue_add(struct sock *sk,
+ struct request_sock *req,
+ struct sock *child);
void inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req,
unsigned long timeout);
struct sock *inet_csk_complete_hashdance(struct sock *sk, struct sock *child,
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
index 4bbd221637cd..ba82feec2590 100644
--- a/include/net/ip6_route.h
+++ b/include/net/ip6_route.h
@@ -64,8 +64,16 @@ static inline bool rt6_need_strict(const struct in6_addr *daddr)
void ip6_route_input(struct sk_buff *skb);
-struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,
- struct flowi6 *fl6);
+struct dst_entry *ip6_route_output_flags(struct net *net, const struct sock *sk,
+ struct flowi6 *fl6, int flags);
+
+static inline struct dst_entry *ip6_route_output(struct net *net,
+ const struct sock *sk,
+ struct flowi6 *fl6)
+{
+ return ip6_route_output_flags(net, sk, fl6, 0);
+}
+
struct dst_entry *ip6_route_lookup(struct net *net, struct flowi6 *fl6,
int flags);
diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h
index 9f4df68105ab..3f98233388fb 100644
--- a/include/net/ip_fib.h
+++ b/include/net/ip_fib.h
@@ -61,6 +61,7 @@ struct fib_nh_exception {
struct rtable __rcu *fnhe_rth_input;
struct rtable __rcu *fnhe_rth_output;
unsigned long fnhe_stamp;
+ struct rcu_head rcu;
};
struct fnhe_hash_bucket {
diff --git a/include/net/iw_handler.h b/include/net/iw_handler.h
index 8f81bbbc38fc..e0f4109e64c6 100644
--- a/include/net/iw_handler.h
+++ b/include/net/iw_handler.h
@@ -439,6 +439,12 @@ int dev_get_wireless_info(char *buffer, char **start, off_t offset, int length);
/* Send a single event to user space */
void wireless_send_event(struct net_device *dev, unsigned int cmd,
union iwreq_data *wrqu, const char *extra);
+#ifdef CONFIG_WEXT_CORE
+/* flush all previous wext events - if work is done from netdev notifiers */
+void wireless_nlevent_flush(void);
+#else
+static inline void wireless_nlevent_flush(void) {}
+#endif
/* We may need a function to send a stream of events to user space.
* More on that later... */
diff --git a/include/net/scm.h b/include/net/scm.h
index 262532d111f5..59fa93c01d2a 100644
--- a/include/net/scm.h
+++ b/include/net/scm.h
@@ -21,6 +21,7 @@ struct scm_creds {
struct scm_fp_list {
short count;
short max;
+ struct user_struct *user;
struct file *fp[SCM_MAX_FD];
};
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 984e59d99deb..15ee95fcd561 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -141,6 +141,9 @@ void tcp_time_wait(struct sock *sk, int state, int timeo);
* most likely due to retrans in 3WHS.
*/
+/* Number of full MSS to receive before Acking RFC2581 */
+#define TCP_DELACK_SEG 1
+
#define TCP_RESOURCE_PROBE_INTERVAL ((unsigned)(HZ/2U)) /* Maximal interval between probes
* for local resources.
*/
@@ -287,6 +290,11 @@ extern int sysctl_tcp_pacing_ca_ratio;
extern int sysctl_tcp_default_init_rwnd;
extern atomic_long_t tcp_memory_allocated;
+
+/* sysctl variables for controlling various tcp parameters */
+extern int sysctl_tcp_delack_seg;
+extern int sysctl_tcp_use_userconfig;
+
extern struct percpu_counter tcp_sockets_allocated;
extern int tcp_memory_pressure;
@@ -377,6 +385,12 @@ ssize_t tcp_splice_read(struct socket *sk, loff_t *ppos,
struct pipe_inode_info *pipe, size_t len,
unsigned int flags);
+/* sysctl master controller */
+extern int tcp_use_userconfig_sysctl_handler(struct ctl_table *, int,
+ void __user *, size_t *, loff_t *);
+extern int tcp_proc_delayed_ack_control(struct ctl_table *, int,
+ void __user *, size_t *, loff_t *);
+
static inline void tcp_dec_quickack_mode(struct sock *sk,
const unsigned int pkts)
{
@@ -450,7 +464,7 @@ const u8 *tcp_parse_md5sig_option(const struct tcphdr *th);
void tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
void tcp_v4_mtu_reduced(struct sock *sk);
-void tcp_req_err(struct sock *sk, u32 seq);
+void tcp_req_err(struct sock *sk, u32 seq, bool abort);
int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb);
struct sock *tcp_create_openreq_child(const struct sock *sk,
struct request_sock *req,
diff --git a/include/soc/qcom/clock-local2.h b/include/soc/qcom/clock-local2.h
index 7f785cf4d3a2..4f2fa36e920f 100644
--- a/include/soc/qcom/clock-local2.h
+++ b/include/soc/qcom/clock-local2.h
@@ -255,6 +255,7 @@ extern struct clk_ops clk_ops_branch_hw_ctl;
extern struct clk_ops clk_ops_vote;
extern struct clk_ops clk_ops_rcg_hdmi;
extern struct clk_ops clk_ops_rcg_edp;
+extern struct clk_ops clk_ops_rcg_dp;
extern struct clk_ops clk_ops_byte;
extern struct clk_ops clk_ops_pixel;
extern struct clk_ops clk_ops_byte_multiparent;
diff --git a/include/soc/qcom/smem.h b/include/soc/qcom/smem.h
index 9295532dec8a..79bcc1b31cf8 100644
--- a/include/soc/qcom/smem.h
+++ b/include/soc/qcom/smem.h
@@ -26,6 +26,7 @@ enum {
SMEM_TZ,
SMEM_SPSS,
SMEM_HYP,
+ SMEM_CDSP,
NUM_SMEM_SUBSYSTEMS,
};
diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h
index 56cf8e485ef2..28ee5c2e6bcd 100644
--- a/include/target/target_core_backend.h
+++ b/include/target/target_core_backend.h
@@ -94,5 +94,8 @@ sense_reason_t passthrough_parse_cdb(struct se_cmd *cmd,
sense_reason_t (*exec_cmd)(struct se_cmd *cmd));
bool target_sense_desc_format(struct se_device *dev);
+sector_t target_to_linux_sector(struct se_device *dev, sector_t lb);
+bool target_configure_unmap_from_queue(struct se_dev_attrib *attrib,
+ struct request_queue *q, int block_size);
#endif /* TARGET_CORE_BACKEND_H */
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index aabf0aca0171..689f4d207122 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -138,6 +138,7 @@ enum se_cmd_flags_table {
SCF_COMPARE_AND_WRITE = 0x00080000,
SCF_COMPARE_AND_WRITE_POST = 0x00100000,
SCF_PASSTHROUGH_PROT_SG_TO_MEM_NOALLOC = 0x00200000,
+ SCF_ACK_KREF = 0x00400000,
};
/* struct se_dev_entry->lun_flags and struct se_lun->lun_access */
@@ -490,6 +491,8 @@ struct se_cmd {
#define CMD_T_DEV_ACTIVE (1 << 7)
#define CMD_T_REQUEST_STOP (1 << 8)
#define CMD_T_BUSY (1 << 9)
+#define CMD_T_TAS (1 << 10)
+#define CMD_T_FABRIC_STOP (1 << 11)
spinlock_t t_state_lock;
struct kref cmd_kref;
struct completion t_transport_stop_comp;
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index 29e3be2ce18c..32172c8f7d37 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -347,7 +347,7 @@ header-y += nfs_mount.h
header-y += nl80211.h
header-y += n_r3964.h
header-y += nubus.h
-header-y += nvme.h
+header-y += nvme_ioctl.h
header-y += nvram.h
header-y += omap3isp.h
header-y += omapfb.h
diff --git a/include/uapi/linux/msm_kgsl.h b/include/uapi/linux/msm_kgsl.h
index 34503420c882..dbba773cd49d 100644
--- a/include/uapi/linux/msm_kgsl.h
+++ b/include/uapi/linux/msm_kgsl.h
@@ -43,13 +43,13 @@
/* This is a cmdbatch exclusive flag - use the CMDBATCH equivalent instead */
#define KGSL_CONTEXT_SYNC 0x00000400
#define KGSL_CONTEXT_PWR_CONSTRAINT 0x00000800
-
#define KGSL_CONTEXT_PRIORITY_MASK 0x0000F000
#define KGSL_CONTEXT_PRIORITY_SHIFT 12
#define KGSL_CONTEXT_PRIORITY_UNDEF 0
#define KGSL_CONTEXT_IFH_NOP 0x00010000
#define KGSL_CONTEXT_SECURE 0x00020000
+#define KGSL_CONTEXT_NO_SNAPSHOT 0x00040000
#define KGSL_CONTEXT_PREEMPT_STYLE_MASK 0x0E000000
#define KGSL_CONTEXT_PREEMPT_STYLE_SHIFT 25
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
index 0c5c83a84362..27fe13a534b4 100644
--- a/include/uapi/linux/v4l2-controls.h
+++ b/include/uapi/linux/v4l2-controls.h
@@ -702,7 +702,13 @@ enum v4l2_mpeg_vidc_video_rate_control {
V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR = 2,
V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR = 3,
V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR = 4,
+ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR = 5,
+ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR = 6,
};
+#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR \
+ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR
+#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR \
+ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR
#define V4L2_CID_MPEG_VIDC_VIDEO_ROTATION (V4L2_CID_MPEG_MSM_VIDC_BASE+14)
enum v4l2_mpeg_vidc_video_rotation {
@@ -1155,6 +1161,11 @@ enum v4l2_mpeg_vidc_video_lowlatency_mode {
#define V4L2_CID_MPEG_VIDC_VIDEO_BLUR_HEIGHT \
(V4L2_CID_MPEG_MSM_VIDC_BASE + 90)
+#define V4L2_CID_MPEG_VIDEO_MIN_QP_PACKED \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 91)
+#define V4L2_CID_MPEG_VIDEO_MAX_QP_PACKED \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 92)
+
/* Camera class control IDs */
#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index c7bb78a0d57b..46b0402a730f 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -70,7 +70,7 @@
* Common stuff for both V4L1 and V4L2
* Moved from videodev.h
*/
-#define VIDEO_MAX_FRAME 32
+#define VIDEO_MAX_FRAME 64
#define VIDEO_MAX_PLANES 8
/*
diff --git a/include/uapi/media/msm_sde_rotator.h b/include/uapi/media/msm_sde_rotator.h
index d771959f2e03..461a171a42c1 100644
--- a/include/uapi/media/msm_sde_rotator.h
+++ b/include/uapi/media/msm_sde_rotator.h
@@ -13,9 +13,23 @@
#define SDE_PIX_FMT_BGRA_8888 V4L2_PIX_FMT_ARGB32
#define SDE_PIX_FMT_RGBX_8888 v4l2_fourcc('X', 'B', '2', '4')
#define SDE_PIX_FMT_BGRX_8888 V4L2_PIX_FMT_XRGB32
+#define SDE_PIX_FMT_XBGR_8888 v4l2_fourcc('R', 'X', '2', '4')
#define SDE_PIX_FMT_RGBA_5551 v4l2_fourcc('R', 'A', '1', '5')
+#define SDE_PIX_FMT_ARGB_1555 V4L2_PIX_FMT_ARGB555
+#define SDE_PIX_FMT_ABGR_1555 v4l2_fourcc('A', 'B', '1', '5')
+#define SDE_PIX_FMT_BGRA_5551 v4l2_fourcc('B', 'A', '1', '5')
+#define SDE_PIX_FMT_BGRX_5551 v4l2_fourcc('B', 'X', '1', '5')
+#define SDE_PIX_FMT_RGBX_5551 v4l2_fourcc('R', 'X', '1', '5')
+#define SDE_PIX_FMT_XBGR_1555 v4l2_fourcc('X', 'B', '1', '5')
+#define SDE_PIX_FMT_XRGB_1555 V4L2_PIX_FMT_XRGB555
#define SDE_PIX_FMT_ARGB_4444 V4L2_PIX_FMT_ARGB444
#define SDE_PIX_FMT_RGBA_4444 v4l2_fourcc('R', 'A', '1', '2')
+#define SDE_PIX_FMT_BGRA_4444 v4l2_fourcc('B', 'A', '1', '2')
+#define SDE_PIX_FMT_ABGR_4444 v4l2_fourcc('A', 'B', '1', '2')
+#define SDE_PIX_FMT_RGBX_4444 v4l2_fourcc('R', 'X', '1', '2')
+#define SDE_PIX_FMT_XRGB_4444 V4L2_PIX_FMT_XRGB444
+#define SDE_PIX_FMT_BGRX_4444 v4l2_fourcc('B', 'X', '1', '2')
+#define SDE_PIX_FMT_XBGR_4444 v4l2_fourcc('X', 'B', '1', '2')
#define SDE_PIX_FMT_RGB_888 V4L2_PIX_FMT_RGB24
#define SDE_PIX_FMT_BGR_888 V4L2_PIX_FMT_BGR24
#define SDE_PIX_FMT_RGB_565 V4L2_PIX_FMT_RGB565
diff --git a/include/uapi/media/msmb_camera.h b/include/uapi/media/msmb_camera.h
index 092551d0cc16..fe70daa772df 100644
--- a/include/uapi/media/msmb_camera.h
+++ b/include/uapi/media/msmb_camera.h
@@ -202,5 +202,24 @@ struct msm_camera_user_buf_cont_t {
unsigned int buf_idx[MSM_CAMERA_MAX_USER_BUFF_CNT];
};
+struct msm_camera_return_buf {
+ __u32 index;
+ __u32 reserved;
+};
+
+#define MSM_CAMERA_PRIV_IOCTL_ID_BASE 0
+#define MSM_CAMERA_PRIV_IOCTL_ID_RETURN_BUF 1
+
+struct msm_camera_private_ioctl_arg {
+ __u32 id;
+ __u32 size;
+ __u32 result;
+ __u32 reserved;
+ __user __u64 ioctl_ptr;
+};
+
+#define VIDIOC_MSM_CAMERA_PRIVATE_IOCTL_CMD \
+ _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_private_ioctl_arg)
+
#endif
diff --git a/include/uapi/media/msmb_generic_buf_mgr.h b/include/uapi/media/msmb_generic_buf_mgr.h
index a68b174b97bb..2961cae1e7c1 100644
--- a/include/uapi/media/msmb_generic_buf_mgr.h
+++ b/include/uapi/media/msmb_generic_buf_mgr.h
@@ -34,6 +34,9 @@ struct msm_buf_mngr_main_cont_info {
int32_t cont_fd;
};
+#define MSM_CAMERA_BUF_MNGR_IOCTL_ID_BASE 0
+#define MSM_CAMERA_BUF_MNGR_IOCTL_ID_GET_BUF_BY_IDX 1
+
#define VIDIOC_MSM_BUF_MNGR_GET_BUF \
_IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info)
@@ -55,5 +58,9 @@ struct msm_buf_mngr_main_cont_info {
#define VIDIOC_MSM_BUF_MNGR_FLUSH \
_IOWR('V', BASE_VIDIOC_PRIVATE + 39, struct msm_buf_mngr_info)
+#define VIDIOC_MSM_BUF_MNGR_IOCTL_CMD \
+ _IOWR('V', BASE_VIDIOC_PRIVATE + 40, \
+ struct msm_camera_private_ioctl_arg)
+
#endif
diff --git a/include/uapi/media/msmb_ispif.h b/include/uapi/media/msmb_ispif.h
index 26bd8a2ce87f..7f4deaf12683 100644
--- a/include/uapi/media/msmb_ispif.h
+++ b/include/uapi/media/msmb_ispif.h
@@ -72,6 +72,24 @@ enum msm_ispif_csid {
CSID_MAX
};
+enum msm_ispif_pixel_odd_even {
+ PIX_EVEN,
+ PIX_ODD
+};
+
+enum msm_ispif_pixel_pack_mode {
+ PACK_BYTE,
+ PACK_PLAIN_PACK,
+ PACK_NV_P8,
+ PACK_NV_P16
+};
+
+struct msm_ispif_pack_cfg {
+ int pixel_swap_en;
+ enum msm_ispif_pixel_odd_even even_odd_sel;
+ enum msm_ispif_pixel_pack_mode pack_mode;
+};
+
struct msm_ispif_params_entry {
enum msm_ispif_vfe_intf vfe_intf;
enum msm_ispif_intftype intftype;
@@ -83,6 +101,12 @@ struct msm_ispif_params_entry {
uint16_t crop_end_pixel;
};
+struct msm_ispif_param_data_ext {
+ uint32_t num;
+ struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES];
+ struct msm_ispif_pack_cfg pack_cfg[CID_MAX];
+};
+
struct msm_ispif_param_data {
uint32_t num;
struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES];
@@ -111,6 +135,7 @@ enum ispif_cfg_type_t {
ISPIF_RELEASE,
ISPIF_ENABLE_REG_DUMP,
ISPIF_SET_VFE_INFO,
+ ISPIF_CFG2,
};
struct ispif_cfg_data {
@@ -123,8 +148,19 @@ struct ispif_cfg_data {
};
};
+struct ispif_cfg_data_ext {
+ enum ispif_cfg_type_t cfg_type;
+ void __user *data;
+ uint32_t size;
+};
+
+#define ISPIF_RDI_PACK_MODE_SUPPORT 1
+
#define VIDIOC_MSM_ISPIF_CFG \
_IOWR('V', BASE_VIDIOC_PRIVATE, struct ispif_cfg_data)
+#define VIDIOC_MSM_ISPIF_CFG_EXT \
+ _IOWR('V', BASE_VIDIOC_PRIVATE+1, struct ispif_cfg_data_ext)
+
#endif