Logo Search packages:      
Sourcecode: linux version File versions  Download package

hmatrix.h

/*
 * Register definitions for High-Speed Bus Matrix
 */
#ifndef __HMATRIX_H
#define __HMATRIX_H

/* HMATRIX register offsets */
#define HMATRIX_MCFG0                     0x0000
#define HMATRIX_MCFG1                     0x0004
#define HMATRIX_MCFG2                     0x0008
#define HMATRIX_MCFG3                     0x000c
#define HMATRIX_MCFG4                     0x0010
#define HMATRIX_MCFG5                     0x0014
#define HMATRIX_MCFG6                     0x0018
#define HMATRIX_MCFG7                     0x001c
#define HMATRIX_MCFG8                     0x0020
#define HMATRIX_MCFG9                     0x0024
#define HMATRIX_MCFG10                    0x0028
#define HMATRIX_MCFG11                    0x002c
#define HMATRIX_MCFG12                    0x0030
#define HMATRIX_MCFG13                    0x0034
#define HMATRIX_MCFG14                    0x0038
#define HMATRIX_MCFG15                    0x003c
#define HMATRIX_SCFG0                     0x0040
#define HMATRIX_SCFG1                     0x0044
#define HMATRIX_SCFG2                     0x0048
#define HMATRIX_SCFG3                     0x004c
#define HMATRIX_SCFG4                     0x0050
#define HMATRIX_SCFG5                     0x0054
#define HMATRIX_SCFG6                     0x0058
#define HMATRIX_SCFG7                     0x005c
#define HMATRIX_SCFG8                     0x0060
#define HMATRIX_SCFG9                     0x0064
#define HMATRIX_SCFG10                    0x0068
#define HMATRIX_SCFG11                    0x006c
#define HMATRIX_SCFG12                    0x0070
#define HMATRIX_SCFG13                    0x0074
#define HMATRIX_SCFG14                    0x0078
#define HMATRIX_SCFG15                    0x007c
#define HMATRIX_PRAS0                     0x0080
#define HMATRIX_PRBS0                     0x0084
#define HMATRIX_PRAS1                     0x0088
#define HMATRIX_PRBS1                     0x008c
#define HMATRIX_PRAS2                     0x0090
#define HMATRIX_PRBS2                     0x0094
#define HMATRIX_PRAS3                     0x0098
#define HMATRIX_PRBS3                     0x009c
#define HMATRIX_PRAS4                     0x00a0
#define HMATRIX_PRBS4                     0x00a4
#define HMATRIX_PRAS5                     0x00a8
#define HMATRIX_PRBS5                     0x00ac
#define HMATRIX_PRAS6                     0x00b0
#define HMATRIX_PRBS6                     0x00b4
#define HMATRIX_PRAS7                     0x00b8
#define HMATRIX_PRBS7                     0x00bc
#define HMATRIX_PRAS8                     0x00c0
#define HMATRIX_PRBS8                     0x00c4
#define HMATRIX_PRAS9                     0x00c8
#define HMATRIX_PRBS9                     0x00cc
#define HMATRIX_PRAS10                    0x00d0
#define HMATRIX_PRBS10                    0x00d4
#define HMATRIX_PRAS11                    0x00d8
#define HMATRIX_PRBS11                    0x00dc
#define HMATRIX_PRAS12                    0x00e0
#define HMATRIX_PRBS12                    0x00e4
#define HMATRIX_PRAS13                    0x00e8
#define HMATRIX_PRBS13                    0x00ec
#define HMATRIX_PRAS14                    0x00f0
#define HMATRIX_PRBS14                    0x00f4
#define HMATRIX_PRAS15                    0x00f8
#define HMATRIX_PRBS15                    0x00fc
#define HMATRIX_MRCR                      0x0100
#define HMATRIX_SFR0                      0x0110
#define HMATRIX_SFR1                      0x0114
#define HMATRIX_SFR2                      0x0118
#define HMATRIX_SFR3                      0x011c
#define HMATRIX_SFR4                      0x0120
#define HMATRIX_SFR5                      0x0124
#define HMATRIX_SFR6                      0x0128
#define HMATRIX_SFR7                      0x012c
#define HMATRIX_SFR8                      0x0130
#define HMATRIX_SFR9                      0x0134
#define HMATRIX_SFR10                     0x0138
#define HMATRIX_SFR11                     0x013c
#define HMATRIX_SFR12                     0x0140
#define HMATRIX_SFR13                     0x0144
#define HMATRIX_SFR14                     0x0148
#define HMATRIX_SFR15                     0x014c

/* Bitfields in MCFGx */
#define HMATRIX_ULBT_OFFSET               0
#define HMATRIX_ULBT_SIZE                 3

