Subversion Repositories Kolibri OS

Rev

Rev 3031 | Rev 3764 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3031 Rev 3192
Line 60... Line 60...
60
 
60
 
Line 61... Line 61...
61
#define DMIF_ADDR_CONFIG  				0xBD4
61
#define DMIF_ADDR_CONFIG  				0xBD4
Line -... Line 62...
-
 
62
 
-
 
63
#define	SRBM_STATUS				        0xE50
-
 
64
 
-
 
65
#define	SRBM_SOFT_RESET				        0x0E60
-
 
66
#define		SOFT_RESET_BIF				(1 << 1)
-
 
67
#define		SOFT_RESET_DC				(1 << 5)
-
 
68
#define		SOFT_RESET_DMA1				(1 << 6)
-
 
69
#define		SOFT_RESET_GRBM				(1 << 8)
-
 
70
#define		SOFT_RESET_HDP				(1 << 9)
-
 
71
#define		SOFT_RESET_IH				(1 << 10)
-
 
72
#define		SOFT_RESET_MC				(1 << 11)
-
 
73
#define		SOFT_RESET_ROM				(1 << 14)
-
 
74
#define		SOFT_RESET_SEM				(1 << 15)
-
 
75
#define		SOFT_RESET_VMC				(1 << 17)
-
 
76
#define		SOFT_RESET_DMA				(1 << 20)
-
 
77
#define		SOFT_RESET_TST				(1 << 21)
62
 
78
#define		SOFT_RESET_REGBB			(1 << 22)
63
#define	SRBM_STATUS				        0xE50
79
#define		SOFT_RESET_ORB				(1 << 23)
Line 64... Line 80...
64
 
80
 
65
#define	CC_SYS_RB_BACKEND_DISABLE			0xe80
81
#define	CC_SYS_RB_BACKEND_DISABLE			0xe80
Line 89... Line 105...
89
#define	VM_L2_STATUS					0x140C
105
#define	VM_L2_STATUS					0x140C
90
#define		L2_BUSY						(1 << 0)
106
#define		L2_BUSY						(1 << 0)
91
#define VM_CONTEXT0_CNTL				0x1410
107
#define VM_CONTEXT0_CNTL				0x1410
92
#define		ENABLE_CONTEXT					(1 << 0)
108
#define		ENABLE_CONTEXT					(1 << 0)
93
#define		PAGE_TABLE_DEPTH(x)				(((x) & 3) << 1)
109
#define		PAGE_TABLE_DEPTH(x)				(((x) & 3) << 1)
-
 
110
#define		RANGE_PROTECTION_FAULT_ENABLE_INTERRUPT		(1 << 3)
94
#define		RANGE_PROTECTION_FAULT_ENABLE_DEFAULT		(1 << 4)
111
#define		RANGE_PROTECTION_FAULT_ENABLE_DEFAULT		(1 << 4)
-
 
112
#define		DUMMY_PAGE_PROTECTION_FAULT_ENABLE_INTERRUPT	(1 << 6)
-
 
113
#define		DUMMY_PAGE_PROTECTION_FAULT_ENABLE_DEFAULT	(1 << 7)
-
 
114
#define		PDE0_PROTECTION_FAULT_ENABLE_INTERRUPT		(1 << 9)
-
 
115
#define		PDE0_PROTECTION_FAULT_ENABLE_DEFAULT		(1 << 10)
-
 
116
#define		VALID_PROTECTION_FAULT_ENABLE_INTERRUPT		(1 << 12)
-
 
117
#define		VALID_PROTECTION_FAULT_ENABLE_DEFAULT		(1 << 13)
-
 
118
#define		READ_PROTECTION_FAULT_ENABLE_INTERRUPT		(1 << 15)
-
 
119
#define		READ_PROTECTION_FAULT_ENABLE_DEFAULT		(1 << 16)
-
 
120
#define		WRITE_PROTECTION_FAULT_ENABLE_INTERRUPT		(1 << 18)
-
 
