From: The etnaviv authors <dri-de...@lists.freedesktop.org>

This adds all the generated hardware description headers for the
etnaviv DRM driver.

Signed-off-by: Christian Gmeiner <christian.gmei...@gmail.com>
Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk>
Signed-off-by: Lucas Stach <l.st...@pengutronix.de>
---
 drivers/gpu/drm/etnaviv/cmdstream.xml.h | 218 +++++++++++++++++
 drivers/gpu/drm/etnaviv/common.xml.h    | 249 +++++++++++++++++++
 drivers/gpu/drm/etnaviv/state.xml.h     | 351 +++++++++++++++++++++++++++
 drivers/gpu/drm/etnaviv/state_hi.xml.h  | 407 ++++++++++++++++++++++++++++++++
 4 files changed, 1225 insertions(+)
 create mode 100644 drivers/gpu/drm/etnaviv/cmdstream.xml.h
 create mode 100644 drivers/gpu/drm/etnaviv/common.xml.h
 create mode 100644 drivers/gpu/drm/etnaviv/state.xml.h
 create mode 100644 drivers/gpu/drm/etnaviv/state_hi.xml.h

diff --git a/drivers/gpu/drm/etnaviv/cmdstream.xml.h 
b/drivers/gpu/drm/etnaviv/cmdstream.xml.h
new file mode 100644
index 000000000000..8c44ba9a694e
--- /dev/null
+++ b/drivers/gpu/drm/etnaviv/cmdstream.xml.h
@@ -0,0 +1,218 @@
+#ifndef CMDSTREAM_XML
+#define CMDSTREAM_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git 
repository:
+http://0x04.net/cgit/index.cgi/rules-ng-ng
+git clone git://0x04.net/rules-ng-ng
+
+The rules-ng-ng source files this header was generated from are:
+- cmdstream.xml (  12589 bytes, from 2014-02-17 14:57:56)
+- common.xml    (  18437 bytes, from 2015-03-25 11:27:41)
+
+Copyright (C) 2014
+*/
+
+
+#define FE_OPCODE_LOAD_STATE                                   0x00000001
+#define FE_OPCODE_END                                          0x00000002
+#define FE_OPCODE_NOP                                          0x00000003
+#define FE_OPCODE_DRAW_2D                                      0x00000004
+#define FE_OPCODE_DRAW_PRIMITIVES                              0x00000005
+#define FE_OPCODE_DRAW_INDEXED_PRIMITIVES                      0x00000006
+#define FE_OPCODE_WAIT                                         0x00000007
+#define FE_OPCODE_LINK                                         0x00000008
+#define FE_OPCODE_STALL                                                
0x00000009
+#define FE_OPCODE_CALL                                         0x0000000a
+#define FE_OPCODE_RETURN                                       0x0000000b
+#define FE_OPCODE_CHIP_SELECT                                  0x0000000d
+#define PRIMITIVE_TYPE_POINTS                                  0x00000001
+#define PRIMITIVE_TYPE_LINES                                   0x00000002
+#define PRIMITIVE_TYPE_LINE_STRIP                              0x00000003
+#define PRIMITIVE_TYPE_TRIANGLES                               0x00000004
+#define PRIMITIVE_TYPE_TRIANGLE_STRIP                          0x00000005
+#define PRIMITIVE_TYPE_TRIANGLE_FAN                            0x00000006
+#define PRIMITIVE_TYPE_LINE_LOOP                               0x00000007
+#define PRIMITIVE_TYPE_QUADS                                   0x00000008
+#define VIV_FE_LOAD_STATE                                      0x00000000
+
+#define VIV_FE_LOAD_STATE_HEADER                               0x00000000
+#define VIV_FE_LOAD_STATE_HEADER_OP__MASK                      0xf8000000
+#define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT                     27
+#define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE                 0x08000000
+#define VIV_FE_LOAD_STATE_HEADER_FIXP                          0x04000000
+#define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK                   0x03ff0000
+#define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT                  16
+#define VIV_FE_LOAD_STATE_HEADER_COUNT(x)                      (((x) << 
VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
+#define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK                  0x0000ffff
+#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT                 0
+#define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)                     (((x) << 
VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
+#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR                   2
+
+#define VIV_FE_END                                             0x00000000
+
+#define VIV_FE_END_HEADER                                      0x00000000
+#define VIV_FE_END_HEADER_EVENT_ID__MASK                       0x0000001f
+#define VIV_FE_END_HEADER_EVENT_ID__SHIFT                      0
+#define VIV_FE_END_HEADER_EVENT_ID(x)                          (((x) << 
VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
+#define VIV_FE_END_HEADER_EVENT_ENABLE                         0x00000100
+#define VIV_FE_END_HEADER_OP__MASK                             0xf8000000
+#define VIV_FE_END_HEADER_OP__SHIFT                            27
+#define VIV_FE_END_HEADER_OP_END                               0x10000000
+
+#define VIV_FE_NOP                                             0x00000000
+
+#define VIV_FE_NOP_HEADER                                      0x00000000
+#define VIV_FE_NOP_HEADER_OP__MASK                             0xf8000000
+#define VIV_FE_NOP_HEADER_OP__SHIFT                            27
+#define VIV_FE_NOP_HEADER_OP_NOP                               0x18000000
+
+#define VIV_FE_DRAW_2D                                         0x00000000
+
+#define VIV_FE_DRAW_2D_HEADER                                  0x00000000
+#define VIV_FE_DRAW_2D_HEADER_COUNT__MASK                      0x0000ff00
+#define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT                     8
+#define VIV_FE_DRAW_2D_HEADER_COUNT(x)                         (((x) << 
VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK)
+#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK                 0x07ff0000
+#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT                        16
+#define VIV_FE_DRAW_2D_HEADER_DATA_COUNT(x)                    (((x) << 
VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT) & 
VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK)
+#define VIV_FE_DRAW_2D_HEADER_OP__MASK                         0xf8000000
+#define VIV_FE_DRAW_2D_HEADER_OP__SHIFT                                27
+#define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D                       0x20000000
+
+#define VIV_FE_DRAW_2D_TOP_LEFT                                        
0x00000008
+#define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK                                
0x0000ffff
+#define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT                       0
+#define VIV_FE_DRAW_2D_TOP_LEFT_X(x)                           (((x) << 
VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_X__MASK)
+#define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK                                
0xffff0000
+#define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT                       16
+#define VIV_FE_DRAW_2D_TOP_LEFT_Y(x)                           (((x) << 
VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK)
+
+#define VIV_FE_DRAW_2D_BOTTOM_RIGHT                            0x0000000c
+#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK                    0x0000ffff
+#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT                   0
+#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X(x)                       (((x) << 
VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK)
+#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK                    0xffff0000
+#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT                   16
+#define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y(x)                       (((x) << 
VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK)
+
+#define VIV_FE_DRAW_PRIMITIVES                                 0x00000000
+
+#define VIV_FE_DRAW_PRIMITIVES_HEADER                          0x00000000
+#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK                 0xf8000000
+#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT                        27
+#define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES       0x28000000
+
+#define VIV_FE_DRAW_PRIMITIVES_COMMAND                         0x00000004
+#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK              0x000000ff
+#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT             0
+#define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x)                 (((x) << 
VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & 
VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK)
+
+#define VIV_FE_DRAW_PRIMITIVES_START                           0x00000008
+
+#define VIV_FE_DRAW_PRIMITIVES_COUNT                           0x0000000c
+
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES                         0x00000000
+
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER                  0x00000000
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK         0xf8000000
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT                27
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES       
0x30000000
+
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND                 0x00000004
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK      0x000000ff
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT     0
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE(x)         (((x) << 
VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT) & 
VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK)
+
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_START                   0x00000008
+
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT                   0x0000000c
+
+#define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET                  0x00000010
+
+#define VIV_FE_WAIT                                            0x00000000
+
+#define VIV_FE_WAIT_HEADER                                     0x00000000
+#define VIV_FE_WAIT_HEADER_DELAY__MASK                         0x0000ffff
+#define VIV_FE_WAIT_HEADER_DELAY__SHIFT                                0
+#define VIV_FE_WAIT_HEADER_DELAY(x)                            (((x) << 
VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK)
+#define VIV_FE_WAIT_HEADER_OP__MASK                            0xf8000000
+#define VIV_FE_WAIT_HEADER_OP__SHIFT                           27
+#define VIV_FE_WAIT_HEADER_OP_WAIT                             0x38000000
+
+#define VIV_FE_LINK                                            0x00000000
+
+#define VIV_FE_LINK_HEADER                                     0x00000000
+#define VIV_FE_LINK_HEADER_PREFETCH__MASK                      0x0000ffff
+#define VIV_FE_LINK_HEADER_PREFETCH__SHIFT                     0
+#define VIV_FE_LINK_HEADER_PREFETCH(x)                         (((x) << 
VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK)
+#define VIV_FE_LINK_HEADER_OP__MASK                            0xf8000000
+#define VIV_FE_LINK_HEADER_OP__SHIFT                           27
+#define VIV_FE_LINK_HEADER_OP_LINK                             0x40000000
+
+#define VIV_FE_LINK_ADDRESS                                    0x00000004
+
+#define VIV_FE_STALL                                           0x00000000
+
+#define VIV_FE_STALL_HEADER                                    0x00000000
+#define VIV_FE_STALL_HEADER_OP__MASK                           0xf8000000
+#define VIV_FE_STALL_HEADER_OP__SHIFT                          27
+#define VIV_FE_STALL_HEADER_OP_STALL                           0x48000000
+
+#define VIV_FE_STALL_TOKEN                                     0x00000004
+#define VIV_FE_STALL_TOKEN_FROM__MASK                          0x0000001f
+#define VIV_FE_STALL_TOKEN_FROM__SHIFT                         0
+#define VIV_FE_STALL_TOKEN_FROM(x)                             (((x) << 
VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK)
+#define VIV_FE_STALL_TOKEN_TO__MASK                            0x00001f00
+#define VIV_FE_STALL_TOKEN_TO__SHIFT                           8
+#define VIV_FE_STALL_TOKEN_TO(x)                               (((x) << 
VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK)
+
+#define VIV_FE_CALL                                            0x00000000
+
+#define VIV_FE_CALL_HEADER                                     0x00000000
+#define VIV_FE_CALL_HEADER_PREFETCH__MASK                      0x0000ffff
+#define VIV_FE_CALL_HEADER_PREFETCH__SHIFT                     0
+#define VIV_FE_CALL_HEADER_PREFETCH(x)                         (((x) << 
VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK)
+#define VIV_FE_CALL_HEADER_OP__MASK                            0xf8000000
+#define VIV_FE_CALL_HEADER_OP__SHIFT                           27
+#define VIV_FE_CALL_HEADER_OP_CALL                             0x50000000
+
+#define VIV_FE_CALL_ADDRESS                                    0x00000004
+
+#define VIV_FE_CALL_RETURN_PREFETCH                            0x00000008
+
+#define VIV_FE_CALL_RETURN_ADDRESS                             0x0000000c
+
+#define VIV_FE_RETURN                                          0x00000000
+
+#define VIV_FE_RETURN_HEADER                                   0x00000000
+#define VIV_FE_RETURN_HEADER_OP__MASK                          0xf8000000
+#define VIV_FE_RETURN_HEADER_OP__SHIFT                         27
+#define VIV_FE_RETURN_HEADER_OP_RETURN                         0x58000000
+
+#define VIV_FE_CHIP_SELECT                                     0x00000000
+
+#define VIV_FE_CHIP_SELECT_HEADER                              0x00000000
+#define VIV_FE_CHIP_SELECT_HEADER_OP__MASK                     0xf8000000
+#define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT                    27
+#define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT               0x68000000
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15                        
0x00008000
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14                        
0x00004000
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13                        
0x00002000
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12                        
0x00001000
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11                        
0x00000800
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10                        
0x00000400
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9                 0x00000200
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8                 0x00000100
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7                 0x00000080
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6                 0x00000040
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5                 0x00000020
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4                 0x00000010
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3                 0x00000008
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2                 0x00000004
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1                 0x00000002
+#define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0                 0x00000001
+
+
+#endif /* CMDSTREAM_XML */
diff --git a/drivers/gpu/drm/etnaviv/common.xml.h 
b/drivers/gpu/drm/etnaviv/common.xml.h
new file mode 100644
index 000000000000..9e585d51fb78
--- /dev/null
+++ b/drivers/gpu/drm/etnaviv/common.xml.h
@@ -0,0 +1,249 @@
+#ifndef COMMON_XML
+#define COMMON_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git 
repository:
+http://0x04.net/cgit/index.cgi/rules-ng-ng
+git clone git://0x04.net/rules-ng-ng
+
+The rules-ng-ng source files this header was generated from are:
+- state_vg.xml (   5973 bytes, from 2015-03-25 11:26:01)
+- common.xml   (  18437 bytes, from 2015-03-25 11:27:41)
+
+Copyright (C) 2015
+*/
+
+
+#define PIPE_ID_PIPE_3D                                                
0x00000000
+#define PIPE_ID_PIPE_2D                                                
0x00000001
+#define SYNC_RECIPIENT_FE                                      0x00000001
+#define SYNC_RECIPIENT_RA                                      0x00000005
+#define SYNC_RECIPIENT_PE                                      0x00000007
+#define SYNC_RECIPIENT_DE                                      0x0000000b
+#define SYNC_RECIPIENT_VG                                      0x0000000f
+#define SYNC_RECIPIENT_TESSELATOR                              0x00000010
+#define SYNC_RECIPIENT_VG2                                     0x00000011
+#define SYNC_RECIPIENT_TESSELATOR2                             0x00000012
+#define SYNC_RECIPIENT_VG3                                     0x00000013
+#define SYNC_RECIPIENT_TESSELATOR3                             0x00000014
+#define ENDIAN_MODE_NO_SWAP                                    0x00000000
+#define ENDIAN_MODE_SWAP_16                                    0x00000001
+#define ENDIAN_MODE_SWAP_32                                    0x00000002
+#define chipModel_GC300                                                
0x00000300
+#define chipModel_GC320                                                
0x00000320
+#define chipModel_GC350                                                
0x00000350
+#define chipModel_GC355                                                
0x00000355
+#define chipModel_GC400                                                
0x00000400
+#define chipModel_GC410                                                
0x00000410
+#define chipModel_GC420                                                
0x00000420
+#define chipModel_GC450                                                
0x00000450
+#define chipModel_GC500                                                
0x00000500
+#define chipModel_GC530                                                
0x00000530
+#define chipModel_GC600                                                
0x00000600
+#define chipModel_GC700                                                
0x00000700
+#define chipModel_GC800                                                
0x00000800
+#define chipModel_GC860                                                
0x00000860
+#define chipModel_GC880                                                
0x00000880
+#define chipModel_GC1000                                       0x00001000
+#define chipModel_GC2000                                       0x00002000
+#define chipModel_GC2100                                       0x00002100
+#define chipModel_GC4000                                       0x00004000
+#define RGBA_BITS_R                                            0x00000001
+#define RGBA_BITS_G                                            0x00000002
+#define RGBA_BITS_B                                            0x00000004
+#define RGBA_BITS_A                                            0x00000008
+#define chipFeatures_FAST_CLEAR                                        
0x00000001
+#define chipFeatures_SPECIAL_ANTI_ALIASING                     0x00000002
+#define chipFeatures_PIPE_3D                                   0x00000004
+#define chipFeatures_DXT_TEXTURE_COMPRESSION                   0x00000008
+#define chipFeatures_DEBUG_MODE                                        
0x00000010
+#define chipFeatures_Z_COMPRESSION                             0x00000020
+#define chipFeatures_YUV420_SCALER                             0x00000040
+#define chipFeatures_MSAA                                      0x00000080
+#define chipFeatures_DC                                                
0x00000100
+#define chipFeatures_PIPE_2D                                   0x00000200
+#define chipFeatures_ETC1_TEXTURE_COMPRESSION                  0x00000400
+#define chipFeatures_FAST_SCALER                               0x00000800
+#define chipFeatures_HIGH_DYNAMIC_RANGE                                
0x00001000
+#define chipFeatures_YUV420_TILER                              0x00002000
+#define chipFeatures_MODULE_CG                                 0x00004000
+#define chipFeatures_MIN_AREA                                  0x00008000
+#define chipFeatures_NO_EARLY_Z                                        
0x00010000
+#define chipFeatures_NO_422_TEXTURE                            0x00020000
+#define chipFeatures_BUFFER_INTERLEAVING                       0x00040000
+#define chipFeatures_BYTE_WRITE_2D                             0x00080000
+#define chipFeatures_NO_SCALER                                 0x00100000
+#define chipFeatures_YUY2_AVERAGING                            0x00200000
+#define chipFeatures_HALF_PE_CACHE                             0x00400000
+#define chipFeatures_HALF_TX_CACHE                             0x00800000
+#define chipFeatures_YUY2_RENDER_TARGET                                
0x01000000
+#define chipFeatures_MEM32                                     0x02000000
+#define chipFeatures_PIPE_VG                                   0x04000000
+#define chipFeatures_VGTS                                      0x08000000
+#define chipFeatures_FE20                                      0x10000000
+#define chipFeatures_BYTE_WRITE_3D                             0x20000000
+#define chipFeatures_RS_YUV_TARGET                             0x40000000
+#define chipFeatures_32_BIT_INDICES                            0x80000000
+#define chipMinorFeatures0_FLIP_Y                              0x00000001
+#define chipMinorFeatures0_DUAL_RETURN_BUS                     0x00000002
+#define chipMinorFeatures0_ENDIANNESS_CONFIG                   0x00000004
+#define chipMinorFeatures0_TEXTURE_8K                          0x00000008
+#define chipMinorFeatures0_CORRECT_TEXTURE_CONVERTER           0x00000010
+#define chipMinorFeatures0_SPECIAL_MSAA_LOD                    0x00000020
+#define chipMinorFeatures0_FAST_CLEAR_FLUSH                    0x00000040
+#define chipMinorFeatures0_2DPE20                              0x00000080
+#define chipMinorFeatures0_CORRECT_AUTO_DISABLE                        
0x00000100
+#define chipMinorFeatures0_RENDERTARGET_8K                     0x00000200
+#define chipMinorFeatures0_2BITPERTILE                         0x00000400
+#define chipMinorFeatures0_SEPARATE_TILE_STATUS_WHEN_INTERLEAVED       
0x00000800
+#define chipMinorFeatures0_SUPER_TILED                         0x00001000
+#define chipMinorFeatures0_VG_20                               0x00002000
+#define chipMinorFeatures0_TS_EXTENDED_COMMANDS                        
0x00004000
+#define chipMinorFeatures0_COMPRESSION_FIFO_FIXED              0x00008000
+#define chipMinorFeatures0_HAS_SIGN_FLOOR_CEIL                 0x00010000
+#define chipMinorFeatures0_VG_FILTER                           0x00020000
+#define chipMinorFeatures0_VG_21                               0x00040000
+#define chipMinorFeatures0_SHADER_HAS_W                                
0x00080000
+#define chipMinorFeatures0_HAS_SQRT_TRIG                       0x00100000
+#define chipMinorFeatures0_MORE_MINOR_FEATURES                 0x00200000
+#define chipMinorFeatures0_MC20                                        
0x00400000
+#define chipMinorFeatures0_MSAA_SIDEBAND                       0x00800000
+#define chipMinorFeatures0_BUG_FIXES0                          0x01000000
+#define chipMinorFeatures0_VAA                                 0x02000000
+#define chipMinorFeatures0_BYPASS_IN_MSAA                      0x04000000
+#define chipMinorFeatures0_HZ                                  0x08000000
+#define chipMinorFeatures0_NEW_TEXTURE                         0x10000000
+#define chipMinorFeatures0_2D_A8_TARGET                                
0x20000000
+#define chipMinorFeatures0_CORRECT_STENCIL                     0x40000000
+#define chipMinorFeatures0_ENHANCE_VR                          0x80000000
+#define chipMinorFeatures1_RSUV_SWIZZLE                                
0x00000001
+#define chipMinorFeatures1_V2_COMPRESSION                      0x00000002
+#define chipMinorFeatures1_VG_DOUBLE_BUFFER                    0x00000004
+#define chipMinorFeatures1_EXTRA_EVENT_STATES                  0x00000008
+#define chipMinorFeatures1_NO_STRIPING_NEEDED                  0x00000010
+#define chipMinorFeatures1_TEXTURE_STRIDE                      0x00000020
+#define chipMinorFeatures1_BUG_FIXES3                          0x00000040
+#define chipMinorFeatures1_AUTO_DISABLE                                
0x00000080
+#define chipMinorFeatures1_AUTO_RESTART_TS                     0x00000100
+#define chipMinorFeatures1_DISABLE_PE_GATING                   0x00000200
+#define chipMinorFeatures1_L2_WINDOWING                                
0x00000400
+#define chipMinorFeatures1_HALF_FLOAT                          0x00000800
+#define chipMinorFeatures1_PIXEL_DITHER                                
0x00001000
+#define chipMinorFeatures1_TWO_STENCIL_REFERENCE               0x00002000
+#define chipMinorFeatures1_EXTENDED_PIXEL_FORMAT               0x00004000
+#define chipMinorFeatures1_CORRECT_MIN_MAX_DEPTH               0x00008000
+#define chipMinorFeatures1_2D_DITHER                           0x00010000
+#define chipMinorFeatures1_BUG_FIXES5                          0x00020000
+#define chipMinorFeatures1_NEW_2D                              0x00040000
+#define chipMinorFeatures1_NEW_FP                              0x00080000
+#define chipMinorFeatures1_TEXTURE_HALIGN                      0x00100000
+#define chipMinorFeatures1_NON_POWER_OF_TWO                    0x00200000
+#define chipMinorFeatures1_LINEAR_TEXTURE_SUPPORT              0x00400000
+#define chipMinorFeatures1_HALTI0                              0x00800000
+#define chipMinorFeatures1_CORRECT_OVERFLOW_VG                 0x01000000
+#define chipMinorFeatures1_NEGATIVE_LOG_FIX                    0x02000000
+#define chipMinorFeatures1_RESOLVE_OFFSET                      0x04000000
+#define chipMinorFeatures1_OK_TO_GATE_AXI_CLOCK                        
0x08000000
+#define chipMinorFeatures1_MMU_VERSION                         0x10000000
+#define chipMinorFeatures1_WIDE_LINE                           0x20000000
+#define chipMinorFeatures1_BUG_FIXES6                          0x40000000
+#define chipMinorFeatures1_FC_FLUSH_STALL                      0x80000000
+#define chipMinorFeatures2_LINE_LOOP                           0x00000001
+#define chipMinorFeatures2_LOGIC_OP                            0x00000002
+#define chipMinorFeatures2_UNK2                                        
0x00000004
+#define chipMinorFeatures2_SUPERTILED_TEXTURE                  0x00000008
+#define chipMinorFeatures2_UNK4                                        
0x00000010
+#define chipMinorFeatures2_RECT_PRIMITIVE                      0x00000020
+#define chipMinorFeatures2_COMPOSITION                         0x00000040
+#define chipMinorFeatures2_CORRECT_AUTO_DISABLE_COUNT          0x00000080
+#define chipMinorFeatures2_UNK8                                        
0x00000100
+#define chipMinorFeatures2_UNK9                                        
0x00000200
+#define chipMinorFeatures2_UNK10                               0x00000400
+#define chipMinorFeatures2_SAMPLERBASE_16                      0x00000800
+#define chipMinorFeatures2_UNK12                               0x00001000
+#define chipMinorFeatures2_UNK13                               0x00002000
+#define chipMinorFeatures2_UNK14                               0x00004000
+#define chipMinorFeatures2_EXTRA_TEXTURE_STATE                 0x00008000
+#define chipMinorFeatures2_FULL_DIRECTFB                       0x00010000
+#define chipMinorFeatures2_2D_TILING                           0x00020000
+#define chipMinorFeatures2_THREAD_WALKER_IN_PS                 0x00040000
+#define chipMinorFeatures2_TILE_FILLER                         0x00080000
+#define chipMinorFeatures2_UNK20                               0x00100000
+#define chipMinorFeatures2_2D_MULTI_SOURCE_BLIT                        
0x00200000
+#define chipMinorFeatures2_UNK22                               0x00400000
+#define chipMinorFeatures2_UNK23                               0x00800000
+#define chipMinorFeatures2_UNK24                               0x01000000
+#define chipMinorFeatures2_MIXED_STREAMS                       0x02000000
+#define chipMinorFeatures2_2D_420_L2CACHE                      0x04000000
+#define chipMinorFeatures2_UNK27                               0x08000000
+#define chipMinorFeatures2_2D_NO_INDEX8_BRUSH                  0x10000000
+#define chipMinorFeatures2_TEXTURE_TILED_READ                  0x20000000
+#define chipMinorFeatures2_UNK30                               0x40000000
+#define chipMinorFeatures2_UNK31                               0x80000000
+#define chipMinorFeatures3_ROTATION_STALL_FIX                  0x00000001
+#define chipMinorFeatures3_UNK1                                        
0x00000002
+#define chipMinorFeatures3_2D_MULTI_SOURCE_BLT_EX              0x00000004
+#define chipMinorFeatures3_UNK3                                        
0x00000008
+#define chipMinorFeatures3_UNK4                                        
0x00000010
+#define chipMinorFeatures3_UNK5                                        
0x00000020
+#define chipMinorFeatures3_UNK6                                        
0x00000040
+#define chipMinorFeatures3_UNK7                                        
0x00000080
+#define chipMinorFeatures3_UNK8                                        
0x00000100
+#define chipMinorFeatures3_UNK9                                        
0x00000200
+#define chipMinorFeatures3_BUG_FIXES10                         0x00000400
+#define chipMinorFeatures3_UNK11                               0x00000800
+#define chipMinorFeatures3_BUG_FIXES11                         0x00001000
+#define chipMinorFeatures3_UNK13                               0x00002000
+#define chipMinorFeatures3_UNK14                               0x00004000
+#define chipMinorFeatures3_UNK15                               0x00008000
+#define chipMinorFeatures3_UNK16                               0x00010000
+#define chipMinorFeatures3_UNK17                               0x00020000
+#define chipMinorFeatures3_UNK18                               0x00040000
+#define chipMinorFeatures3_UNK19                               0x00080000
+#define chipMinorFeatures3_UNK20                               0x00100000
+#define chipMinorFeatures3_UNK21                               0x00200000
+#define chipMinorFeatures3_UNK22                               0x00400000
+#define chipMinorFeatures3_UNK23                               0x00800000
+#define chipMinorFeatures3_UNK24                               0x01000000
+#define chipMinorFeatures3_UNK25                               0x02000000
+#define chipMinorFeatures3_UNK26                               0x04000000
+#define chipMinorFeatures3_UNK27                               0x08000000
+#define chipMinorFeatures3_UNK28                               0x10000000
+#define chipMinorFeatures3_UNK29                               0x20000000
+#define chipMinorFeatures3_UNK30                               0x40000000
+#define chipMinorFeatures3_UNK31                               0x80000000
+#define chipMinorFeatures4_UNK0                                        
0x00000001
+#define chipMinorFeatures4_UNK1                                        
0x00000002
+#define chipMinorFeatures4_UNK2                                        
0x00000004
+#define chipMinorFeatures4_UNK3                                        
0x00000008
+#define chipMinorFeatures4_UNK4                                        
0x00000010
+#define chipMinorFeatures4_UNK5                                        
0x00000020
+#define chipMinorFeatures4_UNK6                                        
0x00000040
+#define chipMinorFeatures4_UNK7                                        
0x00000080
+#define chipMinorFeatures4_UNK8                                        
0x00000100
+#define chipMinorFeatures4_UNK9                                        
0x00000200
+#define chipMinorFeatures4_UNK10                               0x00000400
+#define chipMinorFeatures4_UNK11                               0x00000800
+#define chipMinorFeatures4_UNK12                               0x00001000
+#define chipMinorFeatures4_UNK13                               0x00002000
+#define chipMinorFeatures4_UNK14                               0x00004000
+#define chipMinorFeatures4_UNK15                               0x00008000
+#define chipMinorFeatures4_UNK16                               0x00010000
+#define chipMinorFeatures4_UNK17                               0x00020000
+#define chipMinorFeatures4_UNK18                               0x00040000
+#define chipMinorFeatures4_UNK19                               0x00080000
+#define chipMinorFeatures4_UNK20                               0x00100000
+#define chipMinorFeatures4_UNK21                               0x00200000
+#define chipMinorFeatures4_UNK22                               0x00400000
+#define chipMinorFeatures4_UNK23                               0x00800000
+#define chipMinorFeatures4_UNK24                               0x01000000
+#define chipMinorFeatures4_UNK25                               0x02000000
+#define chipMinorFeatures4_UNK26                               0x04000000
+#define chipMinorFeatures4_UNK27                               0x08000000
+#define chipMinorFeatures4_UNK28                               0x10000000
+#define chipMinorFeatures4_UNK29                               0x20000000
+#define chipMinorFeatures4_UNK30                               0x40000000
+#define chipMinorFeatures4_UNK31                               0x80000000
+
+#endif /* COMMON_XML */
diff --git a/drivers/gpu/drm/etnaviv/state.xml.h 
b/drivers/gpu/drm/etnaviv/state.xml.h
new file mode 100644
index 000000000000..368218304566
--- /dev/null
+++ b/drivers/gpu/drm/etnaviv/state.xml.h
@@ -0,0 +1,351 @@
+#ifndef STATE_XML
+#define STATE_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git 
repository:
+http://0x04.net/cgit/index.cgi/rules-ng-ng
+git clone git://0x04.net/rules-ng-ng
+
+The rules-ng-ng source files this header was generated from are:
+- state.xml    (  18882 bytes, from 2015-03-25 11:42:32)
+- common.xml   (  18437 bytes, from 2015-03-25 11:27:41)
+- state_hi.xml (  23420 bytes, from 2015-03-25 11:47:21)
+- state_2d.xml (  51549 bytes, from 2015-03-25 11:25:06)
+- state_3d.xml (  54600 bytes, from 2015-03-25 11:25:19)
+- state_vg.xml (   5973 bytes, from 2015-03-25 11:26:01)
+
+Copyright (C) 2015
+*/
+
+
+#define VARYING_COMPONENT_USE_UNUSED                           0x00000000
+#define VARYING_COMPONENT_USE_USED                             0x00000001
+#define VARYING_COMPONENT_USE_POINTCOORD_X                     0x00000002
+#define VARYING_COMPONENT_USE_POINTCOORD_Y                     0x00000003
+#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK           0x000000ff
+#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT          0
+#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE(x)              (((x) << 
FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT) & 
FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK)
+#define VIVS_FE                                                        
0x00000000
+
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG(i0)                     (0x00000600 + 
0x4*(i0))
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG__ESIZE                   0x00000004
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG__LEN                     0x00000010
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__MASK               0x0000000f
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__SHIFT              0
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_BYTE                        
0x00000000
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_UNSIGNED_BYTE       0x00000001
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_SHORT               0x00000002
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_UNSIGNED_SHORT      0x00000003
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_INT                 0x00000004
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_UNSIGNED_INT                
0x00000005
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_FLOAT               0x00000008
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_HALF_FLOAT          0x00000009
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_FIXED               0x0000000b
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_INT_10_10_10_2      0x0000000c
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE_UNSIGNED_INT_10_10_10_2     
0x0000000d
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK             0x00000030
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT            4
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN(x)                        (((x) 
<< VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT) & 
VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK)
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NONCONSECUTIVE           0x00000080
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK             0x00000700
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT            8
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM(x)                        (((x) 
<< VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT) & 
VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK)
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK                        
0x00003000
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT               12
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM(x)                   (((x) << 
VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT) & 
VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK)
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__MASK          0x0000c000
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__SHIFT         14
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_OFF            0x00000000
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_ON             0x00008000
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK              0x00ff0000
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT             16
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START(x)                 (((x) << 
VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT) & 
VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK)
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK                        
0xff000000
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT               24
+#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END(x)                   (((x) << 
VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT) & 
VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK)
+
+#define VIVS_FE_CMD_STREAM_BASE_ADDR                           0x00000640
+
+#define VIVS_FE_INDEX_STREAM_BASE_ADDR                         0x00000644
+
+#define VIVS_FE_INDEX_STREAM_CONTROL                           0x00000648
+#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__MASK                        
0x00000003
+#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__SHIFT               0
+#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_CHAR                
0x00000000
+#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_SHORT       0x00000001
+#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_INT         0x00000002
+
+#define VIVS_FE_VERTEX_STREAM_BASE_ADDR                                
0x0000064c
+
+#define VIVS_FE_VERTEX_STREAM_CONTROL                          0x00000650
+
+#define VIVS_FE_COMMAND_ADDRESS                                        
0x00000654
+
+#define VIVS_FE_COMMAND_CONTROL                                        
0x00000658
+#define VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK                 0x0000ffff
+#define VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT                        0
+#define VIVS_FE_COMMAND_CONTROL_PREFETCH(x)                    (((x) << 
VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT) & 
VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK)
+#define VIVS_FE_COMMAND_CONTROL_ENABLE                         0x00010000
+
+#define VIVS_FE_DMA_STATUS                                     0x0000065c
+
+#define VIVS_FE_DMA_DEBUG_STATE                                        
0x00000660
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__MASK                        
0x0000001f
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__SHIFT               0
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_IDLE                 0x00000000
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DEC                  0x00000001
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR0                 0x00000002
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD0                        
0x00000003
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR1                 0x00000004
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD1                        
0x00000005
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DADR                        
0x00000006
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCMD                        
0x00000007
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCNTL               0x00000008
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DIDXCNTL            0x00000009
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_INITREQDMA           0x0000000a
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAWIDX              0x0000000b
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAW                 0x0000000c
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT0              0x0000000d
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT1              0x0000000e
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA0              0x0000000f
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA1              0x00000010
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAITFIFO             0x00000011
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAIT                 0x00000012
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LINK                 0x00000013
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_END                  0x00000014
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_STALL                        
0x00000015
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__MASK            0x00000300
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__SHIFT           8
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_IDLE             0x00000000
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_START            0x00000100
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_REQ              0x00000200
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_END              0x00000300
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__MASK          0x00000c00
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__SHIFT         10
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_IDLE           0x00000000
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_RAMVALID       0x00000400
+#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_VALID          0x00000800
+#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__MASK            0x00003000
+#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__SHIFT           12
+#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_IDLE             0x00000000
+#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_WAITIDX          0x00001000
+#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_CAL              0x00002000
+#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__MASK                        
0x0000c000
+#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__SHIFT               14
+#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDLE                 0x00000000
+#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_LDADR                        
0x00004000
+#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDXCALC              0x00008000
+#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__MASK             0x00030000
+#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__SHIFT            16
+#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_IDLE              0x00000000
+#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_CKCACHE           0x00010000
+#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_MISS              0x00020000
+
+#define VIVS_FE_DMA_ADDRESS                                    0x00000664
+
+#define VIVS_FE_DMA_LOW                                                
0x00000668
+
+#define VIVS_FE_DMA_HIGH                                       0x0000066c
+
+#define VIVS_FE_AUTO_FLUSH                                     0x00000670
+
+#define VIVS_FE_UNK00678                                       0x00000678
+
+#define VIVS_FE_UNK0067C                                       0x0000067c
+
+#define VIVS_FE_VERTEX_STREAMS(i0)                            (0x00000000 + 
0x4*(i0))
+#define VIVS_FE_VERTEX_STREAMS__ESIZE                          0x00000004
+#define VIVS_FE_VERTEX_STREAMS__LEN                            0x00000008
+
+#define VIVS_FE_VERTEX_STREAMS_BASE_ADDR(i0)                  (0x00000680 + 
0x4*(i0))
+
+#define VIVS_FE_VERTEX_STREAMS_CONTROL(i0)                    (0x000006a0 + 
0x4*(i0))
+
+#define VIVS_FE_UNK00700(i0)                                  (0x00000700 + 
0x4*(i0))
+#define VIVS_FE_UNK00700__ESIZE                                        
0x00000004
+#define VIVS_FE_UNK00700__LEN                                  0x00000010
+
+#define VIVS_FE_UNK00740(i0)                                  (0x00000740 + 
0x4*(i0))
+#define VIVS_FE_UNK00740__ESIZE                                        
0x00000004
+#define VIVS_FE_UNK00740__LEN                                  0x00000010
+
+#define VIVS_FE_UNK00780(i0)                                  (0x00000780 + 
0x4*(i0))
+#define VIVS_FE_UNK00780__ESIZE                                        
0x00000004
+#define VIVS_FE_UNK00780__LEN                                  0x00000010
+
+#define VIVS_GL                                                        
0x00000000
+
+#define VIVS_GL_PIPE_SELECT                                    0x00003800
+#define VIVS_GL_PIPE_SELECT_PIPE__MASK                         0x00000001
+#define VIVS_GL_PIPE_SELECT_PIPE__SHIFT                                0
+#define VIVS_GL_PIPE_SELECT_PIPE(x)                            (((x) << 
VIVS_GL_PIPE_SELECT_PIPE__SHIFT) & VIVS_GL_PIPE_SELECT_PIPE__MASK)
+
+#define VIVS_GL_EVENT                                          0x00003804
+#define VIVS_GL_EVENT_EVENT_ID__MASK                           0x0000001f
+#define VIVS_GL_EVENT_EVENT_ID__SHIFT                          0
+#define VIVS_GL_EVENT_EVENT_ID(x)                              (((x) << 
VIVS_GL_EVENT_EVENT_ID__SHIFT) & VIVS_GL_EVENT_EVENT_ID__MASK)
+#define VIVS_GL_EVENT_FROM_FE                                  0x00000020
+#define VIVS_GL_EVENT_FROM_PE                                  0x00000040
+#define VIVS_GL_EVENT_SOURCE__MASK                             0x00001f00
+#define VIVS_GL_EVENT_SOURCE__SHIFT                            8
+#define VIVS_GL_EVENT_SOURCE(x)                                        (((x) 
<< VIVS_GL_EVENT_SOURCE__SHIFT) & VIVS_GL_EVENT_SOURCE__MASK)
+
+#define VIVS_GL_SEMAPHORE_TOKEN                                        
0x00003808
+#define VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK                     0x0000001f
+#define VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT                    0
+#define VIVS_GL_SEMAPHORE_TOKEN_FROM(x)                                (((x) 
<< VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK)
+#define VIVS_GL_SEMAPHORE_TOKEN_TO__MASK                       0x00001f00
+#define VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT                      8
+#define VIVS_GL_SEMAPHORE_TOKEN_TO(x)                          (((x) << 
VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_TO__MASK)
+
+#define VIVS_GL_FLUSH_CACHE                                    0x0000380c
+#define VIVS_GL_FLUSH_CACHE_DEPTH                              0x00000001
+#define VIVS_GL_FLUSH_CACHE_COLOR                              0x00000002
+#define VIVS_GL_FLUSH_CACHE_TEXTURE                            0x00000004
+#define VIVS_GL_FLUSH_CACHE_PE2D                               0x00000008
+#define VIVS_GL_FLUSH_CACHE_TEXTUREVS                          0x00000010
+#define VIVS_GL_FLUSH_CACHE_SHADER_L1                          0x00000020
+#define VIVS_GL_FLUSH_CACHE_SHADER_L2                          0x00000040
+
+#define VIVS_GL_FLUSH_MMU                                      0x00003810
+#define VIVS_GL_FLUSH_MMU_FLUSH_FEMMU                          0x00000001
+#define VIVS_GL_FLUSH_MMU_FLUSH_UNK1                           0x00000002
+#define VIVS_GL_FLUSH_MMU_FLUSH_UNK2                           0x00000004
+#define VIVS_GL_FLUSH_MMU_FLUSH_PEMMU                          0x00000008
+#define VIVS_GL_FLUSH_MMU_FLUSH_UNK4                           0x00000010
+
+#define VIVS_GL_VERTEX_ELEMENT_CONFIG                          0x00003814
+
+#define VIVS_GL_MULTI_SAMPLE_CONFIG                            0x00003818
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__MASK         0x00000003
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__SHIFT                0
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_NONE          0x00000000
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_2X            0x00000001
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_4X            0x00000002
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_MASK          0x00000008
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__MASK         0x000000f0
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__SHIFT                4
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES(x)            (((x) << 
VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__SHIFT) & 
VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__MASK)
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES_MASK          0x00000100
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK                        
0x00007000
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT               12
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12(x)                   (((x) << 
VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT) & 
VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK)
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12_MASK                 0x00008000
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK                        
0x00030000
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT               16
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16(x)                   (((x) << 
VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT) & 
VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK)
+#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16_MASK                 0x00080000
+
+#define VIVS_GL_VARYING_TOTAL_COMPONENTS                       0x0000381c
+#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK             0x000000ff
+#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT            0
+#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM(x)                        (((x) 
<< VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT) & 
VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK)
+
+#define VIVS_GL_VARYING_NUM_COMPONENTS                         0x00003820
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR0__MASK              0x00000007
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR0__SHIFT             0
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR0(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR0__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR0__MASK)
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR1__MASK              0x00000070
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR1__SHIFT             4
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR1(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR1__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR1__MASK)
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR2__MASK              0x00000700
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR2__SHIFT             8
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR2(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR2__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR2__MASK)
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR3__MASK              0x00007000
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR3__SHIFT             12
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR3(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR3__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR3__MASK)
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR4__MASK              0x00070000
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR4__SHIFT             16
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR4(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR4__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR4__MASK)
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR5__MASK              0x00700000
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR5__SHIFT             20
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR5(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR5__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR5__MASK)
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR6__MASK              0x07000000
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR6__SHIFT             24
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR6(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR6__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR6__MASK)
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR7__MASK              0x70000000
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR7__SHIFT             28
+#define VIVS_GL_VARYING_NUM_COMPONENTS_VAR7(x)                 (((x) << 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR7__SHIFT) & 
VIVS_GL_VARYING_NUM_COMPONENTS_VAR7__MASK)
+
+#define VIVS_GL_VARYING_COMPONENT_USE(i0)                     (0x00003828 + 
0x4*(i0))
+#define VIVS_GL_VARYING_COMPONENT_USE__ESIZE                   0x00000004
+#define VIVS_GL_VARYING_COMPONENT_USE__LEN                     0x00000002
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK              0x00000003
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT             0
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP0(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK              0x0000000c
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT             2
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP1(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK              0x00000030
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT             4
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP2(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK              0x000000c0
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT             6
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP3(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK              0x00000300
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT             8
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP4(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK              0x00000c00
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT             10
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP5(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK              0x00003000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT             12
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP6(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK              0x0000c000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT             14
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP7(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK              0x00030000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT             16
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP8(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK              0x000c0000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT             18
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP9(x)                 (((x) << 
VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK             0x00300000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT            20
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP10(x)                        (((x) 
<< VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK             0x00c00000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT            22
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP11(x)                        (((x) 
<< VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK             0x03000000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT            24
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP12(x)                        (((x) 
<< VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK             0x0c000000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT            26
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP13(x)                        (((x) 
<< VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK             0x30000000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT            28
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP14(x)                        (((x) 
<< VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK)
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK             0xc0000000
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT            30
+#define VIVS_GL_VARYING_COMPONENT_USE_COMP15(x)                        (((x) 
<< VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT) & 
VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK)
+
+#define VIVS_GL_UNK03834                                       0x00003834
+
+#define VIVS_GL_UNK03838                                       0x00003838
+
+#define VIVS_GL_API_MODE                                       0x0000384c
+#define VIVS_GL_API_MODE_OPENGL                                        
0x00000000
+#define VIVS_GL_API_MODE_OPENVG                                        
0x00000001
+#define VIVS_GL_API_MODE_OPENCL                                        
0x00000002
+
+#define VIVS_GL_CONTEXT_POINTER                                        
0x00003850
+
+#define VIVS_GL_UNK03A00                                       0x00003a00
+
+#define VIVS_GL_STALL_TOKEN                                    0x00003c00
+#define VIVS_GL_STALL_TOKEN_FROM__MASK                         0x0000001f
+#define VIVS_GL_STALL_TOKEN_FROM__SHIFT                                0
+#define VIVS_GL_STALL_TOKEN_FROM(x)                            (((x) << 
VIVS_GL_STALL_TOKEN_FROM__SHIFT) & VIVS_GL_STALL_TOKEN_FROM__MASK)
+#define VIVS_GL_STALL_TOKEN_TO__MASK                           0x00001f00
+#define VIVS_GL_STALL_TOKEN_TO__SHIFT                          8
+#define VIVS_GL_STALL_TOKEN_TO(x)                              (((x) << 
VIVS_GL_STALL_TOKEN_TO__SHIFT) & VIVS_GL_STALL_TOKEN_TO__MASK)
+#define VIVS_GL_STALL_TOKEN_FLIP0                              0x40000000
+#define VIVS_GL_STALL_TOKEN_FLIP1                              0x80000000
+
+#define VIVS_DUMMY                                             0x00000000
+
+#define VIVS_DUMMY_DUMMY                                       0x0003fffc
+
+
+#endif /* STATE_XML */
diff --git a/drivers/gpu/drm/etnaviv/state_hi.xml.h 
b/drivers/gpu/drm/etnaviv/state_hi.xml.h
new file mode 100644
index 000000000000..0064f2640396
--- /dev/null
+++ b/drivers/gpu/drm/etnaviv/state_hi.xml.h
@@ -0,0 +1,407 @@
+#ifndef STATE_HI_XML
+#define STATE_HI_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git 
repository:
+http://0x04.net/cgit/index.cgi/rules-ng-ng
+git clone git://0x04.net/rules-ng-ng
+
+The rules-ng-ng source files this header was generated from are:
+- state_hi.xml (  23420 bytes, from 2015-03-25 11:47:21)
+- common.xml   (  18437 bytes, from 2015-03-25 11:27:41)
+
+Copyright (C) 2015
+*/
+
+
+#define MMU_EXCEPTION_SLAVE_NOT_PRESENT                                
0x00000001
+#define MMU_EXCEPTION_PAGE_NOT_PRESENT                         0x00000002
+#define MMU_EXCEPTION_WRITE_VIOLATION                          0x00000003
+#define VIVS_HI                                                        
0x00000000
+
+#define VIVS_HI_CLOCK_CONTROL                                  0x00000000
+#define VIVS_HI_CLOCK_CONTROL_CLK3D_DIS                                
0x00000001
+#define VIVS_HI_CLOCK_CONTROL_CLK2D_DIS                                
0x00000002
+#define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__MASK                 0x000001fc
+#define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__SHIFT                        2
+#define VIVS_HI_CLOCK_CONTROL_FSCALE_VAL(x)                    (((x) << 
VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__SHIFT) & 
VIVS_HI_CLOCK_CONTROL_FSCALE_VAL__MASK)
+#define VIVS_HI_CLOCK_CONTROL_FSCALE_CMD_LOAD                  0x00000200
+#define VIVS_HI_CLOCK_CONTROL_DISABLE_RAM_CLK_GATING           0x00000400
+#define VIVS_HI_CLOCK_CONTROL_DISABLE_DEBUG_REGISTERS          0x00000800
+#define VIVS_HI_CLOCK_CONTROL_SOFT_RESET                       0x00001000
+#define VIVS_HI_CLOCK_CONTROL_IDLE_3D                          0x00010000
+#define VIVS_HI_CLOCK_CONTROL_IDLE_2D                          0x00020000
+#define VIVS_HI_CLOCK_CONTROL_IDLE_VG                          0x00040000
+#define VIVS_HI_CLOCK_CONTROL_ISOLATE_GPU                      0x00080000
+#define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__MASK           0x00f00000
+#define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__SHIFT          20
+#define VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE(x)              (((x) << 
VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__SHIFT) & 
VIVS_HI_CLOCK_CONTROL_DEBUG_PIXEL_PIPE__MASK)
+
+#define VIVS_HI_IDLE_STATE                                     0x00000004
+#define VIVS_HI_IDLE_STATE_FE                                  0x00000001
+#define VIVS_HI_IDLE_STATE_DE                                  0x00000002
+#define VIVS_HI_IDLE_STATE_PE                                  0x00000004
+#define VIVS_HI_IDLE_STATE_SH                                  0x00000008
+#define VIVS_HI_IDLE_STATE_PA                                  0x00000010
+#define VIVS_HI_IDLE_STATE_SE                                  0x00000020
+#define VIVS_HI_IDLE_STATE_RA                                  0x00000040
+#define VIVS_HI_IDLE_STATE_TX                                  0x00000080
+#define VIVS_HI_IDLE_STATE_VG                                  0x00000100
+#define VIVS_HI_IDLE_STATE_IM                                  0x00000200
+#define VIVS_HI_IDLE_STATE_FP                                  0x00000400
+#define VIVS_HI_IDLE_STATE_TS                                  0x00000800
+#define VIVS_HI_IDLE_STATE_AXI_LP                              0x80000000
+
+#define VIVS_HI_AXI_CONFIG                                     0x00000008
+#define VIVS_HI_AXI_CONFIG_AWID__MASK                          0x0000000f
+#define VIVS_HI_AXI_CONFIG_AWID__SHIFT                         0
+#define VIVS_HI_AXI_CONFIG_AWID(x)                             (((x) << 
VIVS_HI_AXI_CONFIG_AWID__SHIFT) & VIVS_HI_AXI_CONFIG_AWID__MASK)
+#define VIVS_HI_AXI_CONFIG_ARID__MASK                          0x000000f0
+#define VIVS_HI_AXI_CONFIG_ARID__SHIFT                         4
+#define VIVS_HI_AXI_CONFIG_ARID(x)                             (((x) << 
VIVS_HI_AXI_CONFIG_ARID__SHIFT) & VIVS_HI_AXI_CONFIG_ARID__MASK)
+#define VIVS_HI_AXI_CONFIG_AWCACHE__MASK                       0x00000f00
+#define VIVS_HI_AXI_CONFIG_AWCACHE__SHIFT                      8
+#define VIVS_HI_AXI_CONFIG_AWCACHE(x)                          (((x) << 
VIVS_HI_AXI_CONFIG_AWCACHE__SHIFT) & VIVS_HI_AXI_CONFIG_AWCACHE__MASK)
+#define VIVS_HI_AXI_CONFIG_ARCACHE__MASK                       0x0000f000
+#define VIVS_HI_AXI_CONFIG_ARCACHE__SHIFT                      12
+#define VIVS_HI_AXI_CONFIG_ARCACHE(x)                          (((x) << 
VIVS_HI_AXI_CONFIG_ARCACHE__SHIFT) & VIVS_HI_AXI_CONFIG_ARCACHE__MASK)
+
+#define VIVS_HI_AXI_STATUS                                     0x0000000c
+#define VIVS_HI_AXI_STATUS_WR_ERR_ID__MASK                     0x0000000f
+#define VIVS_HI_AXI_STATUS_WR_ERR_ID__SHIFT                    0
+#define VIVS_HI_AXI_STATUS_WR_ERR_ID(x)                                (((x) 
<< VIVS_HI_AXI_STATUS_WR_ERR_ID__SHIFT) & VIVS_HI_AXI_STATUS_WR_ERR_ID__MASK)
+#define VIVS_HI_AXI_STATUS_RD_ERR_ID__MASK                     0x000000f0
+#define VIVS_HI_AXI_STATUS_RD_ERR_ID__SHIFT                    4
+#define VIVS_HI_AXI_STATUS_RD_ERR_ID(x)                                (((x) 
<< VIVS_HI_AXI_STATUS_RD_ERR_ID__SHIFT) & VIVS_HI_AXI_STATUS_RD_ERR_ID__MASK)
+#define VIVS_HI_AXI_STATUS_DET_WR_ERR                          0x00000100
+#define VIVS_HI_AXI_STATUS_DET_RD_ERR                          0x00000200
+
+#define VIVS_HI_INTR_ACKNOWLEDGE                               0x00000010
+#define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__MASK                        
0x7fffffff
+#define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__SHIFT               0
+#define VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC(x)                   (((x) << 
VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__SHIFT) & 
VIVS_HI_INTR_ACKNOWLEDGE_INTR_VEC__MASK)
+#define VIVS_HI_INTR_ACKNOWLEDGE_AXI_BUS_ERROR                 0x80000000
+
+#define VIVS_HI_INTR_ENBL                                      0x00000014
+#define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__MASK                  0xffffffff
+#define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__SHIFT                 0
+#define VIVS_HI_INTR_ENBL_INTR_ENBL_VEC(x)                     (((x) << 
VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__SHIFT) & VIVS_HI_INTR_ENBL_INTR_ENBL_VEC__MASK)
+
+#define VIVS_HI_CHIP_IDENTITY                                  0x00000018
+#define VIVS_HI_CHIP_IDENTITY_FAMILY__MASK                     0xff000000
+#define VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT                    24
+#define VIVS_HI_CHIP_IDENTITY_FAMILY(x)                                (((x) 
<< VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT) & VIVS_HI_CHIP_IDENTITY_FAMILY__MASK)
+#define VIVS_HI_CHIP_IDENTITY_PRODUCT__MASK                    0x00ff0000
+#define VIVS_HI_CHIP_IDENTITY_PRODUCT__SHIFT                   16
+#define VIVS_HI_CHIP_IDENTITY_PRODUCT(x)                       (((x) << 
VIVS_HI_CHIP_IDENTITY_PRODUCT__SHIFT) & VIVS_HI_CHIP_IDENTITY_PRODUCT__MASK)
+#define VIVS_HI_CHIP_IDENTITY_REVISION__MASK                   0x0000f000
+#define VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT                  12
+#define VIVS_HI_CHIP_IDENTITY_REVISION(x)                      (((x) << 
VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT) & VIVS_HI_CHIP_IDENTITY_REVISION__MASK)
+
+#define VIVS_HI_CHIP_FEATURE                                   0x0000001c
+
+#define VIVS_HI_CHIP_MODEL                                     0x00000020
+
+#define VIVS_HI_CHIP_REV                                       0x00000024
+
+#define VIVS_HI_CHIP_DATE                                      0x00000028
+
+#define VIVS_HI_CHIP_TIME                                      0x0000002c
+
+#define VIVS_HI_CHIP_MINOR_FEATURE_0                           0x00000034
+
+#define VIVS_HI_CACHE_CONTROL                                  0x00000038
+
+#define VIVS_HI_MEMORY_COUNTER_RESET                           0x0000003c
+
+#define VIVS_HI_PROFILE_READ_BYTES8                            0x00000040
+
+#define VIVS_HI_PROFILE_WRITE_BYTES8                           0x00000044
+
+#define VIVS_HI_CHIP_SPECS                                     0x00000048
+#define VIVS_HI_CHIP_SPECS_STREAM_COUNT__MASK                  0x0000000f
+#define VIVS_HI_CHIP_SPECS_STREAM_COUNT__SHIFT                 0
+#define VIVS_HI_CHIP_SPECS_STREAM_COUNT(x)                     (((x) << 
VIVS_HI_CHIP_SPECS_STREAM_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_STREAM_COUNT__MASK)
+#define VIVS_HI_CHIP_SPECS_REGISTER_MAX__MASK                  0x000000f0
+#define VIVS_HI_CHIP_SPECS_REGISTER_MAX__SHIFT                 4
+#define VIVS_HI_CHIP_SPECS_REGISTER_MAX(x)                     (((x) << 
VIVS_HI_CHIP_SPECS_REGISTER_MAX__SHIFT) & VIVS_HI_CHIP_SPECS_REGISTER_MAX__MASK)
+#define VIVS_HI_CHIP_SPECS_THREAD_COUNT__MASK                  0x00000f00
+#define VIVS_HI_CHIP_SPECS_THREAD_COUNT__SHIFT                 8
+#define VIVS_HI_CHIP_SPECS_THREAD_COUNT(x)                     (((x) << 
VIVS_HI_CHIP_SPECS_THREAD_COUNT__SHIFT) & VIVS_HI_CHIP_SPECS_THREAD_COUNT__MASK)
+#define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__MASK             0x0001f000
+#define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__SHIFT            12
+#define VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE(x)                        (((x) 
<< VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__SHIFT) & 
VIVS_HI_CHIP_SPECS_VERTEX_CACHE_SIZE__MASK)
+#define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__MASK             0x01f00000
+#define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__SHIFT            20
+#define VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT(x)                        (((x) 
<< VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__SHIFT) & 
VIVS_HI_CHIP_SPECS_SHADER_CORE_COUNT__MASK)
+#define VIVS_HI_CHIP_SPECS_PIXEL_PIPES__MASK                   0x0e000000
+#define VIVS_HI_CHIP_SPECS_PIXEL_PIPES__SHIFT                  25
+#define VIVS_HI_CHIP_SPECS_PIXEL_PIPES(x)                      (((x) << 
VIVS_HI_CHIP_SPECS_PIXEL_PIPES__SHIFT) & VIVS_HI_CHIP_SPECS_PIXEL_PIPES__MASK)
+#define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__MASK     0xf0000000
+#define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__SHIFT    28
+#define VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE(x)                (((x) 
<< VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__SHIFT) & 
VIVS_HI_CHIP_SPECS_VERTEX_OUTPUT_BUFFER_SIZE__MASK)
+
+#define VIVS_HI_PROFILE_WRITE_BURSTS                           0x0000004c
+
+#define VIVS_HI_PROFILE_WRITE_REQUESTS                         0x00000050
+
+#define VIVS_HI_PROFILE_READ_BURSTS                            0x00000058
+
+#define VIVS_HI_PROFILE_READ_REQUESTS                          0x0000005c
+
+#define VIVS_HI_PROFILE_READ_LASTS                             0x00000060
+
+#define VIVS_HI_GP_OUT0                                                
0x00000064
+
+#define VIVS_HI_GP_OUT1                                                
0x00000068
+
+#define VIVS_HI_GP_OUT2                                                
0x0000006c
+
+#define VIVS_HI_AXI_CONTROL                                    0x00000070
+#define VIVS_HI_AXI_CONTROL_WR_FULL_BURST_MODE                 0x00000001
+
+#define VIVS_HI_CHIP_MINOR_FEATURE_1                           0x00000074
+
+#define VIVS_HI_PROFILE_TOTAL_CYCLES                           0x00000078
+
+#define VIVS_HI_PROFILE_IDLE_CYCLES                            0x0000007c
+
+#define VIVS_HI_CHIP_SPECS_2                                   0x00000080
+#define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__MASK                 0x000000ff
+#define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__SHIFT                        0
+#define VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE(x)                    (((x) << 
VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__SHIFT) & 
VIVS_HI_CHIP_SPECS_2_BUFFER_SIZE__MASK)
+#define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__MASK           0x0000ff00
+#define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__SHIFT          8
+#define VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT(x)              (((x) << 
VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__SHIFT) & 
VIVS_HI_CHIP_SPECS_2_INSTRUCTION_COUNT__MASK)
+#define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__MASK               0xffff0000
+#define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__SHIFT              16
+#define VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS(x)                  (((x) << 
VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__SHIFT) & 
VIVS_HI_CHIP_SPECS_2_NUM_CONSTANTS__MASK)
+
+#define VIVS_HI_CHIP_MINOR_FEATURE_2                           0x00000084
+
+#define VIVS_HI_CHIP_MINOR_FEATURE_3                           0x00000088
+
+#define VIVS_HI_CHIP_MINOR_FEATURE_4                           0x00000094
+
+#define VIVS_PM                                                        
0x00000000
+
+#define VIVS_PM_POWER_CONTROLS                                 0x00000100
+#define VIVS_PM_POWER_CONTROLS_ENABLE_MODULE_CLOCK_GATING      0x00000001
+#define VIVS_PM_POWER_CONTROLS_DISABLE_STALL_MODULE_CLOCK_GATING       
0x00000002
+#define VIVS_PM_POWER_CONTROLS_DISABLE_STARVE_MODULE_CLOCK_GATING      
0x00000004
+#define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__MASK           0x000000f0
+#define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__SHIFT          4
+#define VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER(x)              (((x) << 
VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__SHIFT) & 
VIVS_PM_POWER_CONTROLS_TURN_ON_COUNTER__MASK)
+#define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__MASK          0xffff0000
+#define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__SHIFT         16
+#define VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER(x)             (((x) << 
VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__SHIFT) & 
VIVS_PM_POWER_CONTROLS_TURN_OFF_COUNTER__MASK)
+
+#define VIVS_PM_MODULE_CONTROLS                                        
0x00000104
+#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_FE 0x00000001
+#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_DE 0x00000002
+#define VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_PE 0x00000004
+
+#define VIVS_PM_MODULE_STATUS                                  0x00000108
+#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_FE            0x00000001
+#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_DE            0x00000002
+#define VIVS_PM_MODULE_STATUS_MODULE_CLOCK_GATED_PE            0x00000004
+
+#define VIVS_PM_PULSE_EATER                                    0x0000010c
+
+#define VIVS_MMUv2                                             0x00000000
+
+#define VIVS_MMUv2_SAFE_ADDRESS                                        
0x00000180
+
+#define VIVS_MMUv2_CONFIGURATION                               0x00000184
+#define VIVS_MMUv2_CONFIGURATION_MODE__MASK                    0x00000001
+#define VIVS_MMUv2_CONFIGURATION_MODE__SHIFT                   0
+#define VIVS_MMUv2_CONFIGURATION_MODE_MODE4_K                  0x00000000
+#define VIVS_MMUv2_CONFIGURATION_MODE_MODE1_K                  0x00000001
+#define VIVS_MMUv2_CONFIGURATION_MODE_MASK                     0x00000008
+#define VIVS_MMUv2_CONFIGURATION_FLUSH__MASK                   0x00000010
+#define VIVS_MMUv2_CONFIGURATION_FLUSH__SHIFT                  4
+#define VIVS_MMUv2_CONFIGURATION_FLUSH_FLUSH                   0x00000010
+#define VIVS_MMUv2_CONFIGURATION_FLUSH_MASK                    0x00000080
+#define VIVS_MMUv2_CONFIGURATION_ADDRESS_MASK                  0x00000100
+#define VIVS_MMUv2_CONFIGURATION_ADDRESS__MASK                 0xfffffc00
+#define VIVS_MMUv2_CONFIGURATION_ADDRESS__SHIFT                        10
+#define VIVS_MMUv2_CONFIGURATION_ADDRESS(x)                    (((x) << 
VIVS_MMUv2_CONFIGURATION_ADDRESS__SHIFT) & 
VIVS_MMUv2_CONFIGURATION_ADDRESS__MASK)
+
+#define VIVS_MMUv2_STATUS                                      0x00000188
+#define VIVS_MMUv2_STATUS_EXCEPTION0__MASK                     0x00000003
+#define VIVS_MMUv2_STATUS_EXCEPTION0__SHIFT                    0
+#define VIVS_MMUv2_STATUS_EXCEPTION0(x)                                (((x) 
<< VIVS_MMUv2_STATUS_EXCEPTION0__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION0__MASK)
+#define VIVS_MMUv2_STATUS_EXCEPTION1__MASK                     0x00000030
+#define VIVS_MMUv2_STATUS_EXCEPTION1__SHIFT                    4
+#define VIVS_MMUv2_STATUS_EXCEPTION1(x)                                (((x) 
<< VIVS_MMUv2_STATUS_EXCEPTION1__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION1__MASK)
+#define VIVS_MMUv2_STATUS_EXCEPTION2__MASK                     0x00000300
+#define VIVS_MMUv2_STATUS_EXCEPTION2__SHIFT                    8
+#define VIVS_MMUv2_STATUS_EXCEPTION2(x)                                (((x) 
<< VIVS_MMUv2_STATUS_EXCEPTION2__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION2__MASK)
+#define VIVS_MMUv2_STATUS_EXCEPTION3__MASK                     0x00003000
+#define VIVS_MMUv2_STATUS_EXCEPTION3__SHIFT                    12
+#define VIVS_MMUv2_STATUS_EXCEPTION3(x)                                (((x) 
<< VIVS_MMUv2_STATUS_EXCEPTION3__SHIFT) & VIVS_MMUv2_STATUS_EXCEPTION3__MASK)
+
+#define VIVS_MMUv2_CONTROL                                     0x0000018c
+#define VIVS_MMUv2_CONTROL_ENABLE                              0x00000001
+
+#define VIVS_MMUv2_EXCEPTION_ADDR(i0)                         (0x00000190 + 
0x4*(i0))
+#define VIVS_MMUv2_EXCEPTION_ADDR__ESIZE                       0x00000004
+#define VIVS_MMUv2_EXCEPTION_ADDR__LEN                         0x00000004
+
+#define VIVS_MC                                                        
0x00000000
+
+#define VIVS_MC_MMU_FE_PAGE_TABLE                              0x00000400
+
+#define VIVS_MC_MMU_TX_PAGE_TABLE                              0x00000404
+
+#define VIVS_MC_MMU_PE_PAGE_TABLE                              0x00000408
+
+#define VIVS_MC_MMU_PEZ_PAGE_TABLE                             0x0000040c
+
+#define VIVS_MC_MMU_RA_PAGE_TABLE                              0x00000410
+
+#define VIVS_MC_DEBUG_MEMORY                                   0x00000414
+#define VIVS_MC_DEBUG_MEMORY_SPECIAL_PATCH_GC320               0x00000008
+#define VIVS_MC_DEBUG_MEMORY_FAST_CLEAR_BYPASS                 0x00100000
+#define VIVS_MC_DEBUG_MEMORY_COMPRESSION_BYPASS                        
0x00200000
+
+#define VIVS_MC_MEMORY_BASE_ADDR_RA                            0x00000418
+
+#define VIVS_MC_MEMORY_BASE_ADDR_FE                            0x0000041c
+
+#define VIVS_MC_MEMORY_BASE_ADDR_TX                            0x00000420
+
+#define VIVS_MC_MEMORY_BASE_ADDR_PEZ                           0x00000424
+
+#define VIVS_MC_MEMORY_BASE_ADDR_PE                            0x00000428
+
+#define VIVS_MC_MEMORY_TIMING_CONTROL                          0x0000042c
+
+#define VIVS_MC_MEMORY_FLUSH                                   0x00000430
+
+#define VIVS_MC_PROFILE_CYCLE_COUNTER                          0x00000438
+
+#define VIVS_MC_DEBUG_READ0                                    0x0000043c
+
+#define VIVS_MC_DEBUG_READ1                                    0x00000440
+
+#define VIVS_MC_DEBUG_WRITE                                    0x00000444
+
+#define VIVS_MC_PROFILE_RA_READ                                        
0x00000448
+
+#define VIVS_MC_PROFILE_TX_READ                                        
0x0000044c
+
+#define VIVS_MC_PROFILE_FE_READ                                        
0x00000450
+
+#define VIVS_MC_PROFILE_PE_READ                                        
0x00000454
+
+#define VIVS_MC_PROFILE_DE_READ                                        
0x00000458
+
+#define VIVS_MC_PROFILE_SH_READ                                        
0x0000045c
+
+#define VIVS_MC_PROFILE_PA_READ                                        
0x00000460
+
+#define VIVS_MC_PROFILE_SE_READ                                        
0x00000464
+
+#define VIVS_MC_PROFILE_MC_READ                                        
0x00000468
+
+#define VIVS_MC_PROFILE_HI_READ                                        
0x0000046c
+
+#define VIVS_MC_PROFILE_CONFIG0                                        
0x00000470
+#define VIVS_MC_PROFILE_CONFIG0_FE__MASK                       0x0000000f
+#define VIVS_MC_PROFILE_CONFIG0_FE__SHIFT                      0
+#define VIVS_MC_PROFILE_CONFIG0_FE_RESET                       0x0000000f
+#define VIVS_MC_PROFILE_CONFIG0_DE__MASK                       0x00000f00
+#define VIVS_MC_PROFILE_CONFIG0_DE__SHIFT                      8
+#define VIVS_MC_PROFILE_CONFIG0_DE_RESET                       0x00000f00
+#define VIVS_MC_PROFILE_CONFIG0_PE__MASK                       0x000f0000
+#define VIVS_MC_PROFILE_CONFIG0_PE__SHIFT                      16
+#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_KILLED_BY_COLOR_PIPE    
0x00000000
+#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_KILLED_BY_DEPTH_PIPE    
0x00010000
+#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_DRAWN_BY_COLOR_PIPE     
0x00020000
+#define VIVS_MC_PROFILE_CONFIG0_PE_PIXEL_COUNT_DRAWN_BY_DEPTH_PIPE     
0x00030000
+#define VIVS_MC_PROFILE_CONFIG0_PE_PIXELS_RENDERED_2D          0x000b0000
+#define VIVS_MC_PROFILE_CONFIG0_PE_RESET                       0x000f0000
+#define VIVS_MC_PROFILE_CONFIG0_SH__MASK                       0x0f000000
+#define VIVS_MC_PROFILE_CONFIG0_SH__SHIFT                      24
+#define VIVS_MC_PROFILE_CONFIG0_SH_SHADER_CYCLES               0x04000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_PS_INST_COUNTER             0x07000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_RENDERED_PIXEL_COUNTER      0x08000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_VS_INST_COUNTER             0x09000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_RENDERED_VERTICE_COUNTER    0x0a000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_VTX_BRANCH_INST_COUNTER     0x0b000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_VTX_TEXLD_INST_COUNTER      0x0c000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_PXL_BRANCH_INST_COUNTER     0x0d000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_PXL_TEXLD_INST_COUNTER      0x0e000000
+#define VIVS_MC_PROFILE_CONFIG0_SH_RESET                       0x0f000000
+
+#define VIVS_MC_PROFILE_CONFIG1                                        
0x00000474
+#define VIVS_MC_PROFILE_CONFIG1_PA__MASK                       0x0000000f
+#define VIVS_MC_PROFILE_CONFIG1_PA__SHIFT                      0
+#define VIVS_MC_PROFILE_CONFIG1_PA_INPUT_VTX_COUNTER           0x00000003
+#define VIVS_MC_PROFILE_CONFIG1_PA_INPUT_PRIM_COUNTER          0x00000004
+#define VIVS_MC_PROFILE_CONFIG1_PA_OUTPUT_PRIM_COUNTER         0x00000005
+#define VIVS_MC_PROFILE_CONFIG1_PA_DEPTH_CLIPPED_COUNTER       0x00000006
+#define VIVS_MC_PROFILE_CONFIG1_PA_TRIVIAL_REJECTED_COUNTER    0x00000007
+#define VIVS_MC_PROFILE_CONFIG1_PA_CULLED_COUNTER              0x00000008
+#define VIVS_MC_PROFILE_CONFIG1_PA_RESET                       0x0000000f
+#define VIVS_MC_PROFILE_CONFIG1_SE__MASK                       0x00000f00
+#define VIVS_MC_PROFILE_CONFIG1_SE__SHIFT                      8
+#define VIVS_MC_PROFILE_CONFIG1_SE_CULLED_TRIANGLE_COUNT       0x00000000
+#define VIVS_MC_PROFILE_CONFIG1_SE_CULLED_LINES_COUNT          0x00000100
+#define VIVS_MC_PROFILE_CONFIG1_SE_RESET                       0x00000f00
+#define VIVS_MC_PROFILE_CONFIG1_RA__MASK                       0x000f0000
+#define VIVS_MC_PROFILE_CONFIG1_RA__SHIFT                      16
+#define VIVS_MC_PROFILE_CONFIG1_RA_VALID_PIXEL_COUNT           0x00000000
+#define VIVS_MC_PROFILE_CONFIG1_RA_TOTAL_QUAD_COUNT            0x00010000
+#define VIVS_MC_PROFILE_CONFIG1_RA_VALID_QUAD_COUNT_AFTER_EARLY_Z      
0x00020000
+#define VIVS_MC_PROFILE_CONFIG1_RA_TOTAL_PRIMITIVE_COUNT       0x00030000
+#define VIVS_MC_PROFILE_CONFIG1_RA_PIPE_CACHE_MISS_COUNTER     0x00090000
+#define VIVS_MC_PROFILE_CONFIG1_RA_PREFETCH_CACHE_MISS_COUNTER 0x000a0000
+#define VIVS_MC_PROFILE_CONFIG1_RA_CULLED_QUAD_COUNT           0x000b0000
+#define VIVS_MC_PROFILE_CONFIG1_RA_RESET                       0x000f0000
+#define VIVS_MC_PROFILE_CONFIG1_TX__MASK                       0x0f000000
+#define VIVS_MC_PROFILE_CONFIG1_TX__SHIFT                      24
+#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_BILINEAR_REQUESTS     0x00000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_TRILINEAR_REQUESTS    0x01000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_DISCARDED_TEXTURE_REQUESTS    
0x02000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_TOTAL_TEXTURE_REQUESTS      0x03000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_UNKNOWN                     0x04000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_MEM_READ_COUNT              0x05000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_MEM_READ_IN_8B_COUNT                
0x06000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_MISS_COUNT            0x07000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_HIT_TEXEL_COUNT       0x08000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_CACHE_MISS_TEXEL_COUNT      0x09000000
+#define VIVS_MC_PROFILE_CONFIG1_TX_RESET                       0x0f000000
+
+#define VIVS_MC_PROFILE_CONFIG2                                        
0x00000478
+#define VIVS_MC_PROFILE_CONFIG2_MC__MASK                       0x0000000f
+#define VIVS_MC_PROFILE_CONFIG2_MC__SHIFT                      0
+#define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_READ_REQ_8B_FROM_PIPELINE     
0x00000001
+#define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_READ_REQ_8B_FROM_IP   0x00000002
+#define VIVS_MC_PROFILE_CONFIG2_MC_TOTAL_WRITE_REQ_8B_FROM_PIPELINE    
0x00000003
+#define VIVS_MC_PROFILE_CONFIG2_MC_RESET                       0x0000000f
+#define VIVS_MC_PROFILE_CONFIG2_HI__MASK                       0x00000f00
+#define VIVS_MC_PROFILE_CONFIG2_HI__SHIFT                      8
+#define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_READ_REQUEST_STALLED     
0x00000000
+#define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_WRITE_REQUEST_STALLED    
0x00000100
+#define VIVS_MC_PROFILE_CONFIG2_HI_AXI_CYCLES_WRITE_DATA_STALLED       
0x00000200
+#define VIVS_MC_PROFILE_CONFIG2_HI_RESET                       0x00000f00
+
+#define VIVS_MC_PROFILE_CONFIG3                                        
0x0000047c
+
+#define VIVS_MC_BUS_CONFIG                                     0x00000480
+#define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK                 0x0000000f
+#define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__SHIFT                        0
+#define VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG(x)                    (((x) << 
VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__SHIFT) & 
VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK)
+#define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK                 0x000000f0
+#define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__SHIFT                        4
+#define VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG(x)                    (((x) << 
VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__SHIFT) & 
VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK)
+
+#define VIVS_MC_START_COMPOSITION                              0x00000554
+
+#define VIVS_MC_128B_MERGE                                     0x00000558
+
+
+#endif /* STATE_HI_XML */
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to