Difference between revisions of "Unit PlatformRPi"
From Ultibo.org
								
												
				| Line 31: | Line 31: | ||
<pre style="border: 0; padding-bottom:0px;">procedure RPiInit;</pre>  | <pre style="border: 0; padding-bottom:0px;">procedure RPiInit;</pre>  | ||
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | |||
| + | '''RPi platform functions'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiBoardInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiMemoryInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiClockInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiPowerInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiMailboxInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiInterruptInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiPeripheralInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiFramebufferInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiPageTableInit;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Initialize the Hardware Page Tables before enabling the MMU</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | See page 6-36 of the ARM1176JZF-S Technical Reference Manual  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiPowerLEDEnable;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiPowerLEDOn;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiPowerLEDOff;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiActivityLEDEnable;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiActivityLEDOn;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiActivityLEDOff;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiMailboxReceive(Mailbox,Channel:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Receive from specified mailbox on specified channel</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Data = first 28 bits, Channel = last 4 bits  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">procedure RPiMailboxSend(Mailbox,Channel,Data:LongWord);</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Send to specified mailbox on specified channel</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Data = first 28 bits, Channel = last 4 bits  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiMailboxCall(Mailbox,Channel,Data:LongWord; var Response:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a transaction (Send/Receive) to specified mailbox on specified channel</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Data = first 28 bits, Channel = last 4 bits  | ||
| + | Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiMailboxCallEx(Mailbox,Channel,Data:LongWord; var Response:LongWord; Timeout:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a transaction (Send/Receive) to specified mailbox on specified channel</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Data = first 28 bits, Channel = last 4 bits  | ||
| + | Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiMailboxPropertyCall(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a property tag transaction (Send/Receive) to specified mailbox on specified channel</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Data = first 28 bits, Channel = last 4 bits  | ||
| + | Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiMailboxPropertyCallEx(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord; Timeout:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a property tag transaction (Send/Receive) to specified mailbox on specified channel</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Data = first 28 bits, Channel = last 4 bits  | ||
| + | Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiRequestExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Request registration of the supplied handler to the specified IRQ number</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''CPUID'''  | ||
| + | | CPU to route IRQ to (Ignored on RPi)  | ||
| + | |-  | ||
| + | ! '''Number'''  | ||
| + | | IRQ number to register  | ||
| + | |-  | ||
| + | ! '''Handler'''  | ||
| + | | Interrupt handler function to register  | ||
| + | |-  | ||
| + | ! '''HandlerEx'''  | ||
| + | | Extended Interrupt handler function to register  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Only one of Handler or HandlerEx can be specified  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiReleaseExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Request deregistration of the supplied handler from the specified IRQ number</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''CPUID'''  | ||
| + | | CPU to route IRQ to (Ignored on RPi)  | ||
| + | |-  | ||
| + | ! '''Number'''  | ||
| + | | IRQ number to deregister  | ||
| + | |-  | ||
| + | ! '''Handler'''  | ||
| + | | Interrupt handler function to deregister  | ||
| + | |-  | ||
| + | ! '''HandlerEx'''  | ||
| + | | Extended Interrupt handler function to deregister  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Only one of Handler or HandlerEx can be specified  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiRequestExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Request registration of the supplied handler to the specified FIQ number</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''CPUID'''  | ||
| + | | CPU to route FIQ to (Ignored on RPi)  | ||
| + | |-  | ||
| + | ! '''Number'''  | ||
| + | | FIQ number to register  | ||
| + | |-  | ||
| + | ! '''Handler'''  | ||
| + | | Interrupt handler function to register  | ||
| + | |-  | ||
| + | ! '''HandlerEx'''  | ||
| + | | Extended Interrupt handler function to register  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Only one of Handler or HandlerEx can be specified  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiReleaseExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Request deregistration of the supplied handler from the specified FIQ number</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''CPUID'''  | ||
| + | | CPU to route FIQ to (Ignored on RPi)  | ||
| + | |-  | ||
| + | ! '''Number'''  | ||
| + | | FIQ number to deregister  | ||
| + | |-  | ||
| + | ! '''Handler'''  | ||
| + | | Interrupt handler function to deregister  | ||
| + | |-  | ||
| + | ! '''HandlerEx'''  | ||
| + | | Extended Interrupt handler function to deregister  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Only one of Handler or HandlerEx can be specified  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiRegisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Request registration of the supplied extended handler to the specified System Call number</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''CPUID'''  | ||
| + | | The CPU ID to register the System Call against (Ignored on RPi)  | ||
| + | |-  | ||
| + | ! '''Number'''  | ||
| + | | The System Call number to be registered  | ||
| + | |-  | ||
| + | ! '''Handler'''  | ||
| + | | The handler function to be registered  | ||
| + | |-  | ||
| + | ! '''HandlerEx'''  | ||
| + | | The extended handler function to be registered  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Only one of Handler or HandlerEx can be specified  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiDeregisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Request deregistration of the supplied extended handler from the specified System Call number</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''CPUID'''  | ||
| + | | The CPU ID to deregister the System Call from (Ignored on RPi)  | ||
| + | |-  | ||
| + | ! '''Number'''  | ||
| + | | The System Call number to be deregistered  | ||
| + | |-  | ||
| + | ! '''Handler'''  | ||
| + | | The handler function to be deregistered  | ||
| + | |-  | ||
| + | ! '''HandlerEx'''  | ||
| + | | The extended handler function to be deregistered  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Only one of Handler or HandlerEx can be specified  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiGetInterruptEntry(Number:LongWord):TInterruptEntry;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the interrupt entry for the specified interrupt number</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiGetSystemCallEntry(Number:LongWord):TSystemCallEntry;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | Get the system call entry for the specified system call number  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiSystemRestart(Delay:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiSystemShutdown(Delay:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiSystemGetCommandLine:String;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the Command Line from the Mailbox property tags channel</div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | ! '''Note'''  | ||
| + | | None documented  | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| + | <pre style="border: 0; padding-bottom:0px;">function RPiCPUGetMemory(var Address:PtrUInt; var Length:LongWord):LongWord;</pre>  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the CPU Memory from the Mailbox property tags channel</div>  | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
Revision as of 03:27, 10 November 2016
Return to Unit Reference
Description
The RPi A+/B+ have the Power LED connected to GPIO Pin 35 (Activity LED is now on GPIO Pin 47 instead of Pin 16 in model A/B).
Constants
To be documented
Type definitions
To be documented
Public variables
To be documented
Function declarations
Initialization functions
procedure RPiInit;
Description: To be documented
| Note | None documented | 
|---|
RPi platform functions
procedure RPiBoardInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiMemoryInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiClockInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiPowerInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiMailboxInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiInterruptInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiPeripheralInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiFramebufferInit;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiPageTableInit;
Description: Initialize the Hardware Page Tables before enabling the MMU
| Note | See page 6-36 of the ARM1176JZF-S Technical Reference Manual | 
|---|
procedure RPiPowerLEDEnable;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiPowerLEDOn;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiPowerLEDOff;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiActivityLEDEnable;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiActivityLEDOn;
Description: To be documented
| Note | None documented | 
|---|
procedure RPiActivityLEDOff;
Description: To be documented
| Note | None documented | 
|---|
function RPiMailboxReceive(Mailbox,Channel:LongWord):LongWord;
Description: Receive from specified mailbox on specified channel
| Note | Data = first 28 bits, Channel = last 4 bits | 
|---|
procedure RPiMailboxSend(Mailbox,Channel,Data:LongWord);
Description: Send to specified mailbox on specified channel
| Note | Data = first 28 bits, Channel = last 4 bits | 
|---|
function RPiMailboxCall(Mailbox,Channel,Data:LongWord; var Response:LongWord):LongWord;
Description: Perform a transaction (Send/Receive) to specified mailbox on specified channel
| Note |  Data = first 28 bits, Channel = last 4 bits
 Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | 
|---|
function RPiMailboxCallEx(Mailbox,Channel,Data:LongWord; var Response:LongWord; Timeout:LongWord):LongWord;
Description: Perform a transaction (Send/Receive) to specified mailbox on specified channel
| Note |  Data = first 28 bits, Channel = last 4 bits
 Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | 
|---|
function RPiMailboxPropertyCall(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord):LongWord;
Description: Perform a property tag transaction (Send/Receive) to specified mailbox on specified channel
| Note |  Data = first 28 bits, Channel = last 4 bits
 Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | 
|---|
function RPiMailboxPropertyCallEx(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord; Timeout:LongWord):LongWord;
Description: Perform a property tag transaction (Send/Receive) to specified mailbox on specified channel
| Note |  Data = first 28 bits, Channel = last 4 bits
 Data pointer must be 16 byte aligned to allow for the 4 bit channel number  | 
|---|
function RPiRequestExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request registration of the supplied handler to the specified IRQ number
| CPUID | CPU to route IRQ to (Ignored on RPi) | 
|---|---|
| Number | IRQ number to register | 
| Handler | Interrupt handler function to register | 
| HandlerEx | Extended Interrupt handler function to register | 
| Note | Only one of Handler or HandlerEx can be specified | 
function RPiReleaseExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request deregistration of the supplied handler from the specified IRQ number
| CPUID | CPU to route IRQ to (Ignored on RPi) | 
|---|---|
| Number | IRQ number to deregister | 
| Handler | Interrupt handler function to deregister | 
| HandlerEx | Extended Interrupt handler function to deregister | 
| Note | Only one of Handler or HandlerEx can be specified | 
function RPiRequestExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request registration of the supplied handler to the specified FIQ number
| CPUID | CPU to route FIQ to (Ignored on RPi) | 
|---|---|
| Number | FIQ number to register | 
| Handler | Interrupt handler function to register | 
| HandlerEx | Extended Interrupt handler function to register | 
| Note | Only one of Handler or HandlerEx can be specified | 
function RPiReleaseExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request deregistration of the supplied handler from the specified FIQ number
| CPUID | CPU to route FIQ to (Ignored on RPi) | 
|---|---|
| Number | FIQ number to deregister | 
| Handler | Interrupt handler function to deregister | 
| HandlerEx | Extended Interrupt handler function to deregister | 
| Note | Only one of Handler or HandlerEx can be specified | 
function RPiRegisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;
Description: Request registration of the supplied extended handler to the specified System Call number
| CPUID | The CPU ID to register the System Call against (Ignored on RPi) | 
|---|---|
| Number | The System Call number to be registered | 
| Handler | The handler function to be registered | 
| HandlerEx | The extended handler function to be registered | 
| Note | Only one of Handler or HandlerEx can be specified | 
function RPiDeregisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;
Description: Request deregistration of the supplied extended handler from the specified System Call number
| CPUID | The CPU ID to deregister the System Call from (Ignored on RPi) | 
|---|---|
| Number | The System Call number to be deregistered | 
| Handler | The handler function to be deregistered | 
| HandlerEx | The extended handler function to be deregistered | 
| Note | Only one of Handler or HandlerEx can be specified | 
function RPiGetInterruptEntry(Number:LongWord):TInterruptEntry;
Description: Get the interrupt entry for the specified interrupt number
| Note | None documented | 
|---|
function RPiGetSystemCallEntry(Number:LongWord):TSystemCallEntry;
Description: To be documented
| Note | Get the system call entry for the specified system call number | 
|---|
function RPiSystemRestart(Delay:LongWord):LongWord;
Description: To be documented
| Note | None documented | 
|---|
function RPiSystemShutdown(Delay:LongWord):LongWord;
Description: To be documented
| Note | None documented | 
|---|
function RPiSystemGetCommandLine:String;
Description: Get the Command Line from the Mailbox property tags channel
| Note | None documented | 
|---|
function RPiCPUGetMemory(var Address:PtrUInt; var Length:LongWord):LongWord;
Description: Get the CPU Memory from the Mailbox property tags channel
| Note | None documented | 
|---|
Return to Unit Reference