Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / arch / avr32 / cpu / hsdramc1.h
diff --git a/qemu/roms/u-boot/arch/avr32/cpu/hsdramc1.h b/qemu/roms/u-boot/arch/avr32/cpu/hsdramc1.h
new file mode 100644 (file)
index 0000000..e18e074
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ * Register definitions for SDRAM Controller
+ */
+#ifndef __ASM_AVR32_HSDRAMC1_H__
+#define __ASM_AVR32_HSDRAMC1_H__
+
+/* HSDRAMC1 register offsets */
+#define HSDRAMC1_MR                            0x0000
+#define HSDRAMC1_TR                            0x0004
+#define HSDRAMC1_CR                            0x0008
+#define HSDRAMC1_HSR                           0x000c
+#define HSDRAMC1_LPR                           0x0010
+#define HSDRAMC1_IER                           0x0014
+#define HSDRAMC1_IDR                           0x0018
+#define HSDRAMC1_IMR                           0x001c
+#define HSDRAMC1_ISR                           0x0020
+#define HSDRAMC1_MDR                           0x0024
+#define HSDRAMC1_VERSION                       0x00fc
+
+/* Bitfields in MR */
+#define HSDRAMC1_MODE_OFFSET                   0
+#define HSDRAMC1_MODE_SIZE                     3
+
+/* Bitfields in TR */
+#define HSDRAMC1_COUNT_OFFSET                  0
+#define HSDRAMC1_COUNT_SIZE                    12
+
+/* Bitfields in CR */
+#define HSDRAMC1_NC_OFFSET                     0
+#define HSDRAMC1_NC_SIZE                       2
+#define HSDRAMC1_NR_OFFSET                     2
+#define HSDRAMC1_NR_SIZE                       2
+#define HSDRAMC1_NB_OFFSET                     4
+#define HSDRAMC1_NB_SIZE                       1
+#define HSDRAMC1_CAS_OFFSET                    5
+#define HSDRAMC1_CAS_SIZE                      2
+#define HSDRAMC1_DBW_OFFSET                    7
+#define HSDRAMC1_DBW_SIZE                      1
+#define HSDRAMC1_TWR_OFFSET                    8
+#define HSDRAMC1_TWR_SIZE                      4
+#define HSDRAMC1_TRC_OFFSET                    12
+#define HSDRAMC1_TRC_SIZE                      4
+#define HSDRAMC1_TRP_OFFSET                    16
+#define HSDRAMC1_TRP_SIZE                      4
+#define HSDRAMC1_TRCD_OFFSET                   20
+#define HSDRAMC1_TRCD_SIZE                     4
+#define HSDRAMC1_TRAS_OFFSET                   24
+#define HSDRAMC1_TRAS_SIZE                     4
+#define HSDRAMC1_TXSR_OFFSET                   28
+#define HSDRAMC1_TXSR_SIZE                     4
+
+/* Bitfields in HSR */
+#define HSDRAMC1_DA_OFFSET                     0
+#define HSDRAMC1_DA_SIZE                       1
+
+/* Bitfields in LPR */
+#define HSDRAMC1_LPCB_OFFSET                   0
+#define HSDRAMC1_LPCB_SIZE                     2
+#define HSDRAMC1_PASR_OFFSET                   4
+#define HSDRAMC1_PASR_SIZE                     3
+#define HSDRAMC1_TCSR_OFFSET                   8
+#define HSDRAMC1_TCSR_SIZE                     2
+#define HSDRAMC1_DS_OFFSET                     10
+#define HSDRAMC1_DS_SIZE                       2
+#define HSDRAMC1_TIMEOUT_OFFSET                        12
+#define HSDRAMC1_TIMEOUT_SIZE                  2
+
+/* Bitfields in IDR */
+#define HSDRAMC1_RES_OFFSET                    0
+#define HSDRAMC1_RES_SIZE                      1
+
+/* Bitfields in MDR */
+#define HSDRAMC1_MD_OFFSET                     0
+#define HSDRAMC1_MD_SIZE                       2
+
+/* Bitfields in VERSION */
+#define HSDRAMC1_VERSION_OFFSET                        0
+#define HSDRAMC1_VERSION_SIZE                  12
+#define HSDRAMC1_MFN_OFFSET                    16
+#define HSDRAMC1_MFN_SIZE                      3
+
+/* Constants for MODE */
+#define HSDRAMC1_MODE_NORMAL                   0
+#define HSDRAMC1_MODE_NOP                      1
+#define HSDRAMC1_MODE_BANKS_PRECHARGE          2
+#define HSDRAMC1_MODE_LOAD_MODE                        3
+#define HSDRAMC1_MODE_AUTO_REFRESH             4
+#define HSDRAMC1_MODE_EXT_LOAD_MODE            5
+#define HSDRAMC1_MODE_POWER_DOWN               6
+
+/* Constants for NC */
+#define HSDRAMC1_NC_8_COLUMN_BITS              0
+#define HSDRAMC1_NC_9_COLUMN_BITS              1
+#define HSDRAMC1_NC_10_COLUMN_BITS             2
+#define HSDRAMC1_NC_11_COLUMN_BITS             3
+
+/* Constants for NR */
+#define HSDRAMC1_NR_11_ROW_BITS                        0
+#define HSDRAMC1_NR_12_ROW_BITS                        1
+#define HSDRAMC1_NR_13_ROW_BITS                        2
+
+/* Constants for NB */
+#define HSDRAMC1_NB_TWO_BANKS                  0
+#define HSDRAMC1_NB_FOUR_BANKS                 1
+
+/* Constants for CAS */
+#define HSDRAMC1_CAS_ONE_CYCLE                 1
+#define HSDRAMC1_CAS_TWO_CYCLES                        2
+
+/* Constants for DBW */
+#define HSDRAMC1_DBW_32_BITS                   0
+#define HSDRAMC1_DBW_16_BITS                   1
+
+/* Constants for TIMEOUT */
+#define HSDRAMC1_TIMEOUT_AFTER_END             0
+#define HSDRAMC1_TIMEOUT_64_CYC_AFTER_END      1
+#define HSDRAMC1_TIMEOUT_128_CYC_AFTER_END     2
+
+/* Constants for MD */
+#define HSDRAMC1_MD_SDRAM                      0
+#define HSDRAMC1_MD_LOW_POWER_SDRAM            1
+
+/* Bit manipulation macros */
+#define HSDRAMC1_BIT(name)                                     \
+       (1 << HSDRAMC1_##name##_OFFSET)
+#define HSDRAMC1_BF(name,value)                                        \
+       (((value) & ((1 << HSDRAMC1_##name##_SIZE) - 1))        \
+        << HSDRAMC1_##name##_OFFSET)
+#define HSDRAMC1_BFEXT(name,value)                             \
+       (((value) >> HSDRAMC1_##name##_OFFSET)                  \
+        & ((1 << HSDRAMC1_##name##_SIZE) - 1))
+#define HSDRAMC1_BFINS(name,value,old)                         \
+       (((old) & ~(((1 << HSDRAMC1_##name##_SIZE) - 1)         \
+                   << HSDRAMC1_##name##_OFFSET))               \
+        | HSDRAMC1_BF(name,value))
+
+/* Register access macros */
+#define hsdramc1_readl(reg)                                    \
+       readl((void *)ATMEL_BASE_HSDRAMC + HSDRAMC1_##reg)
+#define hsdramc1_writel(reg,value)                             \
+       writel((value), (void *)ATMEL_BASE_HSDRAMC + HSDRAMC1_##reg)
+
+#endif /* __ASM_AVR32_HSDRAMC1_H__ */