Merge pull request #175 from bgermann/master
[open-ath9k-htc-firmware.git] / sboot / include / xtensa / config / tie.h
1 /*
2  * tie.h -- compile-time HAL definitions dependent on CORE & TIE configuration
3  *
4  *  NOTE:  This header file is not meant to be included directly.
5  */
6
7 /*
8  * This header file describes this specific Xtensa processor's TIE extensions
9  * that extend basic Xtensa core functionality.  It is customized to this
10  * Xtensa processor configuration.
11  *
12  * Customer ID=4748; Build=0x2230f; Copyright (C) 1999-2008 by Tensilica Inc.  ALL RIGHTS RESERVED.
13  * These coded instructions, statements, and computer programs are the
14  * copyrighted works and confidential proprietary information of Tensilica Inc.
15  * They may not be modified, copied, reproduced, distributed, or disclosed to
16  * third parties in any manner, medium, or form, in whole or in part, without
17  * the prior written consent of Tensilica Inc.
18  */
19
20 #ifndef _XTENSA_CORE_TIE_H
21 #define _XTENSA_CORE_TIE_H
22
23 #define XCHAL_CP_NUM                    0       /* number of coprocessors */
24 #define XCHAL_CP_MAX                    0       /* max CP ID + 1 (0 if none) */
25 #define XCHAL_CP_MASK                   0x00    /* bitmask of all CPs by ID */
26 #define XCHAL_CP_PORT_MASK              0x00    /* bitmask of only port CPs */
27
28 /*  Save area for non-coprocessor optional and custom (TIE) state:  */
29 #define XCHAL_NCP_SA_SIZE               4
30 #define XCHAL_NCP_SA_ALIGN              4
31
32 /*  Total save area for optional and custom state (NCP + CPn):  */
33 #define XCHAL_TOTAL_SA_SIZE             16      /* with 16-byte align padding */
34 #define XCHAL_TOTAL_SA_ALIGN            4       /* actual minimum alignment */
35
36 /*
37  * Detailed contents of save areas.
38  * NOTE:  caller must define the XCHAL_SA_{UREG,SREG,REGF} macros (they
39  * are not defined here) before expanding the XCHAL_SA_xxx_LIST macros.
40  *
41  * XCHAL_SA_SREG(dbnum,offset,size,contentsz,align,name,sregnum,bitmask,x,x)
42  * XCHAL_SA_UREG(dbnum,offset,size,contentsz,align,name,uregnum,bitmask,x,x)
43  * XCHAL_SA_REGF(dbnum,offset,size,contentsz,align,name,index,span,x,x,
44  *               basename,regf_name,regf_numentries)
45  */
46
47 #define XCHAL_SA_NCP_NUM        1
48 #define XCHAL_SA_NCP_LIST       \
49   XCHAL_SA_SREG(0x020C,   0, 4, 4, 4,      scompare1, 12,0xFFFFFFFF,0,0)
50
51 /* Byte length of instruction from its first nibble (op0 field), per FLIX.  */
52 #define XCHAL_OP0_FORMAT_LENGTHS        3,3,3,3,3,3,3,3,2,2,2,2,2,2,3,3
53
54 #endif /*_XTENSA_CORE_TIE_H*/