111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _ASM_XTALK_XWIDGET_H
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _ASM_XTALK_XWIDGET_H
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/xtalk/xtalk.h>
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_ID 0x04
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_STATUS 0x0c
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_ERR_UPPER_ADDR 0x14
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_ERR_LOWER_ADDR 0x1c
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_CONTROL 0x24
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_REQ_TIMEOUT 0x2c
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_INTDEST_UPPER_ADDR 0x34
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_INTDEST_LOWER_ADDR 0x3c
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_ERR_CMD_WORD 0x44
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_CFG 0x4c
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_TFLUSH 0x54
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_REV_NUM 0xf0000000
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_PART_NUM 0x0ffff000
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_MFG_NUM 0x00000ffe
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_REV_NUM_SHFT 28
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_PART_NUM_SHFT 12
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_MFG_NUM_SHFT 1
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define XWIDGET_PART_NUM(widgetid) (((widgetid) & WIDGET_PART_NUM) >> WIDGET_PART_NUM_SHFT)
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define XWIDGET_REV_NUM(widgetid) (((widgetid) & WIDGET_REV_NUM) >> WIDGET_REV_NUM_SHFT)
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define XWIDGET_MFG_NUM(widgetid) (((widgetid) & WIDGET_MFG_NUM) >> WIDGET_MFG_NUM_SHFT)
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_REC_CNT 0xff000000
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_TX_CNT 0x00ff0000
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_PENDING 0x0000001f
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_ERR_UPPER_ADDR_ONLY 0x0000ffff
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_F_BAD_PKT 0x00010000
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_XBAR_CRD 0x0000f000
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_XBAR_CRD_SHFT 12
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_CLR_RLLP_CNT 0x00000800
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_CLR_TLLP_CNT 0x00000400
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_SYS_END 0x00000200
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_MAX_TRANS 0x000001f0
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_WIDGET_ID 0x0000000f
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_INT_VECTOR 0xff000000
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_INT_VECTOR_SHFT 24
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_TARGET_ID 0x000f0000
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_TARGET_ID_SHFT 16
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_UPP_ADDR 0x0000ffff
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_DIDN 0xf0000000
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_SIDN 0x0f000000
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_PACTYP 0x00f00000
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_TNUM 0x000f8000
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_COHERENT 0x00004000
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_DS 0x00003000
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_GBR 0x00000800
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_VBPM 0x00000400
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_ERROR 0x00000200
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_BARRIER 0x00000100
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_MAXRETRY 0x03ff0000
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_MAXRETRY_SHFT 16
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_NULLTIMEOUT 0x0000fc00
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_NULLTIMEOUT_SHFT 10
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_MAXBURST 0x000003ff
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIDGET_LLP_MAXBURST_SHFT 0
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __ASSEMBLY__
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef u32 widgetreg_t;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef volatile struct widget_cfg {
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_0;
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_id;
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_1;
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_status;
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_2;
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_err_upper_addr;
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_3;
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_err_lower_addr;
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_4;
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_control;
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_5;
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_req_timeout;
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_6;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_intdest_upper_addr;
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_7;
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_intdest_lower_addr;
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_8;
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_err_cmd_word;
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_9;
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_llp_cfg;
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_pad_10;
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t w_tflush;
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} widget_cfg_t;
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct {
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned didn:4;
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned sidn:4;
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned pactyp:4;
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tnum:5;
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned ct:1;
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned ds:2;
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned gbr:1;
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned vbpm:1;
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned error:1;
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned bo:1;
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned other:8;
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} w_err_cmd_word_f;
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef union {
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert widgetreg_t r;
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert w_err_cmd_word_f f;
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} w_err_cmd_word_u;
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct xwidget_info_s *xwidget_info_t;
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct xwidget_hwid_s {
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert xwidget_part_num_t part_num;
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert xwidget_rev_num_t rev_num;
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert xwidget_mfg_num_t mfg_num;
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} *xwidget_hwid_t;
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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)))
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
155