Index: arch/arm/mach-tegra/nv/include/ap20/arfic_proc_if.h |
diff --git a/arch/arm/mach-tegra/nv/include/ap20/arfic_proc_if.h b/arch/arm/mach-tegra/nv/include/ap20/arfic_proc_if.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e1367952c33d2169851b878dc1007acb41188590 |
--- /dev/null |
+++ b/arch/arm/mach-tegra/nv/include/ap20/arfic_proc_if.h |
@@ -0,0 +1,442 @@ |
+/* |
+ * 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 ___ARFIC_PROC_IF_H_INC_ |
+#define ___ARFIC_PROC_IF_H_INC_ |
+ |
+// Register FIC_PROC_IF_CONTROL_0 |
+#define FIC_PROC_IF_CONTROL_0 _MK_ADDR_CONST(0x100) |
+#define FIC_PROC_IF_CONTROL_0_SECURE 0x0 |
+#define FIC_PROC_IF_CONTROL_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_CONTROL_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_RESET_MASK _MK_MASK_CONST(0x1f) |
+#define FIC_PROC_IF_CONTROL_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_READ_MASK _MK_MASK_CONST(0x1f) |
+#define FIC_PROC_IF_CONTROL_0_WRITE_MASK _MK_MASK_CONST(0x1f) |
+// Secure enable for the Cortex-A9 processor interface |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_SHIFT _MK_SHIFT_CONST(0) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_FIELD (_MK_MASK_CONST(0x1) << FIC_PROC_IF_CONTROL_0_ENABLE_S_SHIFT) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_RANGE 0:0 |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_WOFFSET 0x0 |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_DEFAULT_MASK _MK_MASK_CONST(0x1) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_S_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// Non-secure enable for the Cortex-A9 processor interface |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_SHIFT _MK_SHIFT_CONST(1) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_FIELD (_MK_MASK_CONST(0x1) << FIC_PROC_IF_CONTROL_0_ENABLE_NS_SHIFT) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_RANGE 1:1 |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_WOFFSET 0x0 |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_DEFAULT_MASK _MK_MASK_CONST(0x1) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_ENABLE_NS_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// When a Cortex-A9 processor performs a secure read of |
+// the int_ack Register and the highest |
+// priority interrupt is non-secure, this bit controls |
+// the acknowledge response as follows: |
+// 0 = The Cortex-A9 processor interface returns an INTID |
+// value of 1022 and the interrupt remains Pending. |
+// 1 = The Cortex-A9 processor interface returns the INTID |
+// value of the non-secure interrupt and |
+// acknowledges the interrupt. The interrupt changes state |
+// to Active, or Active-and-pending. |
+// When a Cortex-A9 processor performs a secure write to |
+// the EOI Register to signal the completion |
+// of a non-secure interrupt, this bit controls if the |
+// Interrupt Controller clears the interrupt as follows: |
+// 0 = the Interrupt Controller ignores the write and the |
+// interrupt remains Active, or |
+// Active-and-pending |
+// 1 = the Interrupt Controller changes the interrupt |
+// status to Inactive, or Pending. |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_SHIFT _MK_SHIFT_CONST(2) |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_FIELD (_MK_MASK_CONST(0x1) << FIC_PROC_IF_CONTROL_0_ACK_CTL_SHIFT) |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_RANGE 2:2 |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_WOFFSET 0x0 |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_DEFAULT_MASK _MK_MASK_CONST(0x1) |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_ACK_CTL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// Enables the Cortex-A9 processor interface to send |
+// secure interrupts using the nFIQ signal. |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_SHIFT _MK_SHIFT_CONST(3) |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_FIELD (_MK_MASK_CONST(0x1) << FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_SHIFT) |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_RANGE 3:3 |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_WOFFSET 0x0 |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_DEFAULT_MASK _MK_MASK_CONST(0x1) |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_FIQ_ENABLE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// Controls which Binary Pointer Register the Cortex-A9 |
+// processor interface uses when it performs |
+// a pre-emptive calculation. The options are: |
+// 0 = secure interrupts use the bin_pt_s Register and |
+// non-secure interrupts use the bin_pt_ns Register |
+// 1 = secure read and writes access the secure binary |
+// point register directly. Non-secure writes are |
+// ignored, and non-secure reads return the value in the |
+// secure binary point register plus 1, with the |
+// addition saturating at a value of 7. |
+#define FIC_PROC_IF_CONTROL_0_SBPR_SHIFT _MK_SHIFT_CONST(4) |
+#define FIC_PROC_IF_CONTROL_0_SBPR_FIELD (_MK_MASK_CONST(0x1) << FIC_PROC_IF_CONTROL_0_SBPR_SHIFT) |
+#define FIC_PROC_IF_CONTROL_0_SBPR_RANGE 4:4 |
+#define FIC_PROC_IF_CONTROL_0_SBPR_WOFFSET 0x0 |
+#define FIC_PROC_IF_CONTROL_0_SBPR_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_SBPR_DEFAULT_MASK _MK_MASK_CONST(0x1) |
+#define FIC_PROC_IF_CONTROL_0_SBPR_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CONTROL_0_SBPR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_PRIORITY_MASK_0 |
+#define FIC_PROC_IF_PRIORITY_MASK_0 _MK_ADDR_CONST(0x104) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_SECURE 0x0 |
+#define FIC_PROC_IF_PRIORITY_MASK_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_PRIORITY_MASK_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_RESET_MASK _MK_MASK_CONST(0xf8) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_READ_MASK _MK_MASK_CONST(0xf8) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_WRITE_MASK _MK_MASK_CONST(0xf8) |
+// Configures the priorty mask level for the Cortex-A9 processor. |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_SHIFT _MK_SHIFT_CONST(3) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_FIELD (_MK_MASK_CONST(0x1f) << FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_SHIFT) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_RANGE 7:3 |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_WOFFSET 0x0 |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_DEFAULT_MASK _MK_MASK_CONST(0x1f) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_PRIORITY_MASK_0_PRIORITY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_BIN_PT_0 |
+#define FIC_PROC_IF_BIN_PT_0 _MK_ADDR_CONST(0x108) |
+#define FIC_PROC_IF_BIN_PT_0_SECURE 0x0 |
+#define FIC_PROC_IF_BIN_PT_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_BIN_PT_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_BIN_PT_0_RESET_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_BIN_PT_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_BIN_PT_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_BIN_PT_0_READ_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_BIN_PT_0_WRITE_MASK _MK_MASK_CONST(0x7) |
+// Configures the value of the binary point mask. |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_SHIFT _MK_SHIFT_CONST(0) |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_FIELD (_MK_MASK_CONST(0x7) << FIC_PROC_IF_BIN_PT_0_BINARY_POINT_SHIFT) |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_RANGE 2:0 |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_WOFFSET 0x0 |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_DEFAULT_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_BIN_PT_0_BINARY_POINT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_INT_ACK_0 |
+#define FIC_PROC_IF_INT_ACK_0 _MK_ADDR_CONST(0x10c) |
+#define FIC_PROC_IF_INT_ACK_0_SECURE 0x0 |
+#define FIC_PROC_IF_INT_ACK_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_INT_ACK_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_RESET_MASK _MK_MASK_CONST(0x1fff) |
+#define FIC_PROC_IF_INT_ACK_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_READ_MASK _MK_MASK_CONST(0x1fff) |
+#define FIC_PROC_IF_INT_ACK_0_WRITE_MASK _MK_MASK_CONST(0x0) |
+// Returns the INTID of the interrupt that requries |
+// servicing by the Cortex-A9 processor : |
+// 15-0 = STI[15:0] |
+// 31-16 = PPI[15:0] |
+// 255-32 = SPI[223:0] |
+// 1020 = reserved |
+// 1021 = reserved |
+// 1022 = the highest priority interrutp that requires |
+// servicing is non-secure |
+// 1023 = no outstanding interrupts |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_SHIFT _MK_SHIFT_CONST(0) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_FIELD (_MK_MASK_CONST(0x3ff) << FIC_PROC_IF_INT_ACK_0_ACK_INTID_SHIFT) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_RANGE 9:0 |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_WOFFSET 0x0 |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_DEFAULT_MASK _MK_MASK_CONST(0x3ff) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_STI_LOW _MK_ENUM_CONST(0) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_STI_HIGH _MK_ENUM_CONST(15) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_PPI_LOW _MK_ENUM_CONST(16) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_PPI_HIGH _MK_ENUM_CONST(31) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_SPI_LOW _MK_ENUM_CONST(32) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_SPI_HIGH _MK_ENUM_CONST(160) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_HIGHEST_PRI_NONSECURE _MK_ENUM_CONST(1022) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_INTID_NO_OUTSTANDING_INTR _MK_ENUM_CONST(1023) |
+ |
+// Returns the CPUID of the Cortex-A9 processor that |
+// requested the software interrupt |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_SHIFT _MK_SHIFT_CONST(10) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_FIELD (_MK_MASK_CONST(0x7) << FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_SHIFT) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_RANGE 12:10 |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_WOFFSET 0x0 |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_DEFAULT_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_INT_ACK_0_ACK_SOURCE_CPUID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_EOI_0 |
+#define FIC_PROC_IF_EOI_0 _MK_ADDR_CONST(0x110) |
+#define FIC_PROC_IF_EOI_0_SECURE 0x0 |
+#define FIC_PROC_IF_EOI_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_EOI_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_RESET_MASK _MK_MASK_CONST(0x1fff) |
+#define FIC_PROC_IF_EOI_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_READ_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_WRITE_MASK _MK_MASK_CONST(0x1fff) |
+// After the Cortex-A9 processor completes its interrupt |
+// service routine, it sets this field to the |
+// INTID of the interrupt that it serviced: |
+// 15-0 = STI[15:0] |
+// 31-16 = PPI[15:0] |
+// 255-32 = SPI[223:0] |
+// 1023-1020 = reserved |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_SHIFT _MK_SHIFT_CONST(0) |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_FIELD (_MK_MASK_CONST(0x3ff) << FIC_PROC_IF_EOI_0_EOI_INTID_SHIFT) |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_RANGE 9:0 |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_WOFFSET 0x0 |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_DEFAULT_MASK _MK_MASK_CONST(0x3ff) |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_EOI_INTID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// After the Cortex-A9 processor completes the interrupt |
+// service routine for an STI, it sets this to the source |
+// CPUID of the STI that it serviced |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_SHIFT _MK_SHIFT_CONST(10) |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_FIELD (_MK_MASK_CONST(0x7) << FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_SHIFT) |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_RANGE 12:10 |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_WOFFSET 0x0 |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_DEFAULT_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_EOI_0_EOI_SOURCE_CPUID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_RUN_PRIORITY_0 |
+#define FIC_PROC_IF_RUN_PRIORITY_0 _MK_ADDR_CONST(0x114) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_SECURE 0x0 |
+#define FIC_PROC_IF_RUN_PRIORITY_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RESET_MASK _MK_MASK_CONST(0xf0) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_READ_MASK _MK_MASK_CONST(0xf0) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_WRITE_MASK _MK_MASK_CONST(0x0) |
+// Returns the priority level of the highest priority |
+// interrupt that is running on the Cortex-A9 processor |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_SHIFT _MK_SHIFT_CONST(4) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_FIELD (_MK_MASK_CONST(0xf) << FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_SHIFT) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_RANGE 7:4 |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_WOFFSET 0x0 |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_DEFAULT_MASK _MK_MASK_CONST(0xf) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_RUN_PRIORITY_0_RUN_PRIORITY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_HI_PEND_0 |
+#define FIC_PROC_IF_HI_PEND_0 _MK_ADDR_CONST(0x118) |
+#define FIC_PROC_IF_HI_PEND_0_SECURE 0x0 |
+#define FIC_PROC_IF_HI_PEND_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_HI_PEND_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_RESET_MASK _MK_MASK_CONST(0x1fff) |
+#define FIC_PROC_IF_HI_PEND_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_READ_MASK _MK_MASK_CONST(0x1fff) |
+#define FIC_PROC_IF_HI_PEND_0_WRITE_MASK _MK_MASK_CONST(0x0) |
+// Returns the INTID of the highest priority pending interrupt |
+// 15-0 = STI[15:0] |
+// 31-16 = PPI[15:0] |
+// 255-32 = SPI[223:0] |
+// 1020 = reserved |
+// 1021 = reserved |
+// 1022 = the highest priority interrupT that requires |
+// servicing is non-secure |
+// 1023 = no outstanding interrupts |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_SHIFT _MK_SHIFT_CONST(0) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_FIELD (_MK_MASK_CONST(0x3ff) << FIC_PROC_IF_HI_PEND_0_PEND_INTID_SHIFT) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_RANGE 9:0 |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_WOFFSET 0x0 |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_DEFAULT_MASK _MK_MASK_CONST(0x3ff) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_STI_LOW _MK_ENUM_CONST(0) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_STI_HIGH _MK_ENUM_CONST(15) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_PPI_LOW _MK_ENUM_CONST(16) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_PPI_HIGH _MK_ENUM_CONST(31) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_SPI_LOW _MK_ENUM_CONST(32) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_SPI_HIGH _MK_ENUM_CONST(160) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_HIGHEST_PRI_NONSECURE _MK_ENUM_CONST(1022) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_INTID_NO_OUTSTANDING_INTR _MK_ENUM_CONST(1023) |
+ |
+// Returns the CPUID of the Cortex-A9 processor that is |
+// requesting the software interrupt |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_SHIFT _MK_SHIFT_CONST(10) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_FIELD (_MK_MASK_CONST(0x7) << FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_SHIFT) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_RANGE 12:10 |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_WOFFSET 0x0 |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_DEFAULT_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_HI_PEND_0_PEND_SOURCE_CPUID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_ALIAS_BIN_PT_NS_0 |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0 _MK_ADDR_CONST(0x11c) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_SECURE 0x0 |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_RESET_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_RESET_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_READ_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_WRITE_MASK _MK_MASK_CONST(0x7) |
+// Alias of the BIN_PT_NS regiter. Only accessible in secure mode |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_SHIFT _MK_SHIFT_CONST(0) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_FIELD (_MK_MASK_CONST(0x7) << FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_SHIFT) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_RANGE 2:0 |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_WOFFSET 0x0 |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_DEFAULT_MASK _MK_MASK_CONST(0x7) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_ALIAS_BIN_PT_NS_0_BINARY_POINT_NS_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// Register FIC_PROC_IF_CPU_IF_IDENT_0 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0 _MK_ADDR_CONST(0x120) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_SECURE 0x0 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_WORD_COUNT 0x1 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_RESET_VAL _MK_MASK_CONST(0x3901043b) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_RESET_MASK _MK_MASK_CONST(0xffffffff) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_READ_MASK _MK_MASK_CONST(0xffffffff) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_WRITE_MASK _MK_MASK_CONST(0x0) |
+// Returns the JEP106 code of the company that implemented |
+// the Cortex-A9 processor interface RTL. |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_SHIFT _MK_SHIFT_CONST(0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_FIELD (_MK_MASK_CONST(0xfff) << FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_SHIFT) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_RANGE 11:0 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_WOFFSET 0x0 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_DEFAULT _MK_MASK_CONST(0x43b) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_DEFAULT_MASK _MK_MASK_CONST(0xfff) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_IMPLEMENTOR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// Returns the revision number of the Interrupt Controller |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_SHIFT _MK_SHIFT_CONST(12) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_FIELD (_MK_MASK_CONST(0xf) << FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_SHIFT) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_RANGE 15:12 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_WOFFSET 0x0 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_DEFAULT_MASK _MK_MASK_CONST(0xf) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_REVISION_NUMBER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// Identifies the architecture version |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_SHIFT _MK_SHIFT_CONST(16) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_FIELD (_MK_MASK_CONST(0xf) << FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_SHIFT) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_RANGE 19:16 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_WOFFSET 0x0 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_DEFAULT _MK_MASK_CONST(0x1) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_DEFAULT_MASK _MK_MASK_CONST(0xf) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_ARCHITECTURE_VERSION_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+// Identifies the peripheral |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_SHIFT _MK_SHIFT_CONST(20) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_FIELD (_MK_MASK_CONST(0xfff) << FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_SHIFT) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_RANGE 31:20 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_WOFFSET 0x0 |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_DEFAULT _MK_MASK_CONST(0x390) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_DEFAULT_MASK _MK_MASK_CONST(0xfff) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_SW_DEFAULT _MK_MASK_CONST(0x0) |
+#define FIC_PROC_IF_CPU_IF_IDENT_0_PART_NUMBER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
+ |
+ |
+// |
+// REGISTER LIST |
+// |
+#define LIST_ARFIC_PROC_IF_REGS(_op_) \ |
+_op_(FIC_PROC_IF_CONTROL_0) \ |
+_op_(FIC_PROC_IF_PRIORITY_MASK_0) \ |
+_op_(FIC_PROC_IF_BIN_PT_0) \ |
+_op_(FIC_PROC_IF_INT_ACK_0) \ |
+_op_(FIC_PROC_IF_EOI_0) \ |
+_op_(FIC_PROC_IF_RUN_PRIORITY_0) \ |
+_op_(FIC_PROC_IF_HI_PEND_0) \ |
+_op_(FIC_PROC_IF_ALIAS_BIN_PT_NS_0) \ |
+_op_(FIC_PROC_IF_CPU_IF_IDENT_0) |
+ |
+ |
+// |
+// ADDRESS SPACES |
+// |
+ |
+#define BASE_ADDRESS_FIC_PROC_IF 0x00000100 |
+ |
+// |
+// ARFIC_PROC_IF REGISTER BANKS |
+// |
+ |
+#define FIC_PROC_IF0_FIRST_REG 0x0100 // FIC_PROC_IF_CONTROL_0 |
+#define FIC_PROC_IF0_LAST_REG 0x0120 // FIC_PROC_IF_CPU_IF_IDENT_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 ___ARFIC_PROC_IF_H_INC_ |