File indexing completed on 2025-05-11 08:23:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 #ifndef _GRLIB_GRIOMMU_REGS_H
0056 #define _GRLIB_GRIOMMU_REGS_H
0057
0058 #include <stdint.h>
0059
0060 #ifdef __cplusplus
0061 extern "C" {
0062 #endif
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084 #define GRIOMMU_CAP0_A 0x80000000U
0085
0086 #define GRIOMMU_CAP0_AC 0x40000000U
0087
0088 #define GRIOMMU_CAP0_CA 0x20000000U
0089
0090 #define GRIOMMU_CAP0_CP 0x10000000U
0091
0092 #define GRIOMMU_CAP0_NARB_SHIFT 20
0093 #define GRIOMMU_CAP0_NARB_MASK 0xf00000U
0094 #define GRIOMMU_CAP0_NARB_GET( _reg ) \
0095 ( ( ( _reg ) & GRIOMMU_CAP0_NARB_MASK ) >> \
0096 GRIOMMU_CAP0_NARB_SHIFT )
0097 #define GRIOMMU_CAP0_NARB_SET( _reg, _val ) \
0098 ( ( ( _reg ) & ~GRIOMMU_CAP0_NARB_MASK ) | \
0099 ( ( ( _val ) << GRIOMMU_CAP0_NARB_SHIFT ) & \
0100 GRIOMMU_CAP0_NARB_MASK ) )
0101 #define GRIOMMU_CAP0_NARB( _val ) \
0102 ( ( ( _val ) << GRIOMMU_CAP0_NARB_SHIFT ) & \
0103 GRIOMMU_CAP0_NARB_MASK )
0104
0105 #define GRIOMMU_CAP0_CS 0x80000U
0106
0107 #define GRIOMMU_CAP0_FT_SHIFT 17
0108 #define GRIOMMU_CAP0_FT_MASK 0x60000U
0109 #define GRIOMMU_CAP0_FT_GET( _reg ) \
0110 ( ( ( _reg ) & GRIOMMU_CAP0_FT_MASK ) >> \
0111 GRIOMMU_CAP0_FT_SHIFT )
0112 #define GRIOMMU_CAP0_FT_SET( _reg, _val ) \
0113 ( ( ( _reg ) & ~GRIOMMU_CAP0_FT_MASK ) | \
0114 ( ( ( _val ) << GRIOMMU_CAP0_FT_SHIFT ) & \
0115 GRIOMMU_CAP0_FT_MASK ) )
0116 #define GRIOMMU_CAP0_FT( _val ) \
0117 ( ( ( _val ) << GRIOMMU_CAP0_FT_SHIFT ) & \
0118 GRIOMMU_CAP0_FT_MASK )
0119
0120 #define GRIOMMU_CAP0_ST 0x10000U
0121
0122 #define GRIOMMU_CAP0_I 0x8000U
0123
0124 #define GRIOMMU_CAP0_IT 0x4000U
0125
0126 #define GRIOMMU_CAP0_IA 0x2000U
0127
0128 #define GRIOMMU_CAP0_IP 0x1000U
0129
0130 #define GRIOMMU_CAP0_MB 0x100U
0131
0132 #define GRIOMMU_CAP0_GRPS_SHIFT 4
0133 #define GRIOMMU_CAP0_GRPS_MASK 0xf0U
0134 #define GRIOMMU_CAP0_GRPS_GET( _reg ) \
0135 ( ( ( _reg ) & GRIOMMU_CAP0_GRPS_MASK ) >> \
0136 GRIOMMU_CAP0_GRPS_SHIFT )
0137 #define GRIOMMU_CAP0_GRPS_SET( _reg, _val ) \
0138 ( ( ( _reg ) & ~GRIOMMU_CAP0_GRPS_MASK ) | \
0139 ( ( ( _val ) << GRIOMMU_CAP0_GRPS_SHIFT ) & \
0140 GRIOMMU_CAP0_GRPS_MASK ) )
0141 #define GRIOMMU_CAP0_GRPS( _val ) \
0142 ( ( ( _val ) << GRIOMMU_CAP0_GRPS_SHIFT ) & \
0143 GRIOMMU_CAP0_GRPS_MASK )
0144
0145 #define GRIOMMU_CAP0_MSTS_SHIFT 0
0146 #define GRIOMMU_CAP0_MSTS_MASK 0xfU
0147 #define GRIOMMU_CAP0_MSTS_GET( _reg ) \
0148 ( ( ( _reg ) & GRIOMMU_CAP0_MSTS_MASK ) >> \
0149 GRIOMMU_CAP0_MSTS_SHIFT )
0150 #define GRIOMMU_CAP0_MSTS_SET( _reg, _val ) \
0151 ( ( ( _reg ) & ~GRIOMMU_CAP0_MSTS_MASK ) | \
0152 ( ( ( _val ) << GRIOMMU_CAP0_MSTS_SHIFT ) & \
0153 GRIOMMU_CAP0_MSTS_MASK ) )
0154 #define GRIOMMU_CAP0_MSTS( _val ) \
0155 ( ( ( _val ) << GRIOMMU_CAP0_MSTS_SHIFT ) & \
0156 GRIOMMU_CAP0_MSTS_MASK )
0157
0158
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168 #define GRIOMMU_CAP1_CADDR_SHIFT 20
0169 #define GRIOMMU_CAP1_CADDR_MASK 0xfff00000U
0170 #define GRIOMMU_CAP1_CADDR_GET( _reg ) \
0171 ( ( ( _reg ) & GRIOMMU_CAP1_CADDR_MASK ) >> \
0172 GRIOMMU_CAP1_CADDR_SHIFT )
0173 #define GRIOMMU_CAP1_CADDR_SET( _reg, _val ) \
0174 ( ( ( _reg ) & ~GRIOMMU_CAP1_CADDR_MASK ) | \
0175 ( ( ( _val ) << GRIOMMU_CAP1_CADDR_SHIFT ) & \
0176 GRIOMMU_CAP1_CADDR_MASK ) )
0177 #define GRIOMMU_CAP1_CADDR( _val ) \
0178 ( ( ( _val ) << GRIOMMU_CAP1_CADDR_SHIFT ) & \
0179 GRIOMMU_CAP1_CADDR_MASK )
0180
0181 #define GRIOMMU_CAP1_CMASK_SHIFT 16
0182 #define GRIOMMU_CAP1_CMASK_MASK 0xf0000U
0183 #define GRIOMMU_CAP1_CMASK_GET( _reg ) \
0184 ( ( ( _reg ) & GRIOMMU_CAP1_CMASK_MASK ) >> \
0185 GRIOMMU_CAP1_CMASK_SHIFT )
0186 #define GRIOMMU_CAP1_CMASK_SET( _reg, _val ) \
0187 ( ( ( _reg ) & ~GRIOMMU_CAP1_CMASK_MASK ) | \
0188 ( ( ( _val ) << GRIOMMU_CAP1_CMASK_SHIFT ) & \
0189 GRIOMMU_CAP1_CMASK_MASK ) )
0190 #define GRIOMMU_CAP1_CMASK( _val ) \
0191 ( ( ( _val ) << GRIOMMU_CAP1_CMASK_SHIFT ) & \
0192 GRIOMMU_CAP1_CMASK_MASK )
0193
0194 #define GRIOMMU_CAP1_CTAGBITS_SHIFT 8
0195 #define GRIOMMU_CAP1_CTAGBITS_MASK 0xff00U
0196 #define GRIOMMU_CAP1_CTAGBITS_GET( _reg ) \
0197 ( ( ( _reg ) & GRIOMMU_CAP1_CTAGBITS_MASK ) >> \
0198 GRIOMMU_CAP1_CTAGBITS_SHIFT )
0199 #define GRIOMMU_CAP1_CTAGBITS_SET( _reg, _val ) \
0200 ( ( ( _reg ) & ~GRIOMMU_CAP1_CTAGBITS_MASK ) | \
0201 ( ( ( _val ) << GRIOMMU_CAP1_CTAGBITS_SHIFT ) & \
0202 GRIOMMU_CAP1_CTAGBITS_MASK ) )
0203 #define GRIOMMU_CAP1_CTAGBITS( _val ) \
0204 ( ( ( _val ) << GRIOMMU_CAP1_CTAGBITS_SHIFT ) & \
0205 GRIOMMU_CAP1_CTAGBITS_MASK )
0206
0207 #define GRIOMMU_CAP1_CISIZE_SHIFT 5
0208 #define GRIOMMU_CAP1_CISIZE_MASK 0xe0U
0209 #define GRIOMMU_CAP1_CISIZE_GET( _reg ) \
0210 ( ( ( _reg ) & GRIOMMU_CAP1_CISIZE_MASK ) >> \
0211 GRIOMMU_CAP1_CISIZE_SHIFT )
0212 #define GRIOMMU_CAP1_CISIZE_SET( _reg, _val ) \
0213 ( ( ( _reg ) & ~GRIOMMU_CAP1_CISIZE_MASK ) | \
0214 ( ( ( _val ) << GRIOMMU_CAP1_CISIZE_SHIFT ) & \
0215 GRIOMMU_CAP1_CISIZE_MASK ) )
0216 #define GRIOMMU_CAP1_CISIZE( _val ) \
0217 ( ( ( _val ) << GRIOMMU_CAP1_CISIZE_SHIFT ) & \
0218 GRIOMMU_CAP1_CISIZE_MASK )
0219
0220 #define GRIOMMU_CAP1_CLINES_SHIFT 0
0221 #define GRIOMMU_CAP1_CLINES_MASK 0x1fU
0222 #define GRIOMMU_CAP1_CLINES_GET( _reg ) \
0223 ( ( ( _reg ) & GRIOMMU_CAP1_CLINES_MASK ) >> \
0224 GRIOMMU_CAP1_CLINES_SHIFT )
0225 #define GRIOMMU_CAP1_CLINES_SET( _reg, _val ) \
0226 ( ( ( _reg ) & ~GRIOMMU_CAP1_CLINES_MASK ) | \
0227 ( ( ( _val ) << GRIOMMU_CAP1_CLINES_SHIFT ) & \
0228 GRIOMMU_CAP1_CLINES_MASK ) )
0229 #define GRIOMMU_CAP1_CLINES( _val ) \
0230 ( ( ( _val ) << GRIOMMU_CAP1_CLINES_SHIFT ) & \
0231 GRIOMMU_CAP1_CLINES_MASK )
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243 #define GRIOMMU_CAP2_TMASK_SHIFT 24
0244 #define GRIOMMU_CAP2_TMASK_MASK 0xff000000U
0245 #define GRIOMMU_CAP2_TMASK_GET( _reg ) \
0246 ( ( ( _reg ) & GRIOMMU_CAP2_TMASK_MASK ) >> \
0247 GRIOMMU_CAP2_TMASK_SHIFT )
0248 #define GRIOMMU_CAP2_TMASK_SET( _reg, _val ) \
0249 ( ( ( _reg ) & ~GRIOMMU_CAP2_TMASK_MASK ) | \
0250 ( ( ( _val ) << GRIOMMU_CAP2_TMASK_SHIFT ) & \
0251 GRIOMMU_CAP2_TMASK_MASK ) )
0252 #define GRIOMMU_CAP2_TMASK( _val ) \
0253 ( ( ( _val ) << GRIOMMU_CAP2_TMASK_SHIFT ) & \
0254 GRIOMMU_CAP2_TMASK_MASK )
0255
0256 #define GRIOMMU_CAP2_MTYPE_SHIFT 18
0257 #define GRIOMMU_CAP2_MTYPE_MASK 0xc0000U
0258 #define GRIOMMU_CAP2_MTYPE_GET( _reg ) \
0259 ( ( ( _reg ) & GRIOMMU_CAP2_MTYPE_MASK ) >> \
0260 GRIOMMU_CAP2_MTYPE_SHIFT )
0261 #define GRIOMMU_CAP2_MTYPE_SET( _reg, _val ) \
0262 ( ( ( _reg ) & ~GRIOMMU_CAP2_MTYPE_MASK ) | \
0263 ( ( ( _val ) << GRIOMMU_CAP2_MTYPE_SHIFT ) & \
0264 GRIOMMU_CAP2_MTYPE_MASK ) )
0265 #define GRIOMMU_CAP2_MTYPE( _val ) \
0266 ( ( ( _val ) << GRIOMMU_CAP2_MTYPE_SHIFT ) & \
0267 GRIOMMU_CAP2_MTYPE_MASK )
0268
0269 #define GRIOMMU_CAP2_TTYPE_SHIFT 16
0270 #define GRIOMMU_CAP2_TTYPE_MASK 0x30000U
0271 #define GRIOMMU_CAP2_TTYPE_GET( _reg ) \
0272 ( ( ( _reg ) & GRIOMMU_CAP2_TTYPE_MASK ) >> \
0273 GRIOMMU_CAP2_TTYPE_SHIFT )
0274 #define GRIOMMU_CAP2_TTYPE_SET( _reg, _val ) \
0275 ( ( ( _reg ) & ~GRIOMMU_CAP2_TTYPE_MASK ) | \
0276 ( ( ( _val ) << GRIOMMU_CAP2_TTYPE_SHIFT ) & \
0277 GRIOMMU_CAP2_TTYPE_MASK ) )
0278 #define GRIOMMU_CAP2_TTYPE( _val ) \
0279 ( ( ( _val ) << GRIOMMU_CAP2_TTYPE_SHIFT ) & \
0280 GRIOMMU_CAP2_TTYPE_MASK )
0281
0282 #define GRIOMMU_CAP2_TTAGBITS_SHIFT 8
0283 #define GRIOMMU_CAP2_TTAGBITS_MASK 0xff00U
0284 #define GRIOMMU_CAP2_TTAGBITS_GET( _reg ) \
0285 ( ( ( _reg ) & GRIOMMU_CAP2_TTAGBITS_MASK ) >> \
0286 GRIOMMU_CAP2_TTAGBITS_SHIFT )
0287 #define GRIOMMU_CAP2_TTAGBITS_SET( _reg, _val ) \
0288 ( ( ( _reg ) & ~GRIOMMU_CAP2_TTAGBITS_MASK ) | \
0289 ( ( ( _val ) << GRIOMMU_CAP2_TTAGBITS_SHIFT ) & \
0290 GRIOMMU_CAP2_TTAGBITS_MASK ) )
0291 #define GRIOMMU_CAP2_TTAGBITS( _val ) \
0292 ( ( ( _val ) << GRIOMMU_CAP2_TTAGBITS_SHIFT ) & \
0293 GRIOMMU_CAP2_TTAGBITS_MASK )
0294
0295 #define GRIOMMU_CAP2_ISIZE_SHIFT 5
0296 #define GRIOMMU_CAP2_ISIZE_MASK 0xe0U
0297 #define GRIOMMU_CAP2_ISIZE_GET( _reg ) \
0298 ( ( ( _reg ) & GRIOMMU_CAP2_ISIZE_MASK ) >> \
0299 GRIOMMU_CAP2_ISIZE_SHIFT )
0300 #define GRIOMMU_CAP2_ISIZE_SET( _reg, _val ) \
0301 ( ( ( _reg ) & ~GRIOMMU_CAP2_ISIZE_MASK ) | \
0302 ( ( ( _val ) << GRIOMMU_CAP2_ISIZE_SHIFT ) & \
0303 GRIOMMU_CAP2_ISIZE_MASK ) )
0304 #define GRIOMMU_CAP2_ISIZE( _val ) \
0305 ( ( ( _val ) << GRIOMMU_CAP2_ISIZE_SHIFT ) & \
0306 GRIOMMU_CAP2_ISIZE_MASK )
0307
0308 #define GRIOMMU_CAP2_TLBENT_SHIFT 0
0309 #define GRIOMMU_CAP2_TLBENT_MASK 0x1fU
0310 #define GRIOMMU_CAP2_TLBENT_GET( _reg ) \
0311 ( ( ( _reg ) & GRIOMMU_CAP2_TLBENT_MASK ) >> \
0312 GRIOMMU_CAP2_TLBENT_SHIFT )
0313 #define GRIOMMU_CAP2_TLBENT_SET( _reg, _val ) \
0314 ( ( ( _reg ) & ~GRIOMMU_CAP2_TLBENT_MASK ) | \
0315 ( ( ( _val ) << GRIOMMU_CAP2_TLBENT_SHIFT ) & \
0316 GRIOMMU_CAP2_TLBENT_MASK ) )
0317 #define GRIOMMU_CAP2_TLBENT( _val ) \
0318 ( ( ( _val ) << GRIOMMU_CAP2_TLBENT_SHIFT ) & \
0319 GRIOMMU_CAP2_TLBENT_MASK )
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329
0330
0331 #define GRIOMMU_CTRL_PGSZ_SHIFT 18
0332 #define GRIOMMU_CTRL_PGSZ_MASK 0x1c0000U
0333 #define GRIOMMU_CTRL_PGSZ_GET( _reg ) \
0334 ( ( ( _reg ) & GRIOMMU_CTRL_PGSZ_MASK ) >> \
0335 GRIOMMU_CTRL_PGSZ_SHIFT )
0336 #define GRIOMMU_CTRL_PGSZ_SET( _reg, _val ) \
0337 ( ( ( _reg ) & ~GRIOMMU_CTRL_PGSZ_MASK ) | \
0338 ( ( ( _val ) << GRIOMMU_CTRL_PGSZ_SHIFT ) & \
0339 GRIOMMU_CTRL_PGSZ_MASK ) )
0340 #define GRIOMMU_CTRL_PGSZ( _val ) \
0341 ( ( ( _val ) << GRIOMMU_CTRL_PGSZ_SHIFT ) & \
0342 GRIOMMU_CTRL_PGSZ_MASK )
0343
0344 #define GRIOMMU_CTRL_LB 0x20000U
0345
0346 #define GRIOMMU_CTRL_SP 0x10000U
0347
0348 #define GRIOMMU_CTRL_ITR_SHIFT 12
0349 #define GRIOMMU_CTRL_ITR_MASK 0xf000U
0350 #define GRIOMMU_CTRL_ITR_GET( _reg ) \
0351 ( ( ( _reg ) & GRIOMMU_CTRL_ITR_MASK ) >> \
0352 GRIOMMU_CTRL_ITR_SHIFT )
0353 #define GRIOMMU_CTRL_ITR_SET( _reg, _val ) \
0354 ( ( ( _reg ) & ~GRIOMMU_CTRL_ITR_MASK ) | \
0355 ( ( ( _val ) << GRIOMMU_CTRL_ITR_SHIFT ) & \
0356 GRIOMMU_CTRL_ITR_MASK ) )
0357 #define GRIOMMU_CTRL_ITR( _val ) \
0358 ( ( ( _val ) << GRIOMMU_CTRL_ITR_SHIFT ) & \
0359 GRIOMMU_CTRL_ITR_MASK )
0360
0361 #define GRIOMMU_CTRL_DP 0x800U
0362
0363 #define GRIOMMU_CTRL_SIV 0x400U
0364
0365 #define GRIOMMU_CTRL_HPROT_SHIFT 8
0366 #define GRIOMMU_CTRL_HPROT_MASK 0x300U
0367 #define GRIOMMU_CTRL_HPROT_GET( _reg ) \
0368 ( ( ( _reg ) & GRIOMMU_CTRL_HPROT_MASK ) >> \
0369 GRIOMMU_CTRL_HPROT_SHIFT )
0370 #define GRIOMMU_CTRL_HPROT_SET( _reg, _val ) \
0371 ( ( ( _reg ) & ~GRIOMMU_CTRL_HPROT_MASK ) | \
0372 ( ( ( _val ) << GRIOMMU_CTRL_HPROT_SHIFT ) & \
0373 GRIOMMU_CTRL_HPROT_MASK ) )
0374 #define GRIOMMU_CTRL_HPROT( _val ) \
0375 ( ( ( _val ) << GRIOMMU_CTRL_HPROT_SHIFT ) & \
0376 GRIOMMU_CTRL_HPROT_MASK )
0377
0378 #define GRIOMMU_CTRL_AU 0x80U
0379
0380 #define GRIOMMU_CTRL_WP 0x40U
0381
0382 #define GRIOMMU_CTRL_DM 0x20U
0383
0384 #define GRIOMMU_CTRL_GS 0x10U
0385
0386 #define GRIOMMU_CTRL_CE 0x8U
0387
0388 #define GRIOMMU_CTRL_PM_SHIFT 1
0389 #define GRIOMMU_CTRL_PM_MASK 0x6U
0390 #define GRIOMMU_CTRL_PM_GET( _reg ) \
0391 ( ( ( _reg ) & GRIOMMU_CTRL_PM_MASK ) >> \
0392 GRIOMMU_CTRL_PM_SHIFT )
0393 #define GRIOMMU_CTRL_PM_SET( _reg, _val ) \
0394 ( ( ( _reg ) & ~GRIOMMU_CTRL_PM_MASK ) | \
0395 ( ( ( _val ) << GRIOMMU_CTRL_PM_SHIFT ) & \
0396 GRIOMMU_CTRL_PM_MASK ) )
0397 #define GRIOMMU_CTRL_PM( _val ) \
0398 ( ( ( _val ) << GRIOMMU_CTRL_PM_SHIFT ) & \
0399 GRIOMMU_CTRL_PM_MASK )
0400
0401 #define GRIOMMU_CTRL_EN 0x1U
0402
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413 #define GRIOMMU_FLUSH_FGRP_SHIFT 4
0414 #define GRIOMMU_FLUSH_FGRP_MASK 0xf0U
0415 #define GRIOMMU_FLUSH_FGRP_GET( _reg ) \
0416 ( ( ( _reg ) & GRIOMMU_FLUSH_FGRP_MASK ) >> \
0417 GRIOMMU_FLUSH_FGRP_SHIFT )
0418 #define GRIOMMU_FLUSH_FGRP_SET( _reg, _val ) \
0419 ( ( ( _reg ) & ~GRIOMMU_FLUSH_FGRP_MASK ) | \
0420 ( ( ( _val ) << GRIOMMU_FLUSH_FGRP_SHIFT ) & \
0421 GRIOMMU_FLUSH_FGRP_MASK ) )
0422 #define GRIOMMU_FLUSH_FGRP( _val ) \
0423 ( ( ( _val ) << GRIOMMU_FLUSH_FGRP_SHIFT ) & \
0424 GRIOMMU_FLUSH_FGRP_MASK )
0425
0426 #define GRIOMMU_FLUSH_GF 0x2U
0427
0428 #define GRIOMMU_FLUSH_F 0x1U
0429
0430
0431
0432
0433
0434
0435
0436
0437
0438
0439
0440 #define GRIOMMU_STATUS_PE 0x20U
0441
0442 #define GRIOMMU_STATUS_DE 0x10U
0443
0444 #define GRIOMMU_STATUS_FC 0x8U
0445
0446 #define GRIOMMU_STATUS_FL 0x4U
0447
0448 #define GRIOMMU_STATUS_AD 0x2U
0449
0450 #define GRIOMMU_STATUS_TE 0x1U
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462 #define GRIOMMU_IMASK_PEI 0x20U
0463
0464 #define GRIOMMU_IMASK_FCI 0x8U
0465
0466 #define GRIOMMU_IMASK_FLI 0x4U
0467
0468 #define GRIOMMU_IMASK_ADI 0x2U
0469
0470 #define GRIOMMU_IMASK_TEI 0x1U
0471
0472
0473
0474
0475
0476
0477
0478
0479
0480
0481
0482 #define GRIOMMU_AHBFAS_FADDR_31_5_SHIFT 5
0483 #define GRIOMMU_AHBFAS_FADDR_31_5_MASK 0xffffffe0U
0484 #define GRIOMMU_AHBFAS_FADDR_31_5_GET( _reg ) \
0485 ( ( ( _reg ) & GRIOMMU_AHBFAS_FADDR_31_5_MASK ) >> \
0486 GRIOMMU_AHBFAS_FADDR_31_5_SHIFT )
0487 #define GRIOMMU_AHBFAS_FADDR_31_5_SET( _reg, _val ) \
0488 ( ( ( _reg ) & ~GRIOMMU_AHBFAS_FADDR_31_5_MASK ) | \
0489 ( ( ( _val ) << GRIOMMU_AHBFAS_FADDR_31_5_SHIFT ) & \
0490 GRIOMMU_AHBFAS_FADDR_31_5_MASK ) )
0491 #define GRIOMMU_AHBFAS_FADDR_31_5( _val ) \
0492 ( ( ( _val ) << GRIOMMU_AHBFAS_FADDR_31_5_SHIFT ) & \
0493 GRIOMMU_AHBFAS_FADDR_31_5_MASK )
0494
0495 #define GRIOMMU_AHBFAS_FW 0x10U
0496
0497 #define GRIOMMU_AHBFAS_FMASTER_SHIFT 0
0498 #define GRIOMMU_AHBFAS_FMASTER_MASK 0xfU
0499 #define GRIOMMU_AHBFAS_FMASTER_GET( _reg ) \
0500 ( ( ( _reg ) & GRIOMMU_AHBFAS_FMASTER_MASK ) >> \
0501 GRIOMMU_AHBFAS_FMASTER_SHIFT )
0502 #define GRIOMMU_AHBFAS_FMASTER_SET( _reg, _val ) \
0503 ( ( ( _reg ) & ~GRIOMMU_AHBFAS_FMASTER_MASK ) | \
0504 ( ( ( _val ) << GRIOMMU_AHBFAS_FMASTER_SHIFT ) & \
0505 GRIOMMU_AHBFAS_FMASTER_MASK ) )
0506 #define GRIOMMU_AHBFAS_FMASTER( _val ) \
0507 ( ( ( _val ) << GRIOMMU_AHBFAS_FMASTER_SHIFT ) & \
0508 GRIOMMU_AHBFAS_FMASTER_MASK )
0509
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519
0520
0521 #define GRIOMMU_MSTCFG_VENDOR_SHIFT 24
0522 #define GRIOMMU_MSTCFG_VENDOR_MASK 0xff000000U
0523 #define GRIOMMU_MSTCFG_VENDOR_GET( _reg ) \
0524 ( ( ( _reg ) & GRIOMMU_MSTCFG_VENDOR_MASK ) >> \
0525 GRIOMMU_MSTCFG_VENDOR_SHIFT )
0526 #define GRIOMMU_MSTCFG_VENDOR_SET( _reg, _val ) \
0527 ( ( ( _reg ) & ~GRIOMMU_MSTCFG_VENDOR_MASK ) | \
0528 ( ( ( _val ) << GRIOMMU_MSTCFG_VENDOR_SHIFT ) & \
0529 GRIOMMU_MSTCFG_VENDOR_MASK ) )
0530 #define GRIOMMU_MSTCFG_VENDOR( _val ) \
0531 ( ( ( _val ) << GRIOMMU_MSTCFG_VENDOR_SHIFT ) & \
0532 GRIOMMU_MSTCFG_VENDOR_MASK )
0533
0534 #define GRIOMMU_MSTCFG_DEVICE_SHIFT 12
0535 #define GRIOMMU_MSTCFG_DEVICE_MASK 0xfff000U
0536 #define GRIOMMU_MSTCFG_DEVICE_GET( _reg ) \
0537 ( ( ( _reg ) & GRIOMMU_MSTCFG_DEVICE_MASK ) >> \
0538 GRIOMMU_MSTCFG_DEVICE_SHIFT )
0539 #define GRIOMMU_MSTCFG_DEVICE_SET( _reg, _val ) \
0540 ( ( ( _reg ) & ~GRIOMMU_MSTCFG_DEVICE_MASK ) | \
0541 ( ( ( _val ) << GRIOMMU_MSTCFG_DEVICE_SHIFT ) & \
0542 GRIOMMU_MSTCFG_DEVICE_MASK ) )
0543 #define GRIOMMU_MSTCFG_DEVICE( _val ) \
0544 ( ( ( _val ) << GRIOMMU_MSTCFG_DEVICE_SHIFT ) & \
0545 GRIOMMU_MSTCFG_DEVICE_MASK )
0546
0547 #define GRIOMMU_MSTCFG_BS 0x10U
0548
0549 #define GRIOMMU_MSTCFG_GROUP_SHIFT 0
0550 #define GRIOMMU_MSTCFG_GROUP_MASK 0xfU
0551 #define GRIOMMU_MSTCFG_GROUP_GET( _reg ) \
0552 ( ( ( _reg ) & GRIOMMU_MSTCFG_GROUP_MASK ) >> \
0553 GRIOMMU_MSTCFG_GROUP_SHIFT )
0554 #define GRIOMMU_MSTCFG_GROUP_SET( _reg, _val ) \
0555 ( ( ( _reg ) & ~GRIOMMU_MSTCFG_GROUP_MASK ) | \
0556 ( ( ( _val ) << GRIOMMU_MSTCFG_GROUP_SHIFT ) & \
0557 GRIOMMU_MSTCFG_GROUP_MASK ) )
0558 #define GRIOMMU_MSTCFG_GROUP( _val ) \
0559 ( ( ( _val ) << GRIOMMU_MSTCFG_GROUP_SHIFT ) & \
0560 GRIOMMU_MSTCFG_GROUP_MASK )
0561
0562
0563
0564
0565
0566
0567
0568
0569
0570
0571
0572 #define GRIOMMU_GRPCTRL_BASE_31_4_SHIFT 4
0573 #define GRIOMMU_GRPCTRL_BASE_31_4_MASK 0xfffffff0U
0574 #define GRIOMMU_GRPCTRL_BASE_31_4_GET( _reg ) \
0575 ( ( ( _reg ) & GRIOMMU_GRPCTRL_BASE_31_4_MASK ) >> \
0576 GRIOMMU_GRPCTRL_BASE_31_4_SHIFT )
0577 #define GRIOMMU_GRPCTRL_BASE_31_4_SET( _reg, _val ) \
0578 ( ( ( _reg ) & ~GRIOMMU_GRPCTRL_BASE_31_4_MASK ) | \
0579 ( ( ( _val ) << GRIOMMU_GRPCTRL_BASE_31_4_SHIFT ) & \
0580 GRIOMMU_GRPCTRL_BASE_31_4_MASK ) )
0581 #define GRIOMMU_GRPCTRL_BASE_31_4( _val ) \
0582 ( ( ( _val ) << GRIOMMU_GRPCTRL_BASE_31_4_SHIFT ) & \
0583 GRIOMMU_GRPCTRL_BASE_31_4_MASK )
0584
0585 #define GRIOMMU_GRPCTRL_P 0x2U
0586
0587 #define GRIOMMU_GRPCTRL_AG 0x1U
0588
0589
0590
0591
0592
0593
0594
0595
0596
0597
0598
0599
0600 #define GRIOMMU_DIAGCTRL_DA 0x80000000U
0601
0602 #define GRIOMMU_DIAGCTRL_RW 0x40000000U
0603
0604 #define GRIOMMU_DIAGCTRL_DP 0x200000U
0605
0606 #define GRIOMMU_DIAGCTRL_TP 0x100000U
0607
0608 #define GRIOMMU_DIAGCTRL_SETADDR_SHIFT 0
0609 #define GRIOMMU_DIAGCTRL_SETADDR_MASK 0x7ffffU
0610 #define GRIOMMU_DIAGCTRL_SETADDR_GET( _reg ) \
0611 ( ( ( _reg ) & GRIOMMU_DIAGCTRL_SETADDR_MASK ) >> \
0612 GRIOMMU_DIAGCTRL_SETADDR_SHIFT )
0613 #define GRIOMMU_DIAGCTRL_SETADDR_SET( _reg, _val ) \
0614 ( ( ( _reg ) & ~GRIOMMU_DIAGCTRL_SETADDR_MASK ) | \
0615 ( ( ( _val ) << GRIOMMU_DIAGCTRL_SETADDR_SHIFT ) & \
0616 GRIOMMU_DIAGCTRL_SETADDR_MASK ) )
0617 #define GRIOMMU_DIAGCTRL_SETADDR( _val ) \
0618 ( ( ( _val ) << GRIOMMU_DIAGCTRL_SETADDR_SHIFT ) & \
0619 GRIOMMU_DIAGCTRL_SETADDR_MASK )
0620
0621
0622
0623
0624
0625
0626
0627
0628
0629
0630
0631
0632 #define GRIOMMU_DIAGD_CDATAN_SHIFT 0
0633 #define GRIOMMU_DIAGD_CDATAN_MASK 0xffffffffU
0634 #define GRIOMMU_DIAGD_CDATAN_GET( _reg ) \
0635 ( ( ( _reg ) & GRIOMMU_DIAGD_CDATAN_MASK ) >> \
0636 GRIOMMU_DIAGD_CDATAN_SHIFT )
0637 #define GRIOMMU_DIAGD_CDATAN_SET( _reg, _val ) \
0638 ( ( ( _reg ) & ~GRIOMMU_DIAGD_CDATAN_MASK ) | \
0639 ( ( ( _val ) << GRIOMMU_DIAGD_CDATAN_SHIFT ) & \
0640 GRIOMMU_DIAGD_CDATAN_MASK ) )
0641 #define GRIOMMU_DIAGD_CDATAN( _val ) \
0642 ( ( ( _val ) << GRIOMMU_DIAGD_CDATAN_SHIFT ) & \
0643 GRIOMMU_DIAGD_CDATAN_MASK )
0644
0645
0646
0647
0648
0649
0650
0651
0652
0653
0654
0655
0656 #define GRIOMMU_DIAGT_TAG_SHIFT 1
0657 #define GRIOMMU_DIAGT_TAG_MASK 0xfffffffeU
0658 #define GRIOMMU_DIAGT_TAG_GET( _reg ) \
0659 ( ( ( _reg ) & GRIOMMU_DIAGT_TAG_MASK ) >> \
0660 GRIOMMU_DIAGT_TAG_SHIFT )
0661 #define GRIOMMU_DIAGT_TAG_SET( _reg, _val ) \
0662 ( ( ( _reg ) & ~GRIOMMU_DIAGT_TAG_MASK ) | \
0663 ( ( ( _val ) << GRIOMMU_DIAGT_TAG_SHIFT ) & \
0664 GRIOMMU_DIAGT_TAG_MASK ) )
0665 #define GRIOMMU_DIAGT_TAG( _val ) \
0666 ( ( ( _val ) << GRIOMMU_DIAGT_TAG_SHIFT ) & \
0667 GRIOMMU_DIAGT_TAG_MASK )
0668
0669 #define GRIOMMU_DIAGT_V 0x1U
0670
0671
0672
0673
0674
0675
0676
0677
0678
0679
0680
0681 #define GRIOMMU_DERRI_DPERRINJ_SHIFT 0
0682 #define GRIOMMU_DERRI_DPERRINJ_MASK 0xffffffffU
0683 #define GRIOMMU_DERRI_DPERRINJ_GET( _reg ) \
0684 ( ( ( _reg ) & GRIOMMU_DERRI_DPERRINJ_MASK ) >> \
0685 GRIOMMU_DERRI_DPERRINJ_SHIFT )
0686 #define GRIOMMU_DERRI_DPERRINJ_SET( _reg, _val ) \
0687 ( ( ( _reg ) & ~GRIOMMU_DERRI_DPERRINJ_MASK ) | \
0688 ( ( ( _val ) << GRIOMMU_DERRI_DPERRINJ_SHIFT ) & \
0689 GRIOMMU_DERRI_DPERRINJ_MASK ) )
0690 #define GRIOMMU_DERRI_DPERRINJ( _val ) \
0691 ( ( ( _val ) << GRIOMMU_DERRI_DPERRINJ_SHIFT ) & \
0692 GRIOMMU_DERRI_DPERRINJ_MASK )
0693
0694
0695
0696
0697
0698
0699
0700
0701
0702
0703
0704 #define GRIOMMU_TERRI_TPERRINJ_SHIFT 0
0705 #define GRIOMMU_TERRI_TPERRINJ_MASK 0xffffffffU
0706 #define GRIOMMU_TERRI_TPERRINJ_GET( _reg ) \
0707 ( ( ( _reg ) & GRIOMMU_TERRI_TPERRINJ_MASK ) >> \
0708 GRIOMMU_TERRI_TPERRINJ_SHIFT )
0709 #define GRIOMMU_TERRI_TPERRINJ_SET( _reg, _val ) \
0710 ( ( ( _reg ) & ~GRIOMMU_TERRI_TPERRINJ_MASK ) | \
0711 ( ( ( _val ) << GRIOMMU_TERRI_TPERRINJ_SHIFT ) & \
0712 GRIOMMU_TERRI_TPERRINJ_MASK ) )
0713 #define GRIOMMU_TERRI_TPERRINJ( _val ) \
0714 ( ( ( _val ) << GRIOMMU_TERRI_TPERRINJ_SHIFT ) & \
0715 GRIOMMU_TERRI_TPERRINJ_MASK )
0716
0717
0718
0719
0720
0721
0722
0723
0724
0725
0726
0727
0728 #define GRIOMMU_ASMPCTRL_FC 0x40000U
0729
0730 #define GRIOMMU_ASMPCTRL_SC 0x20000U
0731
0732 #define GRIOMMU_ASMPCTRL_MC 0x10000U
0733
0734 #define GRIOMMU_ASMPCTRL_GRPACCSZCTRL_SHIFT 0
0735 #define GRIOMMU_ASMPCTRL_GRPACCSZCTRL_MASK 0xffffU
0736 #define GRIOMMU_ASMPCTRL_GRPACCSZCTRL_GET( _reg ) \
0737 ( ( ( _reg ) & GRIOMMU_ASMPCTRL_GRPACCSZCTRL_MASK ) >> \
0738 GRIOMMU_ASMPCTRL_GRPACCSZCTRL_SHIFT )
0739 #define GRIOMMU_ASMPCTRL_GRPACCSZCTRL_SET( _reg, _val ) \
0740 ( ( ( _reg ) & ~GRIOMMU_ASMPCTRL_GRPACCSZCTRL_MASK ) | \
0741 ( ( ( _val ) << GRIOMMU_ASMPCTRL_GRPACCSZCTRL_SHIFT ) & \
0742 GRIOMMU_ASMPCTRL_GRPACCSZCTRL_MASK ) )
0743 #define GRIOMMU_ASMPCTRL_GRPACCSZCTRL( _val ) \
0744 ( ( ( _val ) << GRIOMMU_ASMPCTRL_GRPACCSZCTRL_SHIFT ) & \
0745 GRIOMMU_ASMPCTRL_GRPACCSZCTRL_MASK )
0746
0747
0748
0749
0750
0751
0752 typedef struct griommu {
0753
0754
0755
0756 uint32_t cap0;
0757
0758
0759
0760
0761 uint32_t cap1;
0762
0763
0764
0765
0766 uint32_t cap2;
0767
0768 uint32_t reserved_c_10;
0769
0770
0771
0772
0773 uint32_t ctrl;
0774
0775
0776
0777
0778 uint32_t flush;
0779
0780
0781
0782
0783 uint32_t status;
0784
0785
0786
0787
0788 uint32_t imask;
0789
0790
0791
0792
0793 uint32_t ahbfas;
0794
0795 uint32_t reserved_24_40[ 7 ];
0796
0797
0798
0799
0800 uint32_t mstcfg_0;
0801
0802 uint32_t reserved_44_64[ 8 ];
0803
0804
0805
0806
0807 uint32_t mstcfg_1;
0808
0809 uint32_t reserved_68_80[ 6 ];
0810
0811
0812
0813
0814 uint32_t grpctrl_0;
0815
0816 uint32_t reserved_84_9c[ 6 ];
0817
0818
0819
0820
0821 uint32_t grpctrl_1;
0822
0823 uint32_t reserved_a0_c0[ 8 ];
0824
0825
0826
0827
0828 uint32_t diagctrl;
0829
0830
0831
0832
0833 uint32_t diagd_0;
0834
0835 uint32_t reserved_c8_e0[ 6 ];
0836
0837
0838
0839
0840 uint32_t diagd_1;
0841
0842
0843
0844
0845 uint32_t diagt;
0846
0847
0848
0849
0850 uint32_t derri;
0851
0852
0853
0854
0855 uint32_t terri;
0856
0857 uint32_t reserved_f0_100[ 4 ];
0858
0859
0860
0861
0862 uint32_t asmpctrl_0;
0863
0864 uint32_t reserved_104_10c[ 2 ];
0865
0866
0867
0868
0869 uint32_t asmpctrl_1;
0870 } griommu;
0871
0872
0873
0874 #ifdef __cplusplus
0875 }
0876 #endif
0877
0878 #endif