linux/arch/cris/include/arch-v32/arch/hwregs/iop/iop_spu_defs.h
<<
>>
Prefs
   1#ifndef __iop_spu_defs_h
   2#define __iop_spu_defs_h
   3
   4/*
   5 * This file is autogenerated from
   6 *   file:           ../../inst/io_proc/rtl/iop_spu.r
   7 *     id:           <not found>
   8 *     last modfied: Mon Apr 11 16:08:46 2005
   9 *
  10 *   by /n/asic/design/tools/rdesc/src/rdes2c --outfile iop_spu_defs.h ../../inst/io_proc/rtl/iop_spu.r
  11 *      id: $Id: iop_spu_defs.h,v 1.5 2005/04/24 18:31:05 starvik Exp $
  12 * Any changes here will be lost.
  13 *
  14 * -*- buffer-read-only: t -*-
  15 */
  16/* Main access macros */
  17#ifndef REG_RD
  18#define REG_RD( scope, inst, reg ) \
  19  REG_READ( reg_##scope##_##reg, \
  20            (inst) + REG_RD_ADDR_##scope##_##reg )
  21#endif
  22
  23#ifndef REG_WR
  24#define REG_WR( scope, inst, reg, val ) \
  25  REG_WRITE( reg_##scope##_##reg, \
  26             (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
  27#endif
  28
  29#ifndef REG_RD_VECT
  30#define REG_RD_VECT( scope, inst, reg, index ) \
  31  REG_READ( reg_##scope##_##reg, \
  32            (inst) + REG_RD_ADDR_##scope##_##reg + \
  33            (index) * STRIDE_##scope##_##reg )
  34#endif
  35
  36#ifndef REG_WR_VECT
  37#define REG_WR_VECT( scope, inst, reg, index, val ) \
  38  REG_WRITE( reg_##scope##_##reg, \
  39             (inst) + REG_WR_ADDR_##scope##_##reg + \
  40             (index) * STRIDE_##scope##_##reg, (val) )
  41#endif
  42
  43#ifndef REG_RD_INT
  44#define REG_RD_INT( scope, inst, reg ) \
  45  REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
  46#endif
  47
  48#ifndef REG_WR_INT
  49#define REG_WR_INT( scope, inst, reg, val ) \
  50  REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
  51#endif
  52
  53#ifndef REG_RD_INT_VECT
  54#define REG_RD_INT_VECT( scope, inst, reg, index ) \
  55  REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
  56            (index) * STRIDE_##scope##_##reg )
  57#endif
  58
  59#ifndef REG_WR_INT_VECT
  60#define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
  61  REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
  62             (index) * STRIDE_##scope##_##reg, (val) )
  63#endif
  64
  65#ifndef REG_TYPE_CONV
  66#define REG_TYPE_CONV( type, orgtype, val ) \
  67  ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
  68#endif
  69
  70#ifndef reg_page_size
  71#define reg_page_size 8192
  72#endif
  73
  74#ifndef REG_ADDR
  75#define REG_ADDR( scope, inst, reg ) \
  76  ( (inst) + REG_RD_ADDR_##scope##_##reg )
  77#endif
  78
  79#ifndef REG_ADDR_VECT
  80#define REG_ADDR_VECT( scope, inst, reg, index ) \
  81  ( (inst) + REG_RD_ADDR_##scope##_##reg + \
  82    (index) * STRIDE_##scope##_##reg )
  83#endif
  84
  85/* C-code for register scope iop_spu */
  86
  87#define STRIDE_iop_spu_rw_r 4
  88/* Register rw_r, scope iop_spu, type rw */
  89typedef unsigned int reg_iop_spu_rw_r;
  90#define REG_RD_ADDR_iop_spu_rw_r 0
  91#define REG_WR_ADDR_iop_spu_rw_r 0
  92
  93/* Register rw_seq_pc, scope iop_spu, type rw */
  94typedef struct {
  95  unsigned int addr : 12;
  96  unsigned int dummy1 : 20;
  97} reg_iop_spu_rw_seq_pc;
  98#define REG_RD_ADDR_iop_spu_rw_seq_pc 64
  99#define REG_WR_ADDR_iop_spu_rw_seq_pc 64
 100
 101/* Register rw_fsm_pc, scope iop_spu, type rw */
 102typedef struct {
 103  unsigned int addr : 12;
 104  unsigned int dummy1 : 20;
 105} reg_iop_spu_rw_fsm_pc;
 106#define REG_RD_ADDR_iop_spu_rw_fsm_pc 68
 107#define REG_WR_ADDR_iop_spu_rw_fsm_pc 68
 108
 109/* Register rw_ctrl, scope iop_spu, type rw */
 110typedef struct {
 111  unsigned int fsm : 1;
 112  unsigned int en  : 1;
 113  unsigned int dummy1 : 30;
 114} reg_iop_spu_rw_ctrl;
 115#define REG_RD_ADDR_iop_spu_rw_ctrl 72
 116#define REG_WR_ADDR_iop_spu_rw_ctrl 72
 117
 118/* Register rw_fsm_inputs3_0, scope iop_spu, type rw */
 119typedef struct {
 120  unsigned int val0 : 5;
 121  unsigned int src0 : 3;
 122  unsigned int val1 : 5;
 123  unsigned int src1 : 3;
 124  unsigned int val2 : 5;
 125  unsigned int src2 : 3;
 126  unsigned int val3 : 5;
 127  unsigned int src3 : 3;
 128} reg_iop_spu_rw_fsm_inputs3_0;
 129#define REG_RD_ADDR_iop_spu_rw_fsm_inputs3_0 76
 130#define REG_WR_ADDR_iop_spu_rw_fsm_inputs3_0 76
 131
 132/* Register rw_fsm_inputs7_4, scope iop_spu, type rw */
 133typedef struct {
 134  unsigned int val4 : 5;
 135  unsigned int src4 : 3;
 136  unsigned int val5 : 5;
 137  unsigned int src5 : 3;
 138  unsigned int val6 : 5;
 139  unsigned int src6 : 3;
 140  unsigned int val7 : 5;
 141  unsigned int src7 : 3;
 142} reg_iop_spu_rw_fsm_inputs7_4;
 143#define REG_RD_ADDR_iop_spu_rw_fsm_inputs7_4 80
 144#define REG_WR_ADDR_iop_spu_rw_fsm_inputs7_4 80
 145
 146/* Register rw_gio_out, scope iop_spu, type rw */
 147typedef unsigned int reg_iop_spu_rw_gio_out;
 148#define REG_RD_ADDR_iop_spu_rw_gio_out 84
 149#define REG_WR_ADDR_iop_spu_rw_gio_out 84
 150
 151/* Register rw_bus0_out, scope iop_spu, type rw */
 152typedef unsigned int reg_iop_spu_rw_bus0_out;
 153#define REG_RD_ADDR_iop_spu_rw_bus0_out 88
 154#define REG_WR_ADDR_iop_spu_rw_bus0_out 88
 155
 156/* Register rw_bus1_out, scope iop_spu, type rw */
 157typedef unsigned int reg_iop_spu_rw_bus1_out;
 158#define REG_RD_ADDR_iop_spu_rw_bus1_out 92
 159#define REG_WR_ADDR_iop_spu_rw_bus1_out 92
 160
 161/* Register r_gio_in, scope iop_spu, type r */
 162typedef unsigned int reg_iop_spu_r_gio_in;
 163#define REG_RD_ADDR_iop_spu_r_gio_in 96
 164
 165/* Register r_bus0_in, scope iop_spu, type r */
 166typedef unsigned int reg_iop_spu_r_bus0_in;
 167#define REG_RD_ADDR_iop_spu_r_bus0_in 100
 168
 169/* Register r_bus1_in, scope iop_spu, type r */
 170typedef unsigned int reg_iop_spu_r_bus1_in;
 171#define REG_RD_ADDR_iop_spu_r_bus1_in 104
 172
 173/* Register rw_gio_out_set, scope iop_spu, type rw */
 174typedef unsigned int reg_iop_spu_rw_gio_out_set;
 175#define REG_RD_ADDR_iop_spu_rw_gio_out_set 108
 176#define REG_WR_ADDR_iop_spu_rw_gio_out_set 108
 177
 178/* Register rw_gio_out_clr, scope iop_spu, type rw */
 179typedef unsigned int reg_iop_spu_rw_gio_out_clr;
 180#define REG_RD_ADDR_iop_spu_rw_gio_out_clr 112
 181#define REG_WR_ADDR_iop_spu_rw_gio_out_clr 112
 182
 183/* Register rs_wr_stat, scope iop_spu, type rs */
 184typedef struct {
 185  unsigned int r0  : 1;
 186  unsigned int r1  : 1;
 187  unsigned int r2  : 1;
 188  unsigned int r3  : 1;
 189  unsigned int r4  : 1;
 190  unsigned int r5  : 1;
 191  unsigned int r6  : 1;
 192  unsigned int r7  : 1;
 193  unsigned int r8  : 1;
 194  unsigned int r9  : 1;
 195  unsigned int r10 : 1;
 196  unsigned int r11 : 1;
 197  unsigned int r12 : 1;
 198  unsigned int r13 : 1;
 199  unsigned int r14 : 1;
 200  unsigned int r15 : 1;
 201  unsigned int dummy1 : 16;
 202} reg_iop_spu_rs_wr_stat;
 203#define REG_RD_ADDR_iop_spu_rs_wr_stat 116
 204
 205/* Register r_wr_stat, scope iop_spu, type r */
 206typedef struct {
 207  unsigned int r0  : 1;
 208  unsigned int r1  : 1;
 209  unsigned int r2  : 1;
 210  unsigned int r3  : 1;
 211  unsigned int r4  : 1;
 212  unsigned int r5  : 1;
 213  unsigned int r6  : 1;
 214  unsigned int r7  : 1;
 215  unsigned int r8  : 1;
 216  unsigned int r9  : 1;
 217  unsigned int r10 : 1;
 218  unsigned int r11 : 1;
 219  unsigned int r12 : 1;
 220  unsigned int r13 : 1;
 221  unsigned int r14 : 1;
 222  unsigned int r15 : 1;
 223  unsigned int dummy1 : 16;
 224} reg_iop_spu_r_wr_stat;
 225#define REG_RD_ADDR_iop_spu_r_wr_stat 120
 226
 227/* Register r_reg_indexed_by_bus0_in, scope iop_spu, type r */
 228typedef unsigned int reg_iop_spu_r_reg_indexed_by_bus0_in;
 229#define REG_RD_ADDR_iop_spu_r_reg_indexed_by_bus0_in 124
 230
 231/* Register r_stat_in, scope iop_spu, type r */
 232typedef struct {
 233  unsigned int timer_grp_lo    : 4;
 234  unsigned int fifo_out_last   : 1;
 235  unsigned int fifo_out_rdy    : 1;
 236  unsigned int fifo_out_all    : 1;
 237  unsigned int fifo_in_rdy     : 1;
 238  unsigned int dmc_out_all     : 1;
 239  unsigned int dmc_out_dth     : 1;
 240  unsigned int dmc_out_eop     : 1;
 241  unsigned int dmc_out_dv      : 1;
 242  unsigned int dmc_out_last    : 1;
 243  unsigned int dmc_out_cmd_rq  : 1;
 244  unsigned int dmc_out_cmd_rdy : 1;
 245  unsigned int pcrc_correct    : 1;
 246  unsigned int timer_grp_hi    : 4;
 247  unsigned int dmc_in_sth      : 1;
 248  unsigned int dmc_in_full     : 1;
 249  unsigned int dmc_in_cmd_rdy  : 1;
 250  unsigned int spu_gio_out     : 4;
 251  unsigned int sync_clk12      : 1;
 252  unsigned int scrc_out_data   : 1;
 253  unsigned int scrc_in_err     : 1;
 254  unsigned int mc_busy         : 1;
 255  unsigned int mc_owned        : 1;
 256} reg_iop_spu_r_stat_in;
 257#define REG_RD_ADDR_iop_spu_r_stat_in 128
 258
 259/* Register r_trigger_in, scope iop_spu, type r */
 260typedef unsigned int reg_iop_spu_r_trigger_in;
 261#define REG_RD_ADDR_iop_spu_r_trigger_in 132
 262
 263/* Register r_special_stat, scope iop_spu, type r */
 264typedef struct {
 265  unsigned int c_flag         : 1;
 266  unsigned int v_flag         : 1;
 267  unsigned int z_flag         : 1;
 268  unsigned int n_flag         : 1;
 269  unsigned int xor_bus0_r2_0  : 1;
 270  unsigned int xor_bus1_r3_0  : 1;
 271  unsigned int xor_bus0m_r2_0 : 1;
 272  unsigned int xor_bus1m_r3_0 : 1;
 273  unsigned int fsm_in0        : 1;
 274  unsigned int fsm_in1        : 1;
 275  unsigned int fsm_in2        : 1;
 276  unsigned int fsm_in3        : 1;
 277  unsigned int fsm_in4        : 1;
 278  unsigned int fsm_in5        : 1;
 279  unsigned int fsm_in6        : 1;
 280  unsigned int fsm_in7        : 1;
 281  unsigned int event0         : 1;
 282  unsigned int event1         : 1;
 283  unsigned int event2         : 1;
 284  unsigned int event3         : 1;
 285  unsigned int dummy1         : 12;
 286} reg_iop_spu_r_special_stat;
 287#define REG_RD_ADDR_iop_spu_r_special_stat 136
 288
 289/* Register rw_reg_access, scope iop_spu, type rw */
 290typedef struct {
 291  unsigned int addr   : 13;
 292  unsigned int dummy1 : 3;
 293  unsigned int imm_hi : 16;
 294} reg_iop_spu_rw_reg_access;
 295#define REG_RD_ADDR_iop_spu_rw_reg_access 140
 296#define REG_WR_ADDR_iop_spu_rw_reg_access 140
 297
 298#define STRIDE_iop_spu_rw_event_cfg 4
 299/* Register rw_event_cfg, scope iop_spu, type rw */
 300typedef struct {
 301  unsigned int addr   : 12;
 302  unsigned int src    : 2;
 303  unsigned int eq_en  : 1;
 304  unsigned int eq_inv : 1;
 305  unsigned int gt_en  : 1;
 306  unsigned int gt_inv : 1;
 307  unsigned int dummy1 : 14;
 308} reg_iop_spu_rw_event_cfg;
 309#define REG_RD_ADDR_iop_spu_rw_event_cfg 144
 310#define REG_WR_ADDR_iop_spu_rw_event_cfg 144
 311
 312#define STRIDE_iop_spu_rw_event_mask 4
 313/* Register rw_event_mask, scope iop_spu, type rw */
 314typedef unsigned int reg_iop_spu_rw_event_mask;
 315#define REG_RD_ADDR_iop_spu_rw_event_mask 160
 316#define REG_WR_ADDR_iop_spu_rw_event_mask 160
 317
 318#define STRIDE_iop_spu_rw_event_val 4
 319/* Register rw_event_val, scope iop_spu, type rw */
 320typedef unsigned int reg_iop_spu_rw_event_val;
 321#define REG_RD_ADDR_iop_spu_rw_event_val 176
 322#define REG_WR_ADDR_iop_spu_rw_event_val 176
 323
 324/* Register rw_event_ret, scope iop_spu, type rw */
 325typedef struct {
 326  unsigned int addr : 12;
 327  unsigned int dummy1 : 20;
 328} reg_iop_spu_rw_event_ret;
 329#define REG_RD_ADDR_iop_spu_rw_event_ret 192
 330#define REG_WR_ADDR_iop_spu_rw_event_ret 192
 331
 332/* Register r_trace, scope iop_spu, type r */
 333typedef struct {
 334  unsigned int fsm      : 1;
 335  unsigned int en       : 1;
 336  unsigned int c_flag   : 1;
 337  unsigned int v_flag   : 1;
 338  unsigned int z_flag   : 1;
 339  unsigned int n_flag   : 1;
 340  unsigned int seq_addr : 12;
 341  unsigned int dummy1   : 2;
 342  unsigned int fsm_addr : 12;
 343} reg_iop_spu_r_trace;
 344#define REG_RD_ADDR_iop_spu_r_trace 196
 345
 346/* Register r_fsm_trace, scope iop_spu, type r */
 347typedef struct {
 348  unsigned int fsm      : 1;
 349  unsigned int en       : 1;
 350  unsigned int tmr_done : 1;
 351  unsigned int inp0     : 1;
 352  unsigned int inp1     : 1;
 353  unsigned int inp2     : 1;
 354  unsigned int inp3     : 1;
 355  unsigned int event0   : 1;
 356  unsigned int event1   : 1;
 357  unsigned int event2   : 1;
 358  unsigned int event3   : 1;
 359  unsigned int gio_out  : 8;
 360  unsigned int dummy1   : 1;
 361  unsigned int fsm_addr : 12;
 362} reg_iop_spu_r_fsm_trace;
 363#define REG_RD_ADDR_iop_spu_r_fsm_trace 200
 364
 365#define STRIDE_iop_spu_rw_brp 4
 366/* Register rw_brp, scope iop_spu, type rw */
 367typedef struct {
 368  unsigned int addr : 12;
 369  unsigned int fsm  : 1;
 370  unsigned int en   : 1;
 371  unsigned int dummy1 : 18;
 372} reg_iop_spu_rw_brp;
 373#define REG_RD_ADDR_iop_spu_rw_brp 204
 374#define REG_WR_ADDR_iop_spu_rw_brp 204
 375
 376
 377/* Constants */
 378enum {
 379  regk_iop_spu_attn_hi                     = 0x00000005,
 380  regk_iop_spu_attn_lo                     = 0x00000005,
 381  regk_iop_spu_attn_r0                     = 0x00000000,
 382  regk_iop_spu_attn_r1                     = 0x00000001,
 383  regk_iop_spu_attn_r10                    = 0x00000002,
 384  regk_iop_spu_attn_r11                    = 0x00000003,
 385  regk_iop_spu_attn_r12                    = 0x00000004,
 386  regk_iop_spu_attn_r13                    = 0x00000005,
 387  regk_iop_spu_attn_r14                    = 0x00000006,
 388  regk_iop_spu_attn_r15                    = 0x00000007,
 389  regk_iop_spu_attn_r2                     = 0x00000002,
 390  regk_iop_spu_attn_r3                     = 0x00000003,
 391  regk_iop_spu_attn_r4                     = 0x00000004,
 392  regk_iop_spu_attn_r5                     = 0x00000005,
 393  regk_iop_spu_attn_r6                     = 0x00000006,
 394  regk_iop_spu_attn_r7                     = 0x00000007,
 395  regk_iop_spu_attn_r8                     = 0x00000000,
 396  regk_iop_spu_attn_r9                     = 0x00000001,
 397  regk_iop_spu_c                           = 0x00000000,
 398  regk_iop_spu_flag                        = 0x00000002,
 399  regk_iop_spu_gio_in                      = 0x00000000,
 400  regk_iop_spu_gio_out                     = 0x00000005,
 401  regk_iop_spu_gio_out0                    = 0x00000008,
 402  regk_iop_spu_gio_out1                    = 0x00000009,
 403  regk_iop_spu_gio_out2                    = 0x0000000a,
 404  regk_iop_spu_gio_out3                    = 0x0000000b,
 405  regk_iop_spu_gio_out4                    = 0x0000000c,
 406  regk_iop_spu_gio_out5                    = 0x0000000d,
 407  regk_iop_spu_gio_out6                    = 0x0000000e,
 408  regk_iop_spu_gio_out7                    = 0x0000000f,
 409  regk_iop_spu_n                           = 0x00000003,
 410  regk_iop_spu_no                          = 0x00000000,
 411  regk_iop_spu_r0                          = 0x00000008,
 412  regk_iop_spu_r1                          = 0x00000009,
 413  regk_iop_spu_r10                         = 0x0000000a,
 414  regk_iop_spu_r11                         = 0x0000000b,
 415  regk_iop_spu_r12                         = 0x0000000c,
 416  regk_iop_spu_r13                         = 0x0000000d,
 417  regk_iop_spu_r14                         = 0x0000000e,
 418  regk_iop_spu_r15                         = 0x0000000f,
 419  regk_iop_spu_r2                          = 0x0000000a,
 420  regk_iop_spu_r3                          = 0x0000000b,
 421  regk_iop_spu_r4                          = 0x0000000c,
 422  regk_iop_spu_r5                          = 0x0000000d,
 423  regk_iop_spu_r6                          = 0x0000000e,
 424  regk_iop_spu_r7                          = 0x0000000f,
 425  regk_iop_spu_r8                          = 0x00000008,
 426  regk_iop_spu_r9                          = 0x00000009,
 427  regk_iop_spu_reg_hi                      = 0x00000002,
 428  regk_iop_spu_reg_lo                      = 0x00000002,
 429  regk_iop_spu_rw_brp_default              = 0x00000000,
 430  regk_iop_spu_rw_brp_size                 = 0x00000004,
 431  regk_iop_spu_rw_ctrl_default             = 0x00000000,
 432  regk_iop_spu_rw_event_cfg_size           = 0x00000004,
 433  regk_iop_spu_rw_event_mask_size          = 0x00000004,
 434  regk_iop_spu_rw_event_val_size           = 0x00000004,
 435  regk_iop_spu_rw_gio_out_default          = 0x00000000,
 436  regk_iop_spu_rw_r_size                   = 0x00000010,
 437  regk_iop_spu_rw_reg_access_default       = 0x00000000,
 438  regk_iop_spu_stat_in                     = 0x00000002,
 439  regk_iop_spu_statin_hi                   = 0x00000004,
 440  regk_iop_spu_statin_lo                   = 0x00000004,
 441  regk_iop_spu_trig                        = 0x00000003,
 442  regk_iop_spu_trigger                     = 0x00000006,
 443  regk_iop_spu_v                           = 0x00000001,
 444  regk_iop_spu_wsts_gioout_spec            = 0x00000001,
 445  regk_iop_spu_xor                         = 0x00000003,
 446  regk_iop_spu_xor_bus0_r2_0               = 0x00000000,
 447  regk_iop_spu_xor_bus0m_r2_0              = 0x00000002,
 448  regk_iop_spu_xor_bus1_r3_0               = 0x00000001,
 449  regk_iop_spu_xor_bus1m_r3_0              = 0x00000003,
 450  regk_iop_spu_yes                         = 0x00000001,
 451  regk_iop_spu_z                           = 0x00000002
 452};
 453#endif /* __iop_spu_defs_h */
 454