2 * Copyright 2012 Tilera Corporation. All Rights Reserved.
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation, version 2.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11 * NON INFRINGEMENT. See the GNU General Public License for
15 /* Machine-generated file; do not edit. */
17 #ifndef __ARCH_TRIO_H__
18 #define __ARCH_TRIO_H__
21 #include <arch/trio_def.h>
26 * Map SQ Doorbell Format.
27 * This describes the format of the write-only doorbell register that exists
28 * in the last 8-bytes of the MAP_SQ_BASE/LIM range. This register is only
29 * writable from PCIe space. Writes to this register will not be written to
30 * Tile memory space and thus no IO VA translation is required if the last
31 * page of the BASE/LIM range is not otherwise written.
39 #ifndef __BIG_ENDIAN__
41 * When written with a 1, the associated MAP_SQ region's doorbell
42 * interrupt will be triggered once all previous writes are visible to
45 uint_reg_t doorbell
: 1;
47 * When written with a 1, the descriptor at the head of the associated
48 * MAP_SQ's FIFO will be dequeued.
52 uint_reg_t __reserved
: 62;
53 #else /* __BIG_ENDIAN__ */
54 uint_reg_t __reserved
: 62;
56 uint_reg_t doorbell
: 1;
61 } TRIO_MAP_SQ_DOORBELL_FMT_t
;
65 * Tile PIO Region Configuration - CFG Address Format.
66 * This register describes the address format for PIO accesses when the
67 * associated region is setup with TYPE=CFG.
75 #ifndef __BIG_ENDIAN__
76 /* Register Address (full byte address). */
77 uint_reg_t reg_addr
: 12;
84 /* Config Type: 0 for access to directly-attached device. 1 otherwise. */
87 uint_reg_t __reserved_0
: 1;
89 * MAC select. This must match the configuration in
90 * TILE_PIO_REGION_SETUP.MAC.
94 uint_reg_t __reserved_1
: 32;
95 #else /* __BIG_ENDIAN__ */
96 uint_reg_t __reserved_1
: 32;
98 uint_reg_t __reserved_0
: 1;
103 uint_reg_t reg_addr
: 12;
108 } TRIO_TILE_PIO_REGION_SETUP_CFG_ADDR_t
;
109 #endif /* !defined(__ASSEMBLER__) */
111 #endif /* !defined(__ARCH_TRIO_H__) */