121
#define		WRITE_PROTECTION_FAULT_ENABLE_DEFAULT		(1 << 19)
95
#define VM_CONTEXT1_CNTL				0x1414
122
#define VM_CONTEXT1_CNTL				0x1414
96
#define VM_CONTEXT0_CNTL2				0x1430
123
#define VM_CONTEXT0_CNTL2				0x1430
97
#define VM_CONTEXT1_CNTL2				0x1434
124
#define VM_CONTEXT1_CNTL2				0x1434
98
#define	VM_CONTEXT8_PAGE_TABLE_BASE_ADDR		0x1438
125
#define	VM_CONTEXT8_PAGE_TABLE_BASE_ADDR		0x1438
99
#define	VM_CONTEXT9_PAGE_TABLE_BASE_ADDR		0x143c
126
#define	VM_CONTEXT9_PAGE_TABLE_BASE_ADDR		0x143c
Line 102... Line 129...
102
#define	VM_CONTEXT12_PAGE_TABLE_BASE_ADDR		0x1448
129
#define	VM_CONTEXT12_PAGE_TABLE_BASE_ADDR		0x1448
103
#define	VM_CONTEXT13_PAGE_TABLE_BASE_ADDR		0x144c
130
#define	VM_CONTEXT13_PAGE_TABLE_BASE_ADDR		0x144c
104
#define	VM_CONTEXT14_PAGE_TABLE_BASE_ADDR		0x1450
131
#define	VM_CONTEXT14_PAGE_TABLE_BASE_ADDR		0x1450
105
#define	VM_CONTEXT15_PAGE_TABLE_BASE_ADDR		0x1454
132
#define	VM_CONTEXT15_PAGE_TABLE_BASE_ADDR		0x1454
Line -... Line 133...
-
 
133
 
-
 
134
#define	VM_CONTEXT1_PROTECTION_FAULT_ADDR		0x14FC
-
 
135
#define	VM_CONTEXT1_PROTECTION_FAULT_STATUS		0x14DC
106
 
136
 
107
#define VM_INVALIDATE_REQUEST				0x1478
137
#define VM_INVALIDATE_REQUEST				0x1478
Line 108... Line 138...
108
#define VM_INVALIDATE_RESPONSE				0x147c
138
#define VM_INVALIDATE_RESPONSE				0x147c
109
 
139
 
Line 833... Line 863...
833
#define	PACKET3_MPEG_INDEX				0x3A
863
#define	PACKET3_MPEG_INDEX				0x3A
834
#define	PACKET3_COPY_DW					0x3B
864
#define	PACKET3_COPY_DW					0x3B
835
#define	PACKET3_WAIT_REG_MEM				0x3C
865
#define	PACKET3_WAIT_REG_MEM				0x3C
836
#define	PACKET3_MEM_WRITE				0x3D
866
#define	PACKET3_MEM_WRITE				0x3D
837
#define	PACKET3_COPY_DATA				0x40
867
#define	PACKET3_COPY_DATA				0x40
-
 
868
#define	PACKET3_CP_DMA					0x41
-
 
869
/* 1. header
-
 
870
 * 2. SRC_ADDR_LO or DATA [31:0]
-
 
871
 * 3. CP_SYNC [31] | SRC_SEL [30:29] | ENGINE [27] | DST_SEL [21:20] |
-
 
872
 *    SRC_ADDR_HI [7:0]
-
 
873
 * 4. DST_ADDR_LO [31:0]
-
 
874
 * 5. DST_ADDR_HI [7:0]
-
 
875
 * 6. COMMAND [30:21] | BYTE_COUNT [20:0]
-
 
876
 */
-
 
877
#              define PACKET3_CP_DMA_DST_SEL(x)    ((x) << 20)
-
 
878
                /* 0 - SRC_ADDR
-
 
879
		 * 1 - GDS
-
 
880
		 */
-
 
881
#              define PACKET3_CP_DMA_ENGINE(x)     ((x) << 27)
-
 