/* Bitfields in SCFGx */
#define HMATRIX_SLOT_CYCLE_OFFSET         0
#define HMATRIX_SLOT_CYCLE_SIZE                 8
#define HMATRIX_DEFMSTR_TYPE_OFFSET       16
#define HMATRIX_DEFMSTR_TYPE_SIZE         2
#define HMATRIX_FIXED_DEFMSTR_OFFSET            18
#define HMATRIX_FIXED_DEFMSTR_SIZE        4
#define HMATRIX_ARBT_OFFSET               24
#define HMATRIX_ARBT_SIZE                 2

/* Bitfields in PRASx */
#define HMATRIX_M0PR_OFFSET               0
#define HMATRIX_M0PR_SIZE                 4
#define HMATRIX_M1PR_OFFSET               4
#define HMATRIX_M1PR_SIZE                 4
#define HMATRIX_M2PR_OFFSET               8
#define HMATRIX_M2PR_SIZE                 4
#define HMATRIX_M3PR_OFFSET               12
#define HMATRIX_M3PR_SIZE                 4
#define HMATRIX_M4PR_OFFSET               16
#define HMATRIX_M4PR_SIZE                 4
#define HMATRIX_M5PR_OFFSET               20
#define HMATRIX_M5PR_SIZE                 4
#define HMATRIX_M6PR_OFFSET               24
#define HMATRIX_M6PR_SIZE                 4
#define HMATRIX_M7PR_OFFSET               28
#define HMATRIX_M7PR_SIZE                 4

/* Bitfields in PRBSx */
#define HMATRIX_M8PR_OFFSET               0
#define HMATRIX_M8PR_SIZE                 4
#define HMATRIX_M9PR_OFFSET               4
#define HMATRIX_M9PR_SIZE                 4
#define HMATRIX_M10PR_OFFSET              8
#define HMATRIX_M10PR_SIZE                4
#define HMATRIX_M11PR_OFFSET              12
#define HMATRIX_M11PR_SIZE                4
#define HMATRIX_M12PR_OFFSET              16
#define HMATRIX_M12PR_SIZE                4
#define HMATRIX_M13PR_OFFSET              20
#define HMATRIX_M13PR_SIZE                4
#define HMATRIX_M14PR_OFFSET              24
#define HMATRIX_M14PR_SIZE                4
#define HMATRIX_M15PR_OFFSET              28
#define HMATRIX_M15PR_SIZE                4

/* Bitfields in SFR4 */
#define HMATRIX_CS1A_OFFSET               1
#define HMATRIX_CS1A_SIZE                 1
#define HMATRIX_CS3A_OFFSET               3
#define HMATRIX_CS3A_SIZE                 1
#define HMATRIX_CS4A_OFFSET               4
#define HMATRIX_CS4A_SIZE                 1
#define HMATRIX_CS5A_OFFSET               5
#define HMATRIX_CS5A_SIZE                 1
#define HMATRIX_DBPUC_OFFSET              8
#define HMATRIX_DBPUC_SIZE                1

/* Constants for ULBT */
#define HMATRIX_ULBT_INFINITE             0
#define HMATRIX_ULBT_SINGLE               1
#define HMATRIX_ULBT_FOUR_BEAT                  2
#define HMATRIX_ULBT_EIGHT_BEAT                 3
#define HMATRIX_ULBT_SIXTEEN_BEAT         4

/* Constants for DEFMSTR_TYPE */
#define HMATRIX_DEFMSTR_TYPE_NO_DEFAULT         0
#define HMATRIX_DEFMSTR_TYPE_LAST_DEFAULT 1
#define HMATRIX_DEFMSTR_TYPE_FIXED_DEFAULT      2

/* Constants for ARBT */
#define HMATRIX_ARBT_ROUND_ROBIN          0
#define HMATRIX_ARBT_FIXED_PRIORITY       1

/* Bit manipulation macros */
#define HMATRIX_BIT(name)                             \
      (1 << HMATRIX_##name##_OFFSET)
#define HMATRIX_BF(name,value)                              \
      (((value) & ((1 << HMATRIX_##name##_SIZE) - 1))       \
       << HMATRIX_##name##_OFFSET)
#define HMATRIX_BFEXT(name,value)                     \
      (((value) >> HMATRIX_##name##_OFFSET)                 \
       & ((1 << HMATRIX_##name##_SIZE) - 1))
#define HMATRIX_BFINS(name,value,old)                       \
      (((old) & ~(((1 << HMATRIX_##name##_SIZE) - 1)        \
                << HMATRIX_##name##_OFFSET))          \
       | HMATRIX_BF(name,value))

#endif /* __HMATRIX_H */

Generated by  Doxygen 1.6.0   Back to index