Changes

Jump to navigation Jump to search
6 bytes added ,  15:25, 7 August 2016
m
Category DSP
Line 1: Line 1: −
[[Category:Services]]
   
= DSP service "dsp::DSP" =
 
= DSP service "dsp::DSP" =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 7: Line 6:  
|-
 
|-
 
| 0x00010040
 
| 0x00010040
| RecvData(chan 0-3)
+
| [[DSP:RecvData|RecvData]]
|-
  −
| 0x00010080
  −
| ????
  −
|-
  −
| 0x00020000
  −
| ????
   
|-
 
|-
 
| 0x00020040
 
| 0x00020040
| RecvDataIsReady(chan 0-3)
+
| [[DSP:RecvDataIsReady|RecvDataIsReady]]
 
|-
 
|-
 
| 0x00030080
 
| 0x00030080
| SendData(chan 0-3)
+
| [[DSP:SendData|SendData]]
 
|-
 
|-
 
| 0x00040040
 
| 0x00040040
| SendDataIsEmpty(chan 0-3)
+
| [[DSP:SendDataIsEmpty|SendDataIsEmpty]]
 
|-
 
|-
| 0x00050100
+
| 0x000500C2
| ?
+
| SendFifoEx(unsigned short, unsigned short const*, unsigned int, unsigned int)
 
|-
 
|-
| 0x0006...
+
| 0x000600C0
| ?
+
| RecvFifoEx(unsigned short *, unsigned short, unsigned int, unsigned int)
 
|-
 
|-
| 0x0007....
+
| 0x00070040
| [[DSP:WriteReg0x10|WriteReg0x10]] SetSemaphore
+
| [[DSP:SetSemaphore|SetSemaphore]]
 
|-
 
|-
 
| 0x00080000
 
| 0x00080000
| GetSemaphore
+
| [[DSP:GetSemaphore|GetSemaphore]]
|-
  −
| 0x00080082
  −
| ????
   
|-
 
|-
 
| 0x00090040
 
| 0x00090040
| ClearSemaphore
+
| [[DSP:ClearSemaphore|ClearSemaphore]]
 
|-
 
|-
| 0x000A....
+
| 0x000A0040
| WriteReg0x18
+
| [[DSP:MaskSemaphore|MaskSemaphore]]
 
|-
 
|-
 
| 0x000B0000
 
| 0x000B0000
| CheckSemaphoreRequest
+
| [[DSP:CheckSemaphoreRequest|CheckSemaphoreRequest]]
|-
  −
| 0x000C0000
  −
| ????
   
|-
 
|-
 
| 0x000C0040
 
| 0x000C0040
Line 57: Line 44:  
| [[DSP:WriteProcessPipe|WriteProcessPipe]]
 
| [[DSP:WriteProcessPipe|WriteProcessPipe]]
 
|-
 
|-
| 0x000E0080
+
| 0x000E00C0
| ????
+
| [[DSP:ReadPipe|ReadPipe]]
 +
|-
 +
| 0x000F0080
 +
| [[DSP:GetPipeReadableSize|GetPipeReadableSize]]
 
|-
 
|-
 
| 0x001000C0
 
| 0x001000C0
Line 64: Line 54:  
|-
 
|-
 
| 0x001100C2
 
| 0x001100C2
| [[DSP:LoadComponent|LoadComponent]]. This requires RSA-signed DSP firmware specified via the input buffer for this command, the firmware data is eventually written to DSPmem+0(0x1FF00000).
+
| [[DSP:LoadComponent|LoadComponent]]
 
|-
 
|-
 
| 0x00120000
 
| 0x00120000
| UnloadComponent
+
| [[DSP:UnloadComponent|UnloadComponent]]
 
|-
 
|-
 
| 0x00130082
 
| 0x00130082
| FlushDataCache (The buffer must be located in the 0x14000000 region)
+
| [[DSP:FlushDataCache|FlushDataCache]]
|  
   
