Difference between revisions of "DSP Services"
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
| RecvDataIsReady | | RecvDataIsReady | ||
|- | |- | ||
− | | | + | | 0x00030080 |
| SendData | | SendData | ||
|- | |- | ||
− | | | + | | 0x00040040 |
− | | | + | | SendDataIsEmpty |
|- | |- | ||
| 0x0005... | | 0x0005... | ||
Line 25: | Line 25: | ||
|- | |- | ||
| 0x0007.... | | 0x0007.... | ||
− | | [[DSP:WriteReg0x10|WriteReg0x10]] | + | | [[DSP:WriteReg0x10|WriteReg0x10]] SetSemaphore |
|- | |- | ||
− | | | + | | 0x00080000 |
− | | | + | | GetSemaphore |
|- | |- | ||
− | | | + | | 0x00090040 |
− | | | + | | ClearSemaphore |
|- | |- | ||
| 0x000A.... | | 0x000A.... | ||
| WriteReg0x18 | | WriteReg0x18 | ||
|- | |- | ||
− | | | + | | 0x000B0000 |
− | | | + | | CheckSemaphoreRequest |
|- | |- | ||
| 0x000C0040 | | 0x000C0040 | ||
Line 71: | Line 71: | ||
|- | |- | ||
| 0x00180040 | | 0x00180040 | ||
− | | | + | | GetPhysicalAddress (0x14000000+ -> 0x20000000+, 0x1FF00000+ -> 0x1FF00000+, 0x08000000-0x0E000000 -> 0x00000000+, 0 otherwise) |
|- | |- | ||
| 0x00190040 | | 0x00190040 | ||
− | | | + | | GetVirtualAddress (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise) |
|- | |- | ||
− | | | + | | 0x001A0042 |
− | | Wrapper for cdc:DSP cmd 1 | + | | SetIirFilterI2S1. Wrapper for cdc:DSP cmd 1 |
|- | |- | ||
− | | | + | | 0x001B0042 |
− | | Wrapper for cdc:DSP cmd 2 | + | | SetIirFilterI2S1. Wrapper for cdc:DSP cmd 2 |
|- | |- | ||
− | | | + | | 0x001C0082 |
− | | Wrapper for cdc:DSP cmd 3 | + | | SetIirFilterEQ. Wrapper for cdc:DSP cmd 3 |
|- | |- | ||
| 0x001D.... | | 0x001D.... | ||
Line 91: | Line 91: | ||
| Wrapper for cdc:DSP cmd 5 | | Wrapper for cdc:DSP cmd 5 | ||
|- | |- | ||
− | | | + | | 0x001F0000 |
− | | Wrapper for cdc:DSP cmd 6 | + | | GetHeadphoneStatus. Wrapper for cdc:DSP cmd 6 |
|- | |- | ||
| 0x0020.... | | 0x0020.... | ||
| Wrapper for cdc:DSP cmd 8 | | Wrapper for cdc:DSP cmd 8 | ||
|- | |- | ||
− | | | + | | 0x00210000 |
− | | | + | | GetIsDspOccupied returns a byte (can be 1 or 0) can be set to 1 in LoadComponent |
|} | |} | ||
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. |
Revision as of 10:50, 30 June 2014
DSP service "dsp::DSP"
Command Header | Description | |
---|---|---|
0x00010040 | RecvData | |
0x00020040 | RecvDataIsReady | |
0x00030080 | SendData | |
0x00040040 | SendDataIsEmpty | |
0x0005... | Initialize? | |
0x0006... | Shutdown? | |
0x0007.... | WriteReg0x10 SetSemaphore | |
0x00080000 | GetSemaphore | |
0x00090040 | ClearSemaphore | |
0x000A.... | WriteReg0x18 | |
0x000B0000 | CheckSemaphoreRequest | |
0x000C0040 | ConvertProcessAddressFromDspDram | |
0x000D0082 | WriteProcessPipe | |
0x001000C0 | ReadPipeIfPossible | |
0x001100C2 | 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). | |
0x00120000 | UnloadComponent | |
0x00130082 | FlushDataCache (The buffer must be located in the 0x14000000 region) | |
0x00140082 | InvalidateDCache (The buffer must be located in either the 0x14000000 region, or the DSP memory region) | |
0x00150082 | RegisterInterruptEvents(param0, param1, 0, eventhandle) | |
0x00160000 | GetSemaphoreEventHandle | |
0x00170040 | SetSemaphoreMask | |
0x00180040 | GetPhysicalAddress (0x14000000+ -> 0x20000000+, 0x1FF00000+ -> 0x1FF00000+, 0x08000000-0x0E000000 -> 0x00000000+, 0 otherwise) | |
0x00190040 | GetVirtualAddress (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise) | |
0x001A0042 | SetIirFilterI2S1. Wrapper for cdc:DSP cmd 1 | |
0x001B0042 | SetIirFilterI2S1. Wrapper for cdc:DSP cmd 2 | |
0x001C0082 | SetIirFilterEQ. Wrapper for cdc:DSP cmd 3 | |
0x001D.... | Wrapper for cdc:DSP cmd 4 | |
0x001E.... | Wrapper for cdc:DSP cmd 5 | |
0x001F0000 | GetHeadphoneStatus. Wrapper for cdc:DSP cmd 6 | |
0x0020.... | Wrapper for cdc:DSP cmd 8 | |
0x00210000 | GetIsDspOccupied returns a byte (can be 1 or 0) can be set to 1 in LoadComponent |
This is the main service for playing audio. The 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.