Difference between revisions of "SPI Services"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
[[Category:Services]] | [[Category:Services]] | ||
− | = SPI | + | = SPI Services = |
* "SPI::NOR" (used by cfg:NOR) | * "SPI::NOR" (used by cfg:NOR) | ||
* "SPI::CD2" (used by [[Codec Services]]) | * "SPI::CD2" (used by [[Codec Services]]) | ||
Line 6: | Line 6: | ||
* "SPI::CS3" | * "SPI::CS3" | ||
* "SPI::DEF" | * "SPI::DEF" | ||
+ | |||
+ | There can only be 5 sessions open total, with 1 per service. When there's already a session open for the target service(with session_count<5), SPI-module will wait for the original thread to terminate(triggered by the session closing), then start a new thread. | ||
= SPI Service Commands = | = SPI Service Commands = |
Revision as of 22:44, 30 December 2016
SPI Services
- "SPI::NOR" (used by cfg:NOR)
- "SPI::CD2" (used by Codec Services)
- "SPI::CS2"
- "SPI::CS3"
- "SPI::DEF"
There can only be 5 sessions open total, with 1 per service. When there's already a session open for the target service(with session_count<5), SPI-module will wait for the original thread to terminate(triggered by the session closing), then start a new thread.
SPI Service Commands
Command Header | Description |
---|---|
0x0001.... | SetDeviceState(u8 deviceid, u8 state) |
0x0002.... | Stubbed, only returns zero. |
0x0003.... | ReadWriteDevice(u8 deviceid, ...) |
0x0004.... | ReadWriteDevice2(u8 deviceid, ...) |
0x0005.... | WriteDevice(u8 deviceid, ...) |
0x00060102 | ReadWriteDeviceArray(u8 deviceid, ...) |
0x00070102 | ReadWriteDevice2Array(u8 deviceid, ...) |
0x000800C0 | EnableSpiBus(u8 deviceid, bool onoff, u8 state) |
0x00090040 | EnableTwlSpiBus?(bool onoff) |
0,1,2: 0x1EC60800 3,4,5: 0x1EC42800 6: 0x1EC43800