|-
 
|-
 
| 0x00140082
 
| 0x00140082
| InvalidateDCache (The buffer must be located in either the 0x14000000 region, or the DSP memory region)
+
| [[DSP:InvalidateDCache|InvalidateDCache]]
 
|-
 
|-
 
| 0x00150082
 
| 0x00150082
| [[DSP:RegisterInterruptEvents|RegisterInterruptEvents(param0, param1, 0, eventhandle)]]
+
| [[DSP:RegisterInterruptEvents|RegisterInterruptEvents]]
 
|-
 
|-
 
| 0x00160000
 
| 0x00160000
Line 84: Line 73:  
| 0x00170040
 
| 0x00170040
 
| [[DSP:SetSemaphoreMask|SetSemaphoreMask]]
 
| [[DSP:SetSemaphoreMask|SetSemaphoreMask]]
|-
  −
| 0x00170042
  −
| ????
   
|-
 
|-
 
| 0x00180040
 
| 0x00180040
| GetPhysicalAddress (0x14000000+ -> 0x20000000+, 0x1FF00000+ -> 0x1FF00000+, 0x08000000-0x0E000000 -> 0x00000000+, 0 otherwise)
+
| [[DSP:GetPhysicalAddress|GetPhysicalAddress]]
 
|-
 
|-
 
| 0x00190040
 
| 0x00190040
| GetVirtualAddress (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise)
+
| [[DSP:GetVirtualAddress|GetVirtualAddress]]
 
|-
 
|-
 
| 0x001A0042
 
| 0x001A0042
Line 98: Line 84:  
|-
 
|-
 
| 0x001B0042
 
| 0x001B0042
| SetIirFilterI2S1. Wrapper for cdc:DSP cmd 2
+
| SetIirFilterI2S2. Wrapper for cdc:DSP cmd 2
 
|-
 
|-
 
| 0x001C0082
 
| 0x001C0082
 
| SetIirFilterEQ. Wrapper for cdc:DSP cmd 3
 
| SetIirFilterEQ. Wrapper for cdc:DSP cmd 3
 
|-
 
|-
| 0x001D....
+
| 0x001D00C0
| Wrapper for cdc:DSP cmd 4
+
| ReadMultiEx_SPI2(unsigned char, unsigned char, unsigned char *, unsigned char) (Wrapper for cdc:DSP cmd 4)
 
|-
 
|-
| 0x001E....
+
| 0x001E00C2
| Wrapper for cdc:DSP cmd 5
+
| WriteMultiEx_SPI2(unsigned char, unsigned char, unsigned char const*, unsigned char) (Wrapper for cdc:DSP cmd 5)
 
|-
 
|-
 
| 0x001F0000
 
| 0x001F0000
| GetHeadphoneStatus. Wrapper for cdc:DSP cmd 6
+
| [[DSP:GetHeadphoneStatus|GetHeadphoneStatus]]
 
|-
 
|-
| 0x0020....
+
| 0x00200040
| Wrapper for cdc:DSP cmd 8
+
| [[DSP:ForceHeadphoneOut|ForceHeadphoneOut]]
 
|-
 
|-
 
| 0x00210000
 
| 0x00210000
| GetIsDspOccupied returns a byte (can be 1 or 0) can be set to 1 in LoadComponent
+
| [[DSP:GetIsDspOccupied|GetIsDspOccupied]]
|-
  −
| 0x080200C2
  −
| ????
   
|}
 
|}
    
This is the main service for playing audio. The [[CSND_Services|CSND]] service can be used for playing audio as well, however most processes use this DSP service for playing audio. The DSP and CSND hardware can play audio simultaneously.
 
This is the main service for playing audio. The [[CSND_Services|CSND]] service can be used for playing audio as well, however most processes use this DSP service for playing audio. The DSP and CSND hardware can play audio simultaneously.
 +
 +
[[Category:Services]]
 +
[[Category:DSP]]
549

edits

Navigation menu