Difference between revisions of "SPI Services"

From 3dbrew
Jump to navigation Jump to search
(Undo revision 18279 by Neobrain (talk))
Line 1: Line 1:
 
[[Category:Services]]
 
[[Category:Services]]
= SPI Service Names =
+
= 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 23: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