summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/nv/include/ap20/arslink.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/nv/include/ap20/arslink.h')
-rw-r--r--arch/arm/mach-tegra/nv/include/ap20/arslink.h1125
1 files changed, 1125 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/nv/include/ap20/arslink.h b/arch/arm/mach-tegra/nv/include/ap20/arslink.h
new file mode 100644
index 000000000000..cfd1ef7eed24
--- /dev/null
+++ b/arch/arm/mach-tegra/nv/include/ap20/arslink.h
@@ -0,0 +1,1125 @@
+/*
+ * Copyright (c) 2009 NVIDIA Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of the NVIDIA Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+//
+// DO NOT EDIT - generated by simspec!
+//
+
+#ifndef ___ARSLINK_H_INC_
+#define ___ARSLINK_H_INC_
+
+// Register SLINK_COMMAND_0
+#define SLINK_COMMAND_0 _MK_ADDR_CONST(0x0)
+#define SLINK_COMMAND_0_SECURE 0x0
+#define SLINK_COMMAND_0_WORD_COUNT 0x1
+#define SLINK_COMMAND_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_RESET_MASK _MK_MASK_CONST(0xf3f33fff)
+#define SLINK_COMMAND_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_READ_MASK _MK_MASK_CONST(0xf3f33fff)
+#define SLINK_COMMAND_0_WRITE_MASK _MK_MASK_CONST(0xf3f33fff)
+// RD/WD access to Data Register would start the next transfer. (This allows continuous Receive via RD of Buffer and Automated Transmit per WD of Buffer Register)
+#define SLINK_COMMAND_0_ENB_SHIFT _MK_SHIFT_CONST(31)
+#define SLINK_COMMAND_0_ENB_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_ENB_SHIFT)
+#define SLINK_COMMAND_0_ENB_RANGE 31:31
+#define SLINK_COMMAND_0_ENB_WOFFSET 0x0
+#define SLINK_COMMAND_0_ENB_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_ENB_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_ENB_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_ENB_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_ENB_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_ENB_ENABLE _MK_ENUM_CONST(1)
+
+// Program 1 after all the other bits in the COMMAND2 and COMMAND are programmed to start the trasnfer
+// HW clears this bit automatically after the trasnfer is done
+// Clearing of the bit by SW will stop the Shifter and latch the partial data into buffer
+#define SLINK_COMMAND_0_GO_SHIFT _MK_SHIFT_CONST(30)
+#define SLINK_COMMAND_0_GO_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_GO_SHIFT)
+#define SLINK_COMMAND_0_GO_RANGE 30:30
+#define SLINK_COMMAND_0_GO_WOFFSET 0x0
+#define SLINK_COMMAND_0_GO_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_GO_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_GO_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_GO_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_GO_STOP _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_GO_GO _MK_ENUM_CONST(1)
+
+// 1 = Hold APB Cycle from writing another data into COMMAND register until RDY 0 = NOP. Use of this bit is deprecated.
+#define SLINK_COMMAND_0_WAIT_SHIFT _MK_SHIFT_CONST(29)
+#define SLINK_COMMAND_0_WAIT_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_WAIT_SHIFT)
+#define SLINK_COMMAND_0_WAIT_RANGE 29:29
+#define SLINK_COMMAND_0_WAIT_WOFFSET 0x0
+#define SLINK_COMMAND_0_WAIT_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_WAIT_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_WAIT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_WAIT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_WAIT_NOP _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_WAIT_WAIT _MK_ENUM_CONST(1)
+
+// 1 = Master Mode (internal Clock) 0 = Slave Mode (external Clock)
+#define SLINK_COMMAND_0_M_S_SHIFT _MK_SHIFT_CONST(28)
+#define SLINK_COMMAND_0_M_S_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_M_S_SHIFT)
+#define SLINK_COMMAND_0_M_S_RANGE 28:28
+#define SLINK_COMMAND_0_M_S_WOFFSET 0x0
+#define SLINK_COMMAND_0_M_S_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_M_S_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_M_S_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_M_S_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_M_S_SLAVE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_M_S_MASTER _MK_ENUM_CONST(1)
+
+// 11 = Pull High 10 = Pull Low 01 = Driven High 00 = Driven Low (def)
+#define SLINK_COMMAND_0_IDLE_SCLK_SHIFT _MK_SHIFT_CONST(24)
+#define SLINK_COMMAND_0_IDLE_SCLK_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND_0_IDLE_SCLK_SHIFT)
+#define SLINK_COMMAND_0_IDLE_SCLK_RANGE 25:24
+#define SLINK_COMMAND_0_IDLE_SCLK_WOFFSET 0x0
+#define SLINK_COMMAND_0_IDLE_SCLK_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_IDLE_SCLK_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_COMMAND_0_IDLE_SCLK_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_IDLE_SCLK_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_IDLE_SCLK_DRIVE_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_IDLE_SCLK_DRIVE_HIGH _MK_ENUM_CONST(1)
+#define SLINK_COMMAND_0_IDLE_SCLK_PULL_LOW _MK_ENUM_CONST(2)
+#define SLINK_COMMAND_0_IDLE_SCLK_PULL_HIGH _MK_ENUM_CONST(3)
+
+// 1 = CS3 active high 0 = CS3 active low
+#define SLINK_COMMAND_0_CS_POLARITY3_SHIFT _MK_SHIFT_CONST(23)
+#define SLINK_COMMAND_0_CS_POLARITY3_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_POLARITY3_SHIFT)
+#define SLINK_COMMAND_0_CS_POLARITY3_RANGE 23:23
+#define SLINK_COMMAND_0_CS_POLARITY3_WOFFSET 0x0
+#define SLINK_COMMAND_0_CS_POLARITY3_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY3_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_CS_POLARITY3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY3_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_CS_POLARITY3_HIGH _MK_ENUM_CONST(1)
+
+// 1 = CS2 active high 0 = CS2 active low
+#define SLINK_COMMAND_0_CS_POLARITY2_SHIFT _MK_SHIFT_CONST(22)
+#define SLINK_COMMAND_0_CS_POLARITY2_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_POLARITY2_SHIFT)
+#define SLINK_COMMAND_0_CS_POLARITY2_RANGE 22:22
+#define SLINK_COMMAND_0_CS_POLARITY2_WOFFSET 0x0
+#define SLINK_COMMAND_0_CS_POLARITY2_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY2_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_CS_POLARITY2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY2_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_CS_POLARITY2_HIGH _MK_ENUM_CONST(1)
+
+// 1 = Rising Edge 0 = Falling Edge (def)
+#define SLINK_COMMAND_0_CK_SDA_SHIFT _MK_SHIFT_CONST(21)
+#define SLINK_COMMAND_0_CK_SDA_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CK_SDA_SHIFT)
+#define SLINK_COMMAND_0_CK_SDA_RANGE 21:21
+#define SLINK_COMMAND_0_CK_SDA_WOFFSET 0x0
+#define SLINK_COMMAND_0_CK_SDA_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CK_SDA_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_CK_SDA_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CK_SDA_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CK_SDA_FIRST_CLK_EDGE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_CK_SDA_SECOND_CLK_EDGE _MK_ENUM_CONST(1)
+
+// 1 = CS1 active high 0 = CS1 active low
+#define SLINK_COMMAND_0_CS_POLARITY1_SHIFT _MK_SHIFT_CONST(20)
+#define SLINK_COMMAND_0_CS_POLARITY1_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_POLARITY1_SHIFT)
+#define SLINK_COMMAND_0_CS_POLARITY1_RANGE 20:20
+#define SLINK_COMMAND_0_CS_POLARITY1_WOFFSET 0x0
+#define SLINK_COMMAND_0_CS_POLARITY1_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY1_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_CS_POLARITY1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY1_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_CS_POLARITY1_HIGH _MK_ENUM_CONST(1)
+
+// 11 = Pull High 10 = Pull Low 01 = Driven High 00 = Driven Low
+#define SLINK_COMMAND_0_IDLE_SDA_SHIFT _MK_SHIFT_CONST(16)
+#define SLINK_COMMAND_0_IDLE_SDA_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND_0_IDLE_SDA_SHIFT)
+#define SLINK_COMMAND_0_IDLE_SDA_RANGE 17:16
+#define SLINK_COMMAND_0_IDLE_SDA_WOFFSET 0x0
+#define SLINK_COMMAND_0_IDLE_SDA_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_IDLE_SDA_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_COMMAND_0_IDLE_SDA_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_IDLE_SDA_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_IDLE_SDA_DRIVE_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_IDLE_SDA_DRIVE_HIGH _MK_ENUM_CONST(1)
+#define SLINK_COMMAND_0_IDLE_SDA_PULL_LOW _MK_ENUM_CONST(2)
+#define SLINK_COMMAND_0_IDLE_SDA_PULL_HIGH _MK_ENUM_CONST(3)
+
+// 1 = CS0 active high 0 = CS0 active low
+#define SLINK_COMMAND_0_CS_POLARITY0_SHIFT _MK_SHIFT_CONST(13)
+#define SLINK_COMMAND_0_CS_POLARITY0_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_POLARITY0_SHIFT)
+#define SLINK_COMMAND_0_CS_POLARITY0_RANGE 13:13
+#define SLINK_COMMAND_0_CS_POLARITY0_WOFFSET 0x0
+#define SLINK_COMMAND_0_CS_POLARITY0_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_CS_POLARITY0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_POLARITY0_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_CS_POLARITY0_HIGH _MK_ENUM_CONST(1)
+
+// 1 = CS is high 0 = CS is low
+#define SLINK_COMMAND_0_CS_VALUE_SHIFT _MK_SHIFT_CONST(12)
+#define SLINK_COMMAND_0_CS_VALUE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_VALUE_SHIFT)
+#define SLINK_COMMAND_0_CS_VALUE_RANGE 12:12
+#define SLINK_COMMAND_0_CS_VALUE_WOFFSET 0x0
+#define SLINK_COMMAND_0_CS_VALUE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_VALUE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_CS_VALUE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_VALUE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_VALUE_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_CS_VALUE_HIGH _MK_ENUM_CONST(1)
+
+// 1 = CS controlled by SW 0 = CS controlled by hardware
+#define SLINK_COMMAND_0_CS_SW_SHIFT _MK_SHIFT_CONST(11)
+#define SLINK_COMMAND_0_CS_SW_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_SW_SHIFT)
+#define SLINK_COMMAND_0_CS_SW_RANGE 11:11
+#define SLINK_COMMAND_0_CS_SW_WOFFSET 0x0
+#define SLINK_COMMAND_0_CS_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_SW_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_CS_SW_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_SW_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_CS_SW_HARD _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_CS_SW_SOFT _MK_ENUM_CONST(1)
+
+// 1 = both lines transmit/receive 0 = one line transmit and other receive
+#define SLINK_COMMAND_0_BOTH_EN_SHIFT _MK_SHIFT_CONST(10)
+#define SLINK_COMMAND_0_BOTH_EN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_BOTH_EN_SHIFT)
+#define SLINK_COMMAND_0_BOTH_EN_RANGE 10:10
+#define SLINK_COMMAND_0_BOTH_EN_WOFFSET 0x0
+#define SLINK_COMMAND_0_BOTH_EN_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_BOTH_EN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND_0_BOTH_EN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_BOTH_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_BOTH_EN_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND_0_BOTH_EN_ENABLE _MK_ENUM_CONST(1)
+
+// 31 = Thirty Two words (Max)
+#define SLINK_COMMAND_0_WORD_SIZE_SHIFT _MK_SHIFT_CONST(5)
+#define SLINK_COMMAND_0_WORD_SIZE_FIELD (_MK_MASK_CONST(0x1f) << SLINK_COMMAND_0_WORD_SIZE_SHIFT)
+#define SLINK_COMMAND_0_WORD_SIZE_RANGE 9:5
+#define SLINK_COMMAND_0_WORD_SIZE_WOFFSET 0x0
+#define SLINK_COMMAND_0_WORD_SIZE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_WORD_SIZE_DEFAULT_MASK _MK_MASK_CONST(0x1f)
+#define SLINK_COMMAND_0_WORD_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_WORD_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 31 = Thirty Two bit Transfers (Max)
+#define SLINK_COMMAND_0_BIT_LENGTH_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_COMMAND_0_BIT_LENGTH_FIELD (_MK_MASK_CONST(0x1f) << SLINK_COMMAND_0_BIT_LENGTH_SHIFT)
+#define SLINK_COMMAND_0_BIT_LENGTH_RANGE 4:0
+#define SLINK_COMMAND_0_BIT_LENGTH_WOFFSET 0x0
+#define SLINK_COMMAND_0_BIT_LENGTH_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_BIT_LENGTH_DEFAULT_MASK _MK_MASK_CONST(0x1f)
+#define SLINK_COMMAND_0_BIT_LENGTH_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND_0_BIT_LENGTH_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register SLINK_COMMAND2_0
+#define SLINK_COMMAND2_0 _MK_ADDR_CONST(0x4)
+#define SLINK_COMMAND2_0_SECURE 0x0
+#define SLINK_COMMAND2_0_WORD_COUNT 0x1
+#define SLINK_COMMAND2_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_RESET_MASK _MK_MASK_CONST(0xfcfe1fd3)
+#define SLINK_COMMAND2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_READ_MASK _MK_MASK_CONST(0xfcfe1fd3)
+#define SLINK_COMMAND2_0_WRITE_MASK _MK_MASK_CONST(0xfcfe1fd3)
+// Receive enable
+#define SLINK_COMMAND2_0_RXEN_SHIFT _MK_SHIFT_CONST(31)
+#define SLINK_COMMAND2_0_RXEN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_RXEN_SHIFT)
+#define SLINK_COMMAND2_0_RXEN_RANGE 31:31
+#define SLINK_COMMAND2_0_RXEN_WOFFSET 0x0
+#define SLINK_COMMAND2_0_RXEN_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_RXEN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_RXEN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_RXEN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_RXEN_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_RXEN_ENABLE _MK_ENUM_CONST(1)
+
+// Transmit enable
+#define SLINK_COMMAND2_0_TXEN_SHIFT _MK_SHIFT_CONST(30)
+#define SLINK_COMMAND2_0_TXEN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_TXEN_SHIFT)
+#define SLINK_COMMAND2_0_TXEN_RANGE 30:30
+#define SLINK_COMMAND2_0_TXEN_WOFFSET 0x0
+#define SLINK_COMMAND2_0_TXEN_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_TXEN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_TXEN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_TXEN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_TXEN_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_TXEN_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = bi directional mode 0 = Normal mode
+#define SLINK_COMMAND2_0_SPC0_SHIFT _MK_SHIFT_CONST(29)
+#define SLINK_COMMAND2_0_SPC0_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_SPC0_SHIFT)
+#define SLINK_COMMAND2_0_SPC0_RANGE 29:29
+#define SLINK_COMMAND2_0_SPC0_WOFFSET 0x0
+#define SLINK_COMMAND2_0_SPC0_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SPC0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_SPC0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SPC0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SPC0_NORMAL _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_SPC0_BIDIR _MK_ENUM_CONST(1)
+
+// number of cycles between two packs in the DMA. Use of this field is deprecated. Use INT_SIZE 8 = number of cycles between 2 packs (Max)
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_SHIFT _MK_SHIFT_CONST(26)
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_FIELD (_MK_MASK_CONST(0x7) << SLINK_COMMAND2_0_WAIT_PACK_INT_SHIFT)
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_RANGE 28:26
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_WOFFSET 0x0
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_DEFAULT_MASK _MK_MASK_CONST(0x7)
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_WAIT_PACK_INT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Number of transfers the CS should stay low for word sizes more than 32.
+// This will enable to do the trasnfer of word sizes > 32 without using apb-dma
+// 0x00 For word_sizes 1 to 32
+// 0x01 For word_sizes 33 to 64
+// 0x10 For word sizes 65 to 96
+// 0x11 For word sizes 97 to 128
+#define SLINK_COMMAND2_0_FIFO_REFILLS_SHIFT _MK_SHIFT_CONST(22)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND2_0_FIFO_REFILLS_SHIFT)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_RANGE 23:22
+#define SLINK_COMMAND2_0_FIFO_REFILLS_WOFFSET 0x0
+#define SLINK_COMMAND2_0_FIFO_REFILLS_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL0 _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL1 _MK_ENUM_CONST(1)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL2 _MK_ENUM_CONST(2)
+#define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL3 _MK_ENUM_CONST(3)
+
+// number of cycles CS should stay inactive between packets 4 = number of cycles in setup for chip select (Max)
+#define SLINK_COMMAND2_0_SS_SETUP_SHIFT _MK_SHIFT_CONST(20)
+#define SLINK_COMMAND2_0_SS_SETUP_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND2_0_SS_SETUP_SHIFT)
+#define SLINK_COMMAND2_0_SS_SETUP_RANGE 21:20
+#define SLINK_COMMAND2_0_SS_SETUP_WOFFSET 0x0
+#define SLINK_COMMAND2_0_SS_SETUP_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SS_SETUP_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_COMMAND2_0_SS_SETUP_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SS_SETUP_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 11 = chip select3 10 = chip select2 01 = chip select1 00 = chip select0(def)
+#define SLINK_COMMAND2_0_SS_EN_SHIFT _MK_SHIFT_CONST(18)
+#define SLINK_COMMAND2_0_SS_EN_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND2_0_SS_EN_SHIFT)
+#define SLINK_COMMAND2_0_SS_EN_RANGE 19:18
+#define SLINK_COMMAND2_0_SS_EN_WOFFSET 0x0
+#define SLINK_COMMAND2_0_SS_EN_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SS_EN_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_COMMAND2_0_SS_EN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SS_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SS_EN_CS0 _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_SS_EN_CS1 _MK_ENUM_CONST(1)
+#define SLINK_COMMAND2_0_SS_EN_CS2 _MK_ENUM_CONST(2)
+#define SLINK_COMMAND2_0_SS_EN_CS3 _MK_ENUM_CONST(3)
+
+// 1 = CS active between two packets 0 = CS inactive between two packets
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SHIFT _MK_SHIFT_CONST(17)
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SHIFT)
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_RANGE 17:17
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_WOFFSET 0x0
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_LOW _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_HIGH _MK_ENUM_CONST(1)
+
+// number of IDLE cycles between two packets
+// 31 = thirty two cycles between 2 packets
+#define SLINK_COMMAND2_0_INT_SIZE_SHIFT _MK_SHIFT_CONST(8)
+#define SLINK_COMMAND2_0_INT_SIZE_FIELD (_MK_MASK_CONST(0x1f) << SLINK_COMMAND2_0_INT_SIZE_SHIFT)
+#define SLINK_COMMAND2_0_INT_SIZE_RANGE 12:8
+#define SLINK_COMMAND2_0_INT_SIZE_WOFFSET 0x0
+#define SLINK_COMMAND2_0_INT_SIZE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_INT_SIZE_DEFAULT_MASK _MK_MASK_CONST(0x1f)
+#define SLINK_COMMAND2_0_INT_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_INT_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Enable Modef 0 = Disable Modef (def)
+#define SLINK_COMMAND2_0_MODFEN_SHIFT _MK_SHIFT_CONST(7)
+#define SLINK_COMMAND2_0_MODFEN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_MODFEN_SHIFT)
+#define SLINK_COMMAND2_0_MODFEN_RANGE 7:7
+#define SLINK_COMMAND2_0_MODFEN_WOFFSET 0x0
+#define SLINK_COMMAND2_0_MODFEN_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_MODFEN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_MODFEN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_MODFEN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_MODFEN_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_MODFEN_ENABLE _MK_ENUM_CONST(1)
+
+// When set to 1 SLINK uses only one data line (mosi/miso) for Tx and Rx depending on Master/Slave mode.
+// This has effect only when SPC0 is set to 1
+// 1 = Enable Output buffer 0 = Disable Output buffer (def)
+#define SLINK_COMMAND2_0_BIDIROE_SHIFT _MK_SHIFT_CONST(6)
+#define SLINK_COMMAND2_0_BIDIROE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_BIDIROE_SHIFT)
+#define SLINK_COMMAND2_0_BIDIROE_RANGE 6:6
+#define SLINK_COMMAND2_0_BIDIROE_WOFFSET 0x0
+#define SLINK_COMMAND2_0_BIDIROE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_BIDIROE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_BIDIROE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_BIDIROE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_BIDIROE_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_BIDIROE_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = Enable SPIE interrupt 0 = Disable SPIE interrupt
+#define SLINK_COMMAND2_0_SPIE_SHIFT _MK_SHIFT_CONST(4)
+#define SLINK_COMMAND2_0_SPIE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_SPIE_SHIFT)
+#define SLINK_COMMAND2_0_SPIE_RANGE 4:4
+#define SLINK_COMMAND2_0_SPIE_WOFFSET 0x0
+#define SLINK_COMMAND2_0_SPIE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SPIE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_SPIE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SPIE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SPIE_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_SPIE_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = Enable 0 = Disable (def)
+#define SLINK_COMMAND2_0_SSOE_SHIFT _MK_SHIFT_CONST(1)
+#define SLINK_COMMAND2_0_SSOE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_SSOE_SHIFT)
+#define SLINK_COMMAND2_0_SSOE_RANGE 1:1
+#define SLINK_COMMAND2_0_SSOE_WOFFSET 0x0
+#define SLINK_COMMAND2_0_SSOE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SSOE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_SSOE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SSOE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_SSOE_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_SSOE_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = Transmit LSB first 0 = Transmit LSB last
+#define SLINK_COMMAND2_0_LSBFE_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_COMMAND2_0_LSBFE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_LSBFE_SHIFT)
+#define SLINK_COMMAND2_0_LSBFE_RANGE 0:0
+#define SLINK_COMMAND2_0_LSBFE_WOFFSET 0x0
+#define SLINK_COMMAND2_0_LSBFE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_LSBFE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_COMMAND2_0_LSBFE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_LSBFE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_COMMAND2_0_LSBFE_LAST _MK_ENUM_CONST(0)
+#define SLINK_COMMAND2_0_LSBFE_FIRST _MK_ENUM_CONST(1)
+
+
+// Register SLINK_STATUS_0
+#define SLINK_STATUS_0 _MK_ADDR_CONST(0x8)
+#define SLINK_STATUS_0_SECURE 0x0
+#define SLINK_STATUS_0_WORD_COUNT 0x1
+#define SLINK_STATUS_0_RESET_VAL _MK_MASK_CONST(0xa00000)
+#define SLINK_STATUS_0_RESET_MASK _MK_MASK_CONST(0xfffdffff)
+#define SLINK_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_READ_MASK _MK_MASK_CONST(0xfffdffff)
+#define SLINK_STATUS_0_WRITE_MASK _MK_MASK_CONST(0xfffdffff)
+// 1 = Controller is Busy 0 = Controller is Free
+#define SLINK_STATUS_0_BSY_SHIFT _MK_SHIFT_CONST(31)
+#define SLINK_STATUS_0_BSY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_BSY_SHIFT)
+#define SLINK_STATUS_0_BSY_RANGE 31:31
+#define SLINK_STATUS_0_BSY_WOFFSET 0x0
+#define SLINK_STATUS_0_BSY_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_BSY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_BSY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_BSY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_BSY_IDLE _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_BSY_BUSY _MK_ENUM_CONST(1)
+
+// 1= contoller is Ready for transfer 0 = controller is Busy. Write 1 to clear the flag
+#define SLINK_STATUS_0_RDY_SHIFT _MK_SHIFT_CONST(30)
+#define SLINK_STATUS_0_RDY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RDY_SHIFT)
+#define SLINK_STATUS_0_RDY_RANGE 30:30
+#define SLINK_STATUS_0_RDY_WOFFSET 0x0
+#define SLINK_STATUS_0_RDY_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RDY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_RDY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RDY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RDY_NOT_READY _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_RDY_READY _MK_ENUM_CONST(1)
+
+// Will be set to 1 by HW when Errors such as Underflow/overflow occurs.Write 1 to clear the flag
+#define SLINK_STATUS_0_ERR_SHIFT _MK_SHIFT_CONST(29)
+#define SLINK_STATUS_0_ERR_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_ERR_SHIFT)
+#define SLINK_STATUS_0_ERR_RANGE 29:29
+#define SLINK_STATUS_0_ERR_WOFFSET 0x0
+#define SLINK_STATUS_0_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_ERR_OK _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_ERR_ERROR _MK_ENUM_CONST(1)
+
+// SCLK input signal State
+#define SLINK_STATUS_0_SCLK_SHIFT _MK_SHIFT_CONST(28)
+#define SLINK_STATUS_0_SCLK_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_SCLK_SHIFT)
+#define SLINK_STATUS_0_SCLK_RANGE 28:28
+#define SLINK_STATUS_0_SCLK_WOFFSET 0x0
+#define SLINK_STATUS_0_SCLK_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_SCLK_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_SCLK_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_SCLK_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_SCLK_LOW _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_SCLK_HIGH _MK_ENUM_CONST(1)
+
+// Flush the RX FIFO
+#define SLINK_STATUS_0_RX_FLUSH_SHIFT _MK_SHIFT_CONST(27)
+#define SLINK_STATUS_0_RX_FLUSH_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_FLUSH_SHIFT)
+#define SLINK_STATUS_0_RX_FLUSH_RANGE 27:27
+#define SLINK_STATUS_0_RX_FLUSH_WOFFSET 0x0
+#define SLINK_STATUS_0_RX_FLUSH_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_FLUSH_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_RX_FLUSH_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_FLUSH_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_FLUSH_NOP _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_RX_FLUSH_FLUSH _MK_ENUM_CONST(1)
+
+// Flush the TX FIFO
+#define SLINK_STATUS_0_TX_FLUSH_SHIFT _MK_SHIFT_CONST(26)
+#define SLINK_STATUS_0_TX_FLUSH_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_FLUSH_SHIFT)
+#define SLINK_STATUS_0_TX_FLUSH_RANGE 26:26
+#define SLINK_STATUS_0_TX_FLUSH_WOFFSET 0x0
+#define SLINK_STATUS_0_TX_FLUSH_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_FLUSH_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_TX_FLUSH_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_FLUSH_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_FLUSH_NOP _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_TX_FLUSH_FLUSH _MK_ENUM_CONST(1)
+
+// RX FIFO Overflow
+#define SLINK_STATUS_0_RX_OVF_SHIFT _MK_SHIFT_CONST(25)
+#define SLINK_STATUS_0_RX_OVF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_OVF_SHIFT)
+#define SLINK_STATUS_0_RX_OVF_RANGE 25:25
+#define SLINK_STATUS_0_RX_OVF_WOFFSET 0x0
+#define SLINK_STATUS_0_RX_OVF_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_OVF_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_RX_OVF_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_OVF_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_OVF_OK _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_RX_OVF_ERROR _MK_ENUM_CONST(1)
+
+// TX FIFO Underflow
+#define SLINK_STATUS_0_TX_UNF_SHIFT _MK_SHIFT_CONST(24)
+#define SLINK_STATUS_0_TX_UNF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_UNF_SHIFT)
+#define SLINK_STATUS_0_TX_UNF_RANGE 24:24
+#define SLINK_STATUS_0_TX_UNF_WOFFSET 0x0
+#define SLINK_STATUS_0_TX_UNF_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_UNF_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_TX_UNF_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_UNF_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_UNF_OK _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_TX_UNF_ERROR _MK_ENUM_CONST(1)
+
+// RX FIFO Empty
+#define SLINK_STATUS_0_RX_EMPTY_SHIFT _MK_SHIFT_CONST(23)
+#define SLINK_STATUS_0_RX_EMPTY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_EMPTY_SHIFT)
+#define SLINK_STATUS_0_RX_EMPTY_RANGE 23:23
+#define SLINK_STATUS_0_RX_EMPTY_WOFFSET 0x0
+#define SLINK_STATUS_0_RX_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_RX_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_RX_EMPTY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_EMPTY_NOT_EMPTY _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_RX_EMPTY_EMPTY _MK_ENUM_CONST(1)
+
+// RX FIFO Full
+#define SLINK_STATUS_0_RX_FULL_SHIFT _MK_SHIFT_CONST(22)
+#define SLINK_STATUS_0_RX_FULL_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_FULL_SHIFT)
+#define SLINK_STATUS_0_RX_FULL_RANGE 22:22
+#define SLINK_STATUS_0_RX_FULL_WOFFSET 0x0
+#define SLINK_STATUS_0_RX_FULL_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_FULL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_RX_FULL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_FULL_NOT_FULL _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_RX_FULL_FULL _MK_ENUM_CONST(1)
+
+// TX FIFO Empty
+#define SLINK_STATUS_0_TX_EMPTY_SHIFT _MK_SHIFT_CONST(21)
+#define SLINK_STATUS_0_TX_EMPTY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_EMPTY_SHIFT)
+#define SLINK_STATUS_0_TX_EMPTY_RANGE 21:21
+#define SLINK_STATUS_0_TX_EMPTY_WOFFSET 0x0
+#define SLINK_STATUS_0_TX_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_TX_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_TX_EMPTY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_EMPTY_NOT_EMPTY _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_TX_EMPTY_EMPTY _MK_ENUM_CONST(1)
+
+// TX FIFO Full
+#define SLINK_STATUS_0_TX_FULL_SHIFT _MK_SHIFT_CONST(20)
+#define SLINK_STATUS_0_TX_FULL_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_FULL_SHIFT)
+#define SLINK_STATUS_0_TX_FULL_RANGE 20:20
+#define SLINK_STATUS_0_TX_FULL_WOFFSET 0x0
+#define SLINK_STATUS_0_TX_FULL_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_FULL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_TX_FULL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_FULL_NOT_FULL _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_TX_FULL_FULL _MK_ENUM_CONST(1)
+
+// TX FIFO Overflow
+#define SLINK_STATUS_0_TX_OVF_SHIFT _MK_SHIFT_CONST(19)
+#define SLINK_STATUS_0_TX_OVF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_OVF_SHIFT)
+#define SLINK_STATUS_0_TX_OVF_RANGE 19:19
+#define SLINK_STATUS_0_TX_OVF_WOFFSET 0x0
+#define SLINK_STATUS_0_TX_OVF_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_OVF_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_TX_OVF_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_OVF_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_TX_OVF_OK _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_TX_OVF_ERROR _MK_ENUM_CONST(1)
+
+// RX FIFO Underflow
+#define SLINK_STATUS_0_RX_UNF_SHIFT _MK_SHIFT_CONST(18)
+#define SLINK_STATUS_0_RX_UNF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_UNF_SHIFT)
+#define SLINK_STATUS_0_RX_UNF_RANGE 18:18
+#define SLINK_STATUS_0_RX_UNF_WOFFSET 0x0
+#define SLINK_STATUS_0_RX_UNF_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_UNF_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_RX_UNF_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_UNF_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_RX_UNF_OK _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_RX_UNF_ERROR _MK_ENUM_CONST(1)
+
+// Mode fault
+#define SLINK_STATUS_0_MODF_SHIFT _MK_SHIFT_CONST(16)
+#define SLINK_STATUS_0_MODF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_MODF_SHIFT)
+#define SLINK_STATUS_0_MODF_RANGE 16:16
+#define SLINK_STATUS_0_MODF_WOFFSET 0x0
+#define SLINK_STATUS_0_MODF_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_MODF_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_STATUS_0_MODF_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_MODF_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_MODF_OK _MK_ENUM_CONST(0)
+#define SLINK_STATUS_0_MODF_ERROR _MK_ENUM_CONST(1)
+
+// number of blocks transferred (BLOCK count) during dma
+#define SLINK_STATUS_0_BLK_CNT_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_STATUS_0_BLK_CNT_FIELD (_MK_MASK_CONST(0xffff) << SLINK_STATUS_0_BLK_CNT_SHIFT)
+#define SLINK_STATUS_0_BLK_CNT_RANGE 15:0
+#define SLINK_STATUS_0_BLK_CNT_WOFFSET 0x0
+#define SLINK_STATUS_0_BLK_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_BLK_CNT_DEFAULT_MASK _MK_MASK_CONST(0xffff)
+#define SLINK_STATUS_0_BLK_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_BLK_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// In GO mode indicates number of words transferred (word count)
+#define SLINK_STATUS_0_WORD_SHIFT _MK_SHIFT_CONST(5)
+#define SLINK_STATUS_0_WORD_FIELD (_MK_MASK_CONST(0x1f) << SLINK_STATUS_0_WORD_SHIFT)
+#define SLINK_STATUS_0_WORD_RANGE 9:5
+#define SLINK_STATUS_0_WORD_WOFFSET 0x0
+#define SLINK_STATUS_0_WORD_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_WORD_DEFAULT_MASK _MK_MASK_CONST(0x1f)
+#define SLINK_STATUS_0_WORD_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_WORD_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// In Go mode indicates mumber of bits trasnferred (bit count)
+#define SLINK_STATUS_0_COUNT_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_STATUS_0_COUNT_FIELD (_MK_MASK_CONST(0x1f) << SLINK_STATUS_0_COUNT_SHIFT)
+#define SLINK_STATUS_0_COUNT_RANGE 4:0
+#define SLINK_STATUS_0_COUNT_WOFFSET 0x0
+#define SLINK_STATUS_0_COUNT_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_COUNT_DEFAULT_MASK _MK_MASK_CONST(0x1f)
+#define SLINK_STATUS_0_COUNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS_0_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Reserved address 12 [0xc]
+
+// Register SLINK_MAS_DATA_0
+#define SLINK_MAS_DATA_0 _MK_ADDR_CONST(0x10)
+#define SLINK_MAS_DATA_0_SECURE 0x0
+#define SLINK_MAS_DATA_0_WORD_COUNT 0x1
+#define SLINK_MAS_DATA_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define SLINK_MAS_DATA_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_MAS_DATA_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_MAS_DATA_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_MAS_DATA_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_MAS_DATA_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Tx/Rx Shift Pattern
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_FIELD (_MK_MASK_CONST(0xffffffff) << SLINK_MAS_DATA_0_MASTER_BUFFER_SHIFT)
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_RANGE 31:0
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_WOFFSET 0x0
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_DEFAULT_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_MAS_DATA_0_MASTER_BUFFER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register SLINK_SLAVE_DATA_0
+#define SLINK_SLAVE_DATA_0 _MK_ADDR_CONST(0x14)
+#define SLINK_SLAVE_DATA_0_SECURE 0x0
+#define SLINK_SLAVE_DATA_0_WORD_COUNT 0x1
+#define SLINK_SLAVE_DATA_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define SLINK_SLAVE_DATA_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_SLAVE_DATA_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_SLAVE_DATA_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_SLAVE_DATA_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_SLAVE_DATA_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Tx/Rx Shift Pattern
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_FIELD (_MK_MASK_CONST(0xffffffff) << SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SHIFT)
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_RANGE 31:0
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_WOFFSET 0x0
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_DEFAULT_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register SLINK_DMA_CTL_0
+#define SLINK_DMA_CTL_0 _MK_ADDR_CONST(0x18)
+#define SLINK_DMA_CTL_0_SECURE 0x0
+#define SLINK_DMA_CTL_0_WORD_COUNT 0x1
+#define SLINK_DMA_CTL_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_RESET_MASK _MK_MASK_CONST(0x8c7fffff)
+#define SLINK_DMA_CTL_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_READ_MASK _MK_MASK_CONST(0x8c7fffff)
+#define SLINK_DMA_CTL_0_WRITE_MASK _MK_MASK_CONST(0x8c7fffff)
+// 1 = DMA mode is enabled, 0 = DMA disabled
+#define SLINK_DMA_CTL_0_DMA_EN_SHIFT _MK_SHIFT_CONST(31)
+#define SLINK_DMA_CTL_0_DMA_EN_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_DMA_EN_SHIFT)
+#define SLINK_DMA_CTL_0_DMA_EN_RANGE 31:31
+#define SLINK_DMA_CTL_0_DMA_EN_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_DMA_EN_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_DMA_EN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_DMA_CTL_0_DMA_EN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_DMA_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_DMA_EN_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_DMA_CTL_0_DMA_EN_ENABLE _MK_ENUM_CONST(1)
+
+// Interrupt enable on receive completion.
+// 1 = Enable interrupt generation at the end of a receive transfer.
+// 0 = Disable interrupt generation for receive.
+#define SLINK_DMA_CTL_0_IE_RXC_SHIFT _MK_SHIFT_CONST(27)
+#define SLINK_DMA_CTL_0_IE_RXC_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_IE_RXC_SHIFT)
+#define SLINK_DMA_CTL_0_IE_RXC_RANGE 27:27
+#define SLINK_DMA_CTL_0_IE_RXC_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_IE_RXC_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_IE_RXC_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_DMA_CTL_0_IE_RXC_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_IE_RXC_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_IE_RXC_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_DMA_CTL_0_IE_RXC_ENABLE _MK_ENUM_CONST(1)
+
+// Interrupt enable on transmit completion.
+// 1 = Enable interrupt generation at the end of a transmit transfer.
+// 0 = Disable interrupt generation for transmit.
+#define SLINK_DMA_CTL_0_IE_TXC_SHIFT _MK_SHIFT_CONST(26)
+#define SLINK_DMA_CTL_0_IE_TXC_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_IE_TXC_SHIFT)
+#define SLINK_DMA_CTL_0_IE_TXC_RANGE 26:26
+#define SLINK_DMA_CTL_0_IE_TXC_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_IE_TXC_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_IE_TXC_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_DMA_CTL_0_IE_TXC_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_IE_TXC_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_IE_TXC_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_DMA_CTL_0_IE_TXC_ENABLE _MK_ENUM_CONST(1)
+
+// Specifies the packet size during the DMA mode
+// 00 = 4 bits in a pack
+// 01 = 8bits in a pack
+// 10 = 16 in a pack
+// 10 = 32 in a pack
+#define SLINK_DMA_CTL_0_PACK_SIZE_SHIFT _MK_SHIFT_CONST(21)
+#define SLINK_DMA_CTL_0_PACK_SIZE_FIELD (_MK_MASK_CONST(0x3) << SLINK_DMA_CTL_0_PACK_SIZE_SHIFT)
+#define SLINK_DMA_CTL_0_PACK_SIZE_RANGE 22:21
+#define SLINK_DMA_CTL_0_PACK_SIZE_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_PACK_SIZE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_PACK_SIZE_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_DMA_CTL_0_PACK_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_PACK_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_PACK_SIZE_PACK4 _MK_ENUM_CONST(0)
+#define SLINK_DMA_CTL_0_PACK_SIZE_PACK8 _MK_ENUM_CONST(1)
+#define SLINK_DMA_CTL_0_PACK_SIZE_PACK16 _MK_ENUM_CONST(2)
+#define SLINK_DMA_CTL_0_PACK_SIZE_PACK32 _MK_ENUM_CONST(3)
+
+// Packed mode enable bit.
+// 1 = Packed mode is enabled. This is only valid if BIT_LENGTH in SBCX_COMMAND register is set to 3, 7, 15 or 31
+// When enabled, all 32-bits of data in the FIFO contains valid
+// data packets of either 8-bit or 16-bit length.
+// 0 = Packed mode is disabled.
+#define SLINK_DMA_CTL_0_PACKED_SHIFT _MK_SHIFT_CONST(20)
+#define SLINK_DMA_CTL_0_PACKED_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_PACKED_SHIFT)
+#define SLINK_DMA_CTL_0_PACKED_RANGE 20:20
+#define SLINK_DMA_CTL_0_PACKED_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_PACKED_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_PACKED_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define SLINK_DMA_CTL_0_PACKED_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_PACKED_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_PACKED_DISABLE _MK_ENUM_CONST(0)
+#define SLINK_DMA_CTL_0_PACKED_ENABLE _MK_ENUM_CONST(1)
+
+// Receive FIFO trigger level.
+// 00: 1 word. DMA trigger is asserted whenever there is at least 1 word in the RX FIFO.
+// 01: 4 word. DMA trigger is asserted when there are at least 4 words in the RX FIFO.
+// 10: 8 word. DMA trigger is asserted when there are at least 8 words in the RX FIFO.
+// 11: 16 word. DMA trigger is asserted when there are at least 16 words in the RX FIFO.
+#define SLINK_DMA_CTL_0_RX_TRIG_SHIFT _MK_SHIFT_CONST(18)
+#define SLINK_DMA_CTL_0_RX_TRIG_FIELD (_MK_MASK_CONST(0x3) << SLINK_DMA_CTL_0_RX_TRIG_SHIFT)
+#define SLINK_DMA_CTL_0_RX_TRIG_RANGE 19:18
+#define SLINK_DMA_CTL_0_RX_TRIG_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_RX_TRIG_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_RX_TRIG_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_DMA_CTL_0_RX_TRIG_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_RX_TRIG_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_RX_TRIG_TRIG1 _MK_ENUM_CONST(0)
+#define SLINK_DMA_CTL_0_RX_TRIG_TRIG4 _MK_ENUM_CONST(1)
+#define SLINK_DMA_CTL_0_RX_TRIG_TRIG8 _MK_ENUM_CONST(2)
+#define SLINK_DMA_CTL_0_RX_TRIG_TRIG16 _MK_ENUM_CONST(3)
+
+// Transmit FIFO trigger level.
+// 00: 1 word. DMA trigger is asserted whenever there is at least 1 word in the TX FIFO.
+// 01: 4 word. DMA trigger is asserted when there are at least 4 words in the TX FIFO.
+// 10: 8 word. DMA trigger is asserted when there are at least 8 words in the TX FIFO.
+// 11: 16 word. DMA trigger is asserted when there are at least 16 words in the TX FIFO.
+#define SLINK_DMA_CTL_0_TX_TRIG_SHIFT _MK_SHIFT_CONST(16)
+#define SLINK_DMA_CTL_0_TX_TRIG_FIELD (_MK_MASK_CONST(0x3) << SLINK_DMA_CTL_0_TX_TRIG_SHIFT)
+#define SLINK_DMA_CTL_0_TX_TRIG_RANGE 17:16
+#define SLINK_DMA_CTL_0_TX_TRIG_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_TX_TRIG_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_TX_TRIG_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define SLINK_DMA_CTL_0_TX_TRIG_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_TX_TRIG_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_TX_TRIG_TRIG1 _MK_ENUM_CONST(0)
+#define SLINK_DMA_CTL_0_TX_TRIG_TRIG4 _MK_ENUM_CONST(1)
+#define SLINK_DMA_CTL_0_TX_TRIG_TRIG8 _MK_ENUM_CONST(2)
+#define SLINK_DMA_CTL_0_TX_TRIG_TRIG16 _MK_ENUM_CONST(3)
+
+// N = N+1 packets
+// number of packets should be aligned in the packed mode trasnfers.
+// packed mode --> Number of packets
+// 3 multiple of 8
+// 7 multiple of 4
+// 15 multiple of 2
+// 31 from 0 to N
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_FIELD (_MK_MASK_CONST(0xffff) << SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SHIFT)
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_RANGE 15:0
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_WOFFSET 0x0
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_DEFAULT_MASK _MK_MASK_CONST(0xffff)
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register SLINK_STATUS2_0
+#define SLINK_STATUS2_0 _MK_ADDR_CONST(0x1c)
+#define SLINK_STATUS2_0_SECURE 0x0
+#define SLINK_STATUS2_0_WORD_COUNT 0x1
+#define SLINK_STATUS2_0_RESET_VAL _MK_MASK_CONST(0x20)
+#define SLINK_STATUS2_0_RESET_MASK _MK_MASK_CONST(0x3f003f)
+#define SLINK_STATUS2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_STATUS2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_STATUS2_0_READ_MASK _MK_MASK_CONST(0x3f003f)
+#define SLINK_STATUS2_0_WRITE_MASK _MK_MASK_CONST(0x3f003f)
+// Indicates the number of words in the receive FIFO
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SHIFT _MK_SHIFT_CONST(16)
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_FIELD (_MK_MASK_CONST(0x3f) << SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SHIFT)
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_RANGE 21:16
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_WOFFSET 0x0
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_DEFAULT_MASK _MK_MASK_CONST(0x3f)
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Indicates the number of empty slots in the transmit FIFO
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_FIELD (_MK_MASK_CONST(0x3f) << SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SHIFT)
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_RANGE 5:0
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_WOFFSET 0x0
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_DEFAULT _MK_MASK_CONST(0x20)
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_DEFAULT_MASK _MK_MASK_CONST(0x3f)
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Reserved address 32 [0x20]
+
+// Reserved address 36 [0x24]
+
+// Reserved address 40 [0x28]
+
+// Reserved address 44 [0x2c]
+
+// Reserved address 48 [0x30]
+
+// Reserved address 52 [0x34]
+
+// Reserved address 56 [0x38]
+
+// Reserved address 60 [0x3c]
+
+// Reserved address 64 [0x40]
+
+// Reserved address 68 [0x44]
+
+// Reserved address 72 [0x48]
+
+// Reserved address 76 [0x4c]
+
+// Reserved address 80 [0x50]
+
+// Reserved address 84 [0x54]
+
+// Reserved address 88 [0x58]
+
+// Reserved address 92 [0x5c]
+
+// Reserved address 96 [0x60]
+
+// Reserved address 100 [0x64]
+
+// Reserved address 104 [0x68]
+
+// Reserved address 108 [0x6c]
+
+// Reserved address 112 [0x70]
+
+// Reserved address 116 [0x74]
+
+// Reserved address 120 [0x78]
+
+// Reserved address 124 [0x7c]
+
+// Reserved address 128 [0x80]
+
+// Reserved address 132 [0x84]
+
+// Reserved address 136 [0x88]
+
+// Reserved address 140 [0x8c]
+
+// Reserved address 144 [0x90]
+
+// Reserved address 148 [0x94]
+
+// Reserved address 152 [0x98]
+
+// Reserved address 156 [0x9c]
+
+// Reserved address 160 [0xa0]
+
+// Reserved address 164 [0xa4]
+
+// Reserved address 168 [0xa8]
+
+// Reserved address 172 [0xac]
+
+// Reserved address 176 [0xb0]
+
+// Reserved address 180 [0xb4]
+
+// Reserved address 184 [0xb8]
+
+// Reserved address 188 [0xbc]
+
+// Reserved address 192 [0xc0]
+
+// Reserved address 196 [0xc4]
+
+// Reserved address 200 [0xc8]
+
+// Reserved address 204 [0xcc]
+
+// Reserved address 208 [0xd0]
+
+// Reserved address 212 [0xd4]
+
+// Reserved address 216 [0xd8]
+
+// Reserved address 220 [0xdc]
+
+// Reserved address 224 [0xe0]
+
+// Reserved address 228 [0xe4]
+
+// Reserved address 232 [0xe8]
+
+// Reserved address 236 [0xec]
+
+// Reserved address 240 [0xf0]
+
+// Reserved address 244 [0xf4]
+
+// Reserved address 248 [0xf8]
+
+// Reserved address 252 [0xfc]
+
+// Register SLINK_TX_FIFO_0
+#define SLINK_TX_FIFO_0 _MK_ADDR_CONST(0x100)
+#define SLINK_TX_FIFO_0_SECURE 0x0
+#define SLINK_TX_FIFO_0_WORD_COUNT 0x1
+#define SLINK_TX_FIFO_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define SLINK_TX_FIFO_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_TX_FIFO_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_TX_FIFO_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_TX_FIFO_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_TX_FIFO_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Tx/Rx Shift Pattern
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_FIELD (_MK_MASK_CONST(0xffffffff) << SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SHIFT)
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_RANGE 31:0
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_WOFFSET 0x0
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_DEFAULT_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Reserved address 260 [0x104]
+
+// Reserved address 264 [0x108]
+
+// Reserved address 268 [0x10c]
+
+// Reserved address 272 [0x110]
+
+// Reserved address 276 [0x114]
+
+// Reserved address 280 [0x118]
+
+// Reserved address 284 [0x11c]
+
+// Reserved address 288 [0x120]
+
+// Reserved address 292 [0x124]
+
+// Reserved address 296 [0x128]
+
+// Reserved address 300 [0x12c]
+
+// Reserved address 304 [0x130]
+
+// Reserved address 308 [0x134]
+
+// Reserved address 312 [0x138]
+
+// Reserved address 316 [0x13c]
+
+// Reserved address 320 [0x140]
+
+// Reserved address 324 [0x144]
+
+// Reserved address 328 [0x148]
+
+// Reserved address 332 [0x14c]
+
+// Reserved address 336 [0x150]
+
+// Reserved address 340 [0x154]
+
+// Reserved address 344 [0x158]
+
+// Reserved address 348 [0x15c]
+
+// Reserved address 352 [0x160]
+
+// Reserved address 356 [0x164]
+
+// Reserved address 360 [0x168]
+
+// Reserved address 364 [0x16c]
+
+// Reserved address 368 [0x170]
+
+// Reserved address 372 [0x174]
+
+// Reserved address 376 [0x178]
+
+// Reserved address 380 [0x17c]
+
+// Register SLINK_RX_FIFO_0
+#define SLINK_RX_FIFO_0 _MK_ADDR_CONST(0x180)
+#define SLINK_RX_FIFO_0_SECURE 0x0
+#define SLINK_RX_FIFO_0_WORD_COUNT 0x1
+#define SLINK_RX_FIFO_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define SLINK_RX_FIFO_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_RX_FIFO_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define SLINK_RX_FIFO_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define SLINK_RX_FIFO_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_RX_FIFO_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Tx/Rx Shift Pattern
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SHIFT _MK_SHIFT_CONST(0)
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_FIELD (_MK_MASK_CONST(0xffffffff) << SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SHIFT)
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_RANGE 31:0
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_WOFFSET 0x0
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_DEFAULT_MASK _MK_MASK_CONST(0xffffffff)
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+//
+// REGISTER LIST
+//
+#define LIST_ARSLINK_REGS(_op_) \
+_op_(SLINK_COMMAND_0) \
+_op_(SLINK_COMMAND2_0) \
+_op_(SLINK_STATUS_0) \
+_op_(SLINK_MAS_DATA_0) \
+_op_(SLINK_SLAVE_DATA_0) \
+_op_(SLINK_DMA_CTL_0) \
+_op_(SLINK_STATUS2_0) \
+_op_(SLINK_TX_FIFO_0) \
+_op_(SLINK_RX_FIFO_0)
+
+
+//
+// ADDRESS SPACES
+//
+
+#define BASE_ADDRESS_SLINK 0x00000000
+
+//
+// ARSLINK REGISTER BANKS
+//
+
+#define SLINK0_FIRST_REG 0x0000 // SLINK_COMMAND_0
+#define SLINK0_LAST_REG 0x0008 // SLINK_STATUS_0
+#define SLINK1_FIRST_REG 0x0010 // SLINK_MAS_DATA_0
+#define SLINK1_LAST_REG 0x001c // SLINK_STATUS2_0
+#define SLINK2_FIRST_REG 0x0100 // SLINK_TX_FIFO_0
+#define SLINK2_LAST_REG 0x0100 // SLINK_TX_FIFO_0
+#define SLINK3_FIRST_REG 0x0180 // SLINK_RX_FIFO_0
+#define SLINK3_LAST_REG 0x0180 // SLINK_RX_FIFO_0
+
+#ifndef _MK_SHIFT_CONST
+ #define _MK_SHIFT_CONST(_constant_) _constant_
+#endif
+#ifndef _MK_MASK_CONST
+ #define _MK_MASK_CONST(_constant_) _constant_
+#endif
+#ifndef _MK_ENUM_CONST
+ #define _MK_ENUM_CONST(_constant_) (_constant_ ## UL)
+#endif
+#ifndef _MK_ADDR_CONST
+ #define _MK_ADDR_CONST(_constant_) _constant_
+#endif
+
+#endif // ifndef ___ARSLINK_H_INC_