Register-mediawiki-extension

From linux-sunxi.org
Jump to navigation Jump to search

Wish page for a mediawiki extension to make easy editing and generate pretty register descriptions, together with the possibility of export in a machine friendly format.

similar

From previous discussions:

LaTeX packages:

disadvantages

Someone has to write it, be a maintainer.

alternatives

  • Use mediawiki templates.
    Have two forms of arguments named/unnamed(indexed by number). Named arguments strip the start and end spaces. Unnamed, the '=' character transform in a named argument.
  • Scribunto - embed lua scripting
    Page => Template => Module. Uses the same argument parsing rules as templates, with the same limitations.

format

Should be easy to edit, should be easy to write the extension's parser.

<register>
  ?
</register>

render

SRAM_CTL0_CFG

30 0
SRAM_C1_MAP
Offset
0x0000
Name Bits R/W Default Values Description
SRAM_C1_MAP 30:0
RW
0x7fffffff
 0 = CPU/DMA
 1 = VE
Each bit represents a page to be mapped to the CPU/DMA unit or to the VE. Each bit (combination) may represent a byte/page of sram C1

SRAM_CTL1_CFG

31 12 9 8 5 4 2 0
Offset
0x0004
Name Bits R/W Default Values Description
SRAM_BIST_DMA_CTL 31
RW
0b0
 0 = DMA
 1 = BIST
Normal DMA or BIST control (build in self test)
SRAM_C3_MAP 12
RW
0b1
 0 = CPU/BIST
 1 = ISP
Map SRAM C3 to either the CPU/BIST unit or to ISP
SRAM_C2_MAP 9:8
RW
0b11
 00 = CPU/BIST
 01 = AE
 10 = CE
 11 = ACE
Map SRAM C2 to either the CPU/BIST unit or to the AE or to the CE or to the ACE
SRAM_A3_A4_MAP 5:4
RW
0b00
 00 = CPU/DMA
 01 = EMAC
 10 = no operation
 11 = no operation
Map SRAM A3 and A4 to either the CPU/DMA unit or to EMAC
SRAM_ 2
RW
0b0
 0 = ?
 1 = ?
EMAC at the least changes this.A20 have this set by default
SRAM_D_MAP 0
RW
0b0
 0 = CPU/DMA
 1 = USB0
Map SRAM D to either the CPU/DMA unit or to USB0