882
                /* 0 - ME
-
 
883
		 * 1 - PFP
-
 
884
		 */
-
 
885
#              define PACKET3_CP_DMA_SRC_SEL(x)    ((x) << 29)
-
 
886
                /* 0 - SRC_ADDR
-
 
887
		 * 1 - GDS
-
 
888
		 * 2 - DATA
-
 
889
		 */
-
 
890
#              define PACKET3_CP_DMA_CP_SYNC       (1 << 31)
-
 
891
/* COMMAND */
-
 
892
#              define PACKET3_CP_DMA_DIS_WC        (1 << 21)
-
 
893
#              define PACKET3_CP_DMA_CMD_SRC_SWAP(x) ((x) << 23)
-
 
894
                /* 0 - none
-
 
895
		 * 1 - 8 in 16
-
 
896
		 * 2 - 8 in 32
-
 
897
		 * 3 - 8 in 64
-
 
898
		 */
-
 
899
#              define PACKET3_CP_DMA_CMD_DST_SWAP(x) ((x) << 24)
-
 
900
                /* 0 - none
-
 
901
		 * 1 - 8 in 16
-
 
902
		 * 2 - 8 in 32
-
 
903
		 * 3 - 8 in 64
-
 
904
		 */
-
 
905
#              define PACKET3_CP_DMA_CMD_SAS       (1 << 26)
-
 
906
                /* 0 - memory
-
 
907
		 * 1 - register
-
 
908
		 */
-
 
909
#              define PACKET3_CP_DMA_CMD_DAS       (1 << 27)
-
 
910
                /* 0 - memory
-
 
911
		 * 1 - register
-
 
912
		 */
-
 
913
#              define PACKET3_CP_DMA_CMD_SAIC      (1 << 28)
-
 
914
#              define PACKET3_CP_DMA_CMD_DAIC      (1 << 29)
-
 
915
#              define PACKET3_CP_DMA_CMD_RAW_WAIT  (1 << 30)
838
#define	PACKET3_PFP_SYNC_ME				0x42
916
#define	PACKET3_PFP_SYNC_ME				0x42
839
#define	PACKET3_SURFACE_SYNC				0x43
917
#define	PACKET3_SURFACE_SYNC				0x43
840
#              define PACKET3_DEST_BASE_0_ENA      (1 << 0)
918
#              define PACKET3_DEST_BASE_0_ENA      (1 << 0)
841
#              define PACKET3_DEST_BASE_1_ENA      (1 << 1)
919
#              define PACKET3_DEST_BASE_1_ENA      (1 << 1)
842
#              define PACKET3_CB0_DEST_BASE_ENA    (1 << 6)
920
#              define PACKET3_CB0_DEST_BASE_ENA    (1 << 6)
Line 920... Line 998...
920
#define	PACKET3_WAIT_ON_DE_COUNTER_DIFF			0x88
998
#define	PACKET3_WAIT_ON_DE_COUNTER_DIFF			0x88
921
#define	PACKET3_SET_CE_DE_COUNTERS			0x89
999
#define	PACKET3_SET_CE_DE_COUNTERS			0x89
922
#define	PACKET3_WAIT_ON_AVAIL_BUFFER			0x8A
1000
#define	PACKET3_WAIT_ON_AVAIL_BUFFER			0x8A
923
#define	PACKET3_SWITCH_BUFFER				0x8B
1001
#define	PACKET3_SWITCH_BUFFER				0x8B
Line -... Line 1002...
-
 
1002
 
-
 
1003
/* ASYNC DMA - first instance at 0xd000, second at 0xd800 */
-
 
1004
#define DMA0_REGISTER_OFFSET                              0x0 /* not a register */
-
 
1005
#define DMA1_REGISTER_OFFSET                              0x800 /* not a register */
-
 
1006
 
-
 
1007
#define DMA_RB_CNTL                                       0xd000
-
 
1008
#       define DMA_RB_ENABLE                              (1 << 0)
-
 
