xwidget.h revision 11cd02dfb91661c65134cac258cf5924270e9d2b
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _ASM_XTALK_XWIDGET_H
20#define _ASM_XTALK_XWIDGET_H
21#include <linux/types.h>
22#include <asm/xtalk/xtalk.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define WIDGET_ID 0x04
25#define WIDGET_STATUS 0x0c
26#define WIDGET_ERR_UPPER_ADDR 0x14
27#define WIDGET_ERR_LOWER_ADDR 0x1c
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define WIDGET_CONTROL 0x24
30#define WIDGET_REQ_TIMEOUT 0x2c
31#define WIDGET_INTDEST_UPPER_ADDR 0x34
32#define WIDGET_INTDEST_LOWER_ADDR 0x3c
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define WIDGET_ERR_CMD_WORD 0x44
35#define WIDGET_LLP_CFG 0x4c
36#define WIDGET_TFLUSH 0x54
37#define WIDGET_REV_NUM 0xf0000000
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define WIDGET_PART_NUM 0x0ffff000
40#define WIDGET_MFG_NUM 0x00000ffe
41#define WIDGET_REV_NUM_SHFT 28
42#define WIDGET_PART_NUM_SHFT 12
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define WIDGET_MFG_NUM_SHFT 1
45#define XWIDGET_PART_NUM(widgetid) (((widgetid) & WIDGET_PART_NUM) >> WIDGET_PART_NUM_SHFT)
46#define XWIDGET_REV_NUM(widgetid) (((widgetid) & WIDGET_REV_NUM) >> WIDGET_REV_NUM_SHFT)
47#define XWIDGET_MFG_NUM(widgetid) (((widgetid) & WIDGET_MFG_NUM) >> WIDGET_MFG_NUM_SHFT)
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define WIDGET_LLP_REC_CNT 0xff000000
50#define WIDGET_LLP_TX_CNT 0x00ff0000
51#define WIDGET_PENDING 0x0000001f
52#define WIDGET_ERR_UPPER_ADDR_ONLY 0x0000ffff
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define WIDGET_F_BAD_PKT 0x00010000
55#define WIDGET_LLP_XBAR_CRD 0x0000f000
56#define WIDGET_LLP_XBAR_CRD_SHFT 12
57#define WIDGET_CLR_RLLP_CNT 0x00000800
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59#define WIDGET_CLR_TLLP_CNT 0x00000400
60#define WIDGET_SYS_END 0x00000200
61#define WIDGET_MAX_TRANS 0x000001f0
62#define WIDGET_WIDGET_ID 0x0000000f
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define WIDGET_INT_VECTOR 0xff000000
65#define WIDGET_INT_VECTOR_SHFT 24
66#define WIDGET_TARGET_ID 0x000f0000
67#define WIDGET_TARGET_ID_SHFT 16
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define WIDGET_UPP_ADDR 0x0000ffff
70#define WIDGET_DIDN 0xf0000000
71#define WIDGET_SIDN 0x0f000000
72#define WIDGET_PACTYP 0x00f00000
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define WIDGET_TNUM 0x000f8000
75#define WIDGET_COHERENT 0x00004000
76#define WIDGET_DS 0x00003000
77#define WIDGET_GBR 0x00000800
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define WIDGET_VBPM 0x00000400
80#define WIDGET_ERROR 0x00000200
81#define WIDGET_BARRIER 0x00000100
82#define WIDGET_LLP_MAXRETRY 0x03ff0000
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define WIDGET_LLP_MAXRETRY_SHFT 16
85#define WIDGET_LLP_NULLTIMEOUT 0x0000fc00
86#define WIDGET_LLP_NULLTIMEOUT_SHFT 10
87#define WIDGET_LLP_MAXBURST 0x000003ff
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define WIDGET_LLP_MAXBURST_SHFT 0
90#ifndef __ASSEMBLY__
91typedef u32 widgetreg_t;
92typedef volatile struct widget_cfg {
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 widgetreg_t w_pad_0;
95 widgetreg_t w_id;
96 widgetreg_t w_pad_1;
97 widgetreg_t w_status;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 widgetreg_t w_pad_2;
100 widgetreg_t w_err_upper_addr;
101 widgetreg_t w_pad_3;
102 widgetreg_t w_err_lower_addr;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 widgetreg_t w_pad_4;
105 widgetreg_t w_control;
106 widgetreg_t w_pad_5;
107 widgetreg_t w_req_timeout;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 widgetreg_t w_pad_6;
110 widgetreg_t w_intdest_upper_addr;
111 widgetreg_t w_pad_7;
112 widgetreg_t w_intdest_lower_addr;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 widgetreg_t w_pad_8;
115 widgetreg_t w_err_cmd_word;
116 widgetreg_t w_pad_9;
117 widgetreg_t w_llp_cfg;
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 widgetreg_t w_pad_10;
120 widgetreg_t w_tflush;
121} widget_cfg_t;
122typedef struct {
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 unsigned didn:4;
125 unsigned sidn:4;
126 unsigned pactyp:4;
127 unsigned tnum:5;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 unsigned ct:1;
130 unsigned ds:2;
131 unsigned gbr:1;
132 unsigned vbpm:1;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 unsigned error:1;
135 unsigned bo:1;
136 unsigned other:8;
137} w_err_cmd_word_f;
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139typedef union {
140 widgetreg_t r;
141 w_err_cmd_word_f f;
142} w_err_cmd_word_u;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144typedef struct xwidget_info_s *xwidget_info_t;
145typedef struct xwidget_hwid_s {
146 xwidget_part_num_t part_num;
147 xwidget_rev_num_t rev_num;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 xwidget_mfg_num_t mfg_num;
150} *xwidget_hwid_t;
151#define XWIDGET_HARDWARE_ID_MATCH(hwid1, hwid2)   (((hwid1)->part_num == (hwid2)->part_num) &&   (((hwid1)->mfg_num == XWIDGET_MFG_NUM_NONE) ||   ((hwid2)->mfg_num == XWIDGET_MFG_NUM_NONE) ||   ((hwid1)->mfg_num == (hwid2)->mfg_num)))
152#endif
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#endif
155