Overview of VPE motion estimator

Introduction

Todo

write me

MMIO registers

8-bit space pme [0x800]

Todo

write me

FIFO methods

PME is controlled by PFIFO. Its PFIFO engine id is 3. It doesn’t care about PFIFO subchannels or object bindings - it exports only a single engine object and treats all incoming methods as belonging to that object.

8-bit space me [0x2000]

Todo

write me

Address Variants Name Description
0x0 all OBJECT Bind object
0x108 all UNK108 ???
0x120 all UNK120 ???
0x160 all UNK160 ???
0x164 all UNK164 ???
0x168 all UNK168 ???
0x16c all UNK16C ???
0x170 all UNK170 ???
0x174 all UNK174 ???
0x178 all UNK178 ???
0x17c all UNK17C ???
0x1b0 G80: DMA_UNK1B0 ???
0x1b4 G80: DMA_UNK1B4 ???
0x1c0 G80: DMA_UNK1C0 ???
0x200 all UNK200 ???
0x204 all UNK204 ???
0x208 all UNK208 ???
0x20c all UNK20C ???
0x210 all UNK210 ???
0x214 all UNK214 ???
0x228 all UNK228 ???
0x22c all UNK22C ???
reg32 pme-mthd-object
me 0x0: OBJECT

Todo

write me

Unknown methods

Todo

figure these out

reg32 pme-mthd-unk108
me 0x108: UNK108

The valid values seem to be 0 and 1.

Todo

write me

reg32 pme-mthd-unk120
me 0x120: UNK120

All values are valid.

Todo

write me

reg32 pme-mthd-unk160
me 0x160: UNK160
  • bits 0-15: ???, has to be aligned to 0x40
  • bits 16-31: ???, has to be aligned to 0x40

Todo

write me

reg32 pme-mthd-unk164
me 0x164: UNK164
  • bits 0-15: ???, has to be aligned to 0x10 and non-0
  • bits 16-31: ???, has to be aligned to 2 and non-0

Todo

write me

reg32 pme-mthd-unk168
me 0x168: UNK168
  • bits 0-15: ???, has to be aligned to 0x10 and non-0
  • bits 16-31: ???, has to be aligned to 0x10 and non-0

Todo

write me

reg32 pme-mthd-unk16c
me 0x16c: UNK16C
  • bits 0-15: ???, has to be aligned to 0x10
  • bits 16-31: ???, has to be aligned to 2

Todo

write me

reg32 pme-mthd-unk170
me 0x170: UNK170
  • bits 0-15: ???, has to be aligned to 0x10
  • bits 16-31: ???, has to be aligned to 2

Not all values are valid…

Todo

write me

reg32 pme-mthd-unk174
me 0x174: UNK174
  • bits 0-15: ???, has to be aligned to 0x10
  • bits 16-31: ???, has to be aligned to 2

Todo

write me

reg32 pme-mthd-unk178
me 0x178: UNK178

Has to be aligned to 8.

Todo

write me

reg32 pme-mthd-unk17c
me 0x17c: UNK17C

Seems to be the trigger method. Valid values unknown.

Todo

write me

reg32 pme-mthd-unk1b0
me 0x1b0: DMA_UNK1B0 [G80:]

A DMA method of unknown purpose.

Todo

write me

reg32 pme-mthd-unk1b4
me 0x1b4: DMA_UNK1B4 [G80:]

A DMA method of unknown purpose.

Todo

write me

reg32 pme-mthd-unk1c0
me 0x1c0: DMA_UNK1C0 [G80:]

A DMA method of unknown purpose.

Todo

write me

reg32 pme-mthd-unk200
me 0x200: UNK200

Has to be aligned to 0x40.

Todo

write me

reg32 pme-mthd-unk204
me 0x204: UNK204

Has to be aligned to 0x40.

Todo

write me

reg32 pme-mthd-unk208
me 0x208: UNK208

Has to be aligned to 0x40.

Todo

write me

reg32 pme-mthd-unk20c
me 0x20c: UNK20C

Has to be aligned to 0x40.

Todo

write me

reg32 pme-mthd-unk210
me 0x210: UNK210

Has to be aligned to 0x40.

Todo

write me

reg32 pme-mthd-unk214
me 0x214: UNK214

Has to be aligned to 0x40.

Todo

write me

reg32 pme-mthd-unk228
me 0x228: UNK228

Has to be aligned to 8.

Todo

write me

reg32 pme-mthd-unk22c
me 0x22c: UNK22C

Has to be aligned to 8.

Todo

write me

Interrupts

Todo

write me