Difference between revisions of "Unit VersatilePB"

From Ultibo.org
Jump to: navigation, search
 
Line 68: Line 68:
 
|  
 
|  
 
|-
 
|-
| <code>VERSATILEPB_PERIPHERALS_SIZE = $001FFFFF;</code>
+
| <code>VERSATILEPB_PERIPHERALS_SIZE = SIZE_2M;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 134: Line 134:
 
|-
 
|-
 
| <code>VERSATILEPB_VIC_REGS_BASE = $10140000;</code>
 
| <code>VERSATILEPB_VIC_REGS_BASE = $10140000;</code>
| PL190Vectored interrupt controller
+
| PL190 Vectored interrupt controller
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
Line 464: Line 464:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
|colspan="2"|System register offsets (See: \arm\mach-versatile\include\mach\platform.h and http://infocenter.arm.com/help/topic/com.arm.doc.dui0224i/I1006122.html)
+
|colspan="2"|System register offsets (See: \arch\arm\mach-versatile\include\mach\platform.h and http://infocenter.arm.com/help/topic/com.arm.doc.dui0224i/I1006122.html)
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
Line 569: Line 569:
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
|colspan="2"|System register bits (See: \arm\mach-versatile\include\mach\platform.h and http://infocenter.arm.com/help/topic/com.arm.doc.dui0224i/I1006122.html)
+
|colspan="2"|System register bits (See: \arch\arm\mach-versatile\include\mach\platform.h and http://infocenter.arm.com/help/topic/com.arm.doc.dui0224i/I1006122.html)
 +
|-
 +
| <code>VERSATILEPB_SYS_100HZ_FREQUENCY = 100;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_LOCK_LOCKED = (1 shl 16);</code>
 +
| This bit indicates if the control registers are locks or unlocked
 +
|-
 +
| <code>VERSATILEPB_SYS_LOCK_LOCKVAL = $A05F;</code>
 +
| Write this value to unlock the control registers, write any other to lock the registers
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_RESETCTL_RESET = (1 shl 8);</code>
 +
| &nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_RESETCTL_CONFIGCLR = $01;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_RESETCTL_CONFIGINIT = $02;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_RESETCTL_DLLRESET = $03;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_RESETCTL_PLLRESET = $04;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_RESETCTL_PORRESET = $05;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_RESETCTL_DOCRESET = $06;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_MCI_CD0 = (1 shl 0);</code>
 +
| Card detect 0
 +
|-
 +
| <code>VERSATILEPB_SYS_MCI_CD1 = (1 shl 1);</code>
 +
| Card detect 1
 +
|-
 +
| <code>VERSATILEPB_SYS_MCI_WP0 = (1 shl 2);</code>
 +
| Write protect 0
 +
|-
 +
| <code>VERSATILEPB_SYS_MCI_WP1 = (1 shl 3);</code>
 +
| Write protect 1
 +
|-
 +
|colspan="2"|&nbsp;
 
|-
 
|-
 
| <code>VERSATILEPB_SYS_CLCD_MODE888 = 0;</code>
 
| <code>VERSATILEPB_SYS_CLCD_MODE888 = 0;</code>
Line 586: Line 636:
 
|-
 
|-
 
| <code>VERSATILEPB_SYS_CLCD_MODEMASK = 3;</code>
 
| <code>VERSATILEPB_SYS_CLCD_MODEMASK = 3;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>VERSATILEPB_SYS_24MHZ_FREQUENCY = 24000000;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-

Latest revision as of 05:48, 9 June 2017

Return to Unit Reference


Description


Ultibo Definitions specific to the ARM Versatile Platform Baseboard unit

From the QEMU source the memory map of the VersatilePB is shown as this:

Memory map for Versatile/PB:

  • 0x10000000 System registers
  • 0x10001000 PCI controller config registers
  • 0x10002000 Serial bus interface
  • 0x10003000 Secondary interrupt controller
  • 0x10004000 AACI (audio)
  • 0x10005000 MMCI0
  • 0x10006000 KMI0 (keyboard)
  • 0x10007000 KMI1 (mouse)
  • 0x10008000 Character LCD Interface
  • 0x10009000 UART3
  • 0x1000a000 Smart card 1
  • 0x1000b000 MMCI1
  • 0x10010000 Ethernet
  • 0x10020000 USB
  • 0x10100000 SSMC
  • 0x10110000 MPMC
  • 0x10120000 CLCD Controller
  • 0x10130000 DMA Controller
  • 0x10140000 Vectored interrupt controller
  • 0x101d0000 AHB Monitor Interface
  • 0x101e0000 System Controller
  • 0x101e1000 Watchdog Interface
  • 0x101e2000 Timer 0/1
  • 0x101e3000 Timer 2/3
  • 0x101e4000 GPIO port 0
  • 0x101e5000 GPIO port 1
  • 0x101e6000 GPIO port 2
  • 0x101e7000 GPIO port 3
  • 0x101e8000 RTC
  • 0x101f0000 Smart card 0
  • 0x101f1000 UART0
  • 0x101f2000 UART1
  • 0x101f3000 UART2
  • 0x101f4000 SSPI
  • 0x34000000 NOR Flash

Constants



[Expand]
VersatilePB specific constants VERSATILEPB_*


[Expand]
VersatilePB IRQ VERSATILEPB_IRQ_*


[Expand]
VersatilePB IRQ count VERSATILEPB_*_IRQ_COUNT*


[Expand]
VersatilePB FIQ count VERSATILEPB_FIQ_COUNT*


[Expand]
VersatilePB timer frequency VERSATILEPB_TIMER_FREQUENCY*


[Expand]
VersatilePB system register VERSATILEPB_SYS_*


[Expand]
VersatilePB system control VERSATILEPB_SYSCTRL_*


[Expand]
SP804 timer SP804_TIMER_*


[Expand]
SP804 timer control SP804_TIMER_CONTROL_*


[Expand]
PL190 vectored interrupt controller offsets PL190_VIC_*


[Expand]
PL190 vectored interrupt controller register PL190_VIC_VECTCNTL_*


[Expand]
VersatilePB secondary interrupt controller VERSATILEPB_SIC_*


Type definitions



SP804 timer registers

[Expand]

PSP804TimerRegisters = ^TSP804TimerRegisters;

TSP804TimerRegisters = record

PL190 interrupt controller

[Expand]

PPL190InterruptRegisters = ^TPL190InterruptRegisters;

TPL190InterruptRegisters = record

PL190 vector address

[Expand]

PPL190VectorAddressRegisters = ^TPL190VectorAddressRegisters;

TPL190VectorAddressRegisters = record

PL190 vector control

[Expand]

PPL190VectorControlRegisters = ^TPL190VectorControlRegisters;

TPL190VectorControlRegisters = record

VersatilePB secondary interrupt controller

[Expand]

PVersatilePBInterruptRegisters = ^TVersatilePBInterruptRegisters;

TVersatilePBInterruptRegisters = record


Public variables


None defined

Function declarations


None defined


Return to Unit Reference