Регистры Allwinner H616

Сокращения  |  Дерево шин  |  Карта памяти


IOMMU_VA_CONFIG_REG
3.12.5. IOMMU Virtual Address Configuration Register - адрес: 0x30f0198 (смещение: 0x0198)

Модуль управления памятью ввода-вывода IOMMU: список регистров



31 ||||||||||||||||| 16
15 ||||||||||||||||| 00

  MODE_SEL

Bit 31
R/W
0x0

0: Prefetch
1: Debug Mode
It is used to chose prefetch mode or Debug mode.


  Unused

Bits 30 : 9

  VA_CONFIG

Bit 8
R/W
0x0

0: Read operation
1: Write operation


  Unused

Bits 7 : 1

  VA_CONFIG_START

Bit 0
R/WAC
0x0

0: No operation or operation completes
1: Start
After the operation completes, the bit can clear to 0 automatically.
Read operation process:
a) Write IOMMU_VA_REG[31:0];
b) Write IOMMU_VA_CONFIG_REG[8] to 0;
c) Write IOMMU_VA_CONFIG_REG[0] to 1 to start read-process;
d) Query IOMMU_VA_CONFIG_REG[0] until it is 0;
e) Read IOMMU_VA_DATA_REG[31:0];
Write operation process:
a) Write IOMMU_VA_REG[31:0];
b) Write IOMMU_VA_DATA_REG[31:0];
c) Write IOMMU_VA_CONFIG_REG[8] to 1;
d) Write IOMMU_VA_CONFIG_REG[0] to 1 to start write-process;
e) Query IOMMU_VA_CONFIG_REG[0] until it is 0;



Команда U-Boot для чтения регистра

md 30f0198 1



Bit fields structure

typedef union  iommu_va_config_reg
{
  struct
  {
   unsigned va_config_start : 1;
   unsigned unused0 : 7;
   unsigned va_config : 1;
   unsigned unused1 : 22;
   unsigned mode_sel : 1;
  } b;
   unsigned long w;
} IOMMU_VA_CONFIG_REG
   

Allwinner H616 Manual