1009
#       define DMA_RB_SIZE(x)                             ((x) << 1) /* log2 */
-
 
1010
#       define DMA_RB_SWAP_ENABLE                         (1 << 9) /* 8IN32 */
-
 
1011
#       define DMA_RPTR_WRITEBACK_ENABLE                  (1 << 12)
-
 
1012
#       define DMA_RPTR_WRITEBACK_SWAP_ENABLE             (1 << 13)  /* 8IN32 */
-
 
1013
#       define DMA_RPTR_WRITEBACK_TIMER(x)                ((x) << 16) /* log2 */
-
 
1014
#define DMA_RB_BASE                                       0xd004
-
 
1015
#define DMA_RB_RPTR                                       0xd008
-
 
1016
#define DMA_RB_WPTR                                       0xd00c
-
 
1017
 
-
 
1018
#define DMA_RB_RPTR_ADDR_HI                               0xd01c
-
 
1019
#define DMA_RB_RPTR_ADDR_LO                               0xd020
-
 
1020
 
-
 
1021
#define DMA_IB_CNTL                                       0xd024
-
 
1022
#       define DMA_IB_ENABLE                              (1 << 0)
-
 
1023
#       define DMA_IB_SWAP_ENABLE                         (1 << 4)
-
 
1024
#define DMA_IB_RPTR                                       0xd028
-
 
1025
#define DMA_CNTL                                          0xd02c
-
 
1026
#       define TRAP_ENABLE                                (1 << 0)
-
 
1027
#       define SEM_INCOMPLETE_INT_ENABLE                  (1 << 1)
-
 
1028
#       define SEM_WAIT_INT_ENABLE                        (1 << 2)
-
 
1029
#       define DATA_SWAP_ENABLE                           (1 << 3)
-
 
1030
#       define FENCE_SWAP_ENABLE                          (1 << 4)
-
 
1031
#       define CTXEMPTY_INT_ENABLE                        (1 << 28)
-
 
1032
#define DMA_STATUS_REG                                    0xd034
-
 
1033
#       define DMA_IDLE                                   (1 << 0)
-
 
1034
#define DMA_TILING_CONFIG  				  0xd0b8
-
 
1035
 
-
 
1036
#define DMA_PACKET(cmd, b, t, s, n)	((((cmd) & 0xF) << 28) |	\
-
 
1037
					 (((b) & 0x1) << 26) |		\
-
 
1038
					 (((t) & 0x1) << 23) |		\
-
 
1039
					 (((s) & 0x1) << 22) |		\
-
 
1040
					 (((n) & 0xFFFFF) << 0))
-
 
1041
 
-
 
1042
#define DMA_IB_PACKET(cmd, vmid, n)	((((cmd) & 0xF) << 28) |	\
-
 
1043
					 (((vmid) & 0xF) << 20) |	\
-
 
1044
					 (((n) & 0xFFFFF) << 0))
-
 
1045
 
-
 
1046
#define DMA_PTE_PDE_PACKET(n)		((2 << 28) |			\
-
 
1047
					 (1 << 26) |			\
-
 
1048
					 (1 << 21) |			\
-
 
1049
					 (((n) & 0xFFFFF) << 0))
-
 
1050
 
-
 
1051
/* async DMA Packet types */
-
 
1052
#define	DMA_PACKET_WRITE				  0x2
-
 
1053
#define	DMA_PACKET_COPY					  0x3
-
 
1054
#define	DMA_PACKET_INDIRECT_BUFFER			  0x4
-
 
1055
#define	DMA_PACKET_SEMAPHORE				  0x5
-
 
1056
#define	DMA_PACKET_FENCE				  0x6
-
 
1057
#define	DMA_PACKET_TRAP					  0x7
-
 
1058
#define	DMA_PACKET_SRBM_WRITE				  0x9
-
 
1059
#define	DMA_PACKET_CONSTANT_FILL			  0xd
-
 
1060
#define	DMA_PACKET_NOP					  0xf
924
 
1061