SceLowio: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 103: Line 103:
! Version !! NID
! Version !! NID
|-
|-
| 3.60 || 0x8A85E36B
| 3.60 || 0xA7CE7DCC
|}
|}


Puts the device at offset <code>0x30</code> (Venezia) out of reset (&= ~mask) with mask = 1.
Puts the device (UART) at offset <code>0x120 + 4 * device</code> out of reset (&= ~mask) with mask = 1.


<source lang="c">int ScePervasiveForDriver_A7CE7DCC(void);</source>
<source lang="c">int ScePervasiveForDriver_A7CE7DCC(void);</source>


=== ScePervasiveForDriver_A85BF98A ===
=== ScePervasiveForDriver_A7E64C6F ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 3.60 || 0xA85BF98A
| 3.60 || 0xA7E64C6F
|}
|}


Puts the device (UART) at offset <code>0x120 + 4 * device</code> out of reset (&= ~mask) with mask = 1.
Puts the device at offset <code>0x30</code> (Venezia) out of reset (&= ~mask) with mask = 1.


<source lang="c">int ScePervasiveForDriver_A85BF98A(int device);</source>
<source lang="c">int ScePervasiveForDriver_A7E64C6F(void);</source>


=== ScePervasiveForDriver_A7E64C6F ===
=== ScePervasiveForDriver_A85BF98A ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 3.60 || 0xA7E64C6F
| 3.60 || 0xA85BF98A
|}
|}


Puts the device at offset <code>0x30</code> (Venezia) out of reset (&= ~mask) with mask = 1.
Turns off the clock (&= ~mask) of the device (SPI) at offset <code>0x120 + 4 * device</code> with mask = 1.


<source lang="c">int ScePervasiveForDriver_A7E64C6F(void);</source>
<source lang="c">int ScePervasiveForDriver_A85BF98A(int device);</source>


=== ScePervasiveForDriver_DFD96BFC ===
=== ScePervasiveForDriver_DFD96BFC ===

Revision as of 14:37, 21 June 2017

Module

Known NIDs

Version Name World Privilege NID
1.69 SceLowio Non-secure Kernel 0x19E0E42F

Libraries

Known NIDs

Version Name World Visibility NID
1.69 ScePervasiveForDriver Non-secure Kernel 0xE692C727
1.69 SceGpioForDriver Non-secure Kernel 0xF0EF5743
1.69 ScePwmForDriver Non-secure Kernel 0xECEAE2D0
1.69 SceI2cForDriver Non-secure Kernel 0xE14BEF6E
1.69 SceGrabForDriver Non-secure Kernel 0x81C54BED
1.69 SceCdramForDriver Non-secure Kernel 0xC8CD941E
1.69 SceDsiForDriver Non-secure Kernel 0xEC897883
1.69 SceIftuForDriver Non-secure Kernel 0xCAFCFE50
1.69 SceCsiForDriver Non-secure Kernel 0xD85C8E44

ScePervasiveForDriver

ScePervasiveForDriver_18DD8043

Version NID
3.60 0x18DD8043

Turns off the clock (&= ~mask) of the device (UART) at offset 0x120 + 4 * device with mask = 1.

int ScePervasiveForDriver_18DD8043(int device);

ScePervasiveForDriver_788B6C61

Version NID
3.60 0x788B6C61

Puts the device (UART) at offset 0x120 + 4 * device in reset (|= mask) with mask = 1.

int ScePervasiveForDriver_788B6C61(int device);

ScePervasiveForDriver_7B16F900

Version NID
3.60 0x7B16F900

Puts the device (SPI) at offset 0x104 + 4 * device in reset (|= mask) with mask = 1.

int ScePervasiveForDriver_7B16F900(int device);

ScePervasiveForDriver_8BAB45F8

Version NID
3.60 0x8BAB45F8

Changes UART baudrate. (There are 7 UART devices). Check SceUartClkgenReg. for more info.

int ScePervasiveForDriver_8BAB45F8(int uart_device, int baudrate);

ScePervasiveForDriver_8A85E36B

Version NID
3.60 0x8A85E36B

Puts the device at offset 0x10 (? GpuEs4 related (Secure)) out of reset (&= ~mask) with mask = 1.

int ScePervasiveForDriver_8A85E36B(void);

ScePervasiveForDriver_A7CE7DCC

Version NID
3.60 0xA7CE7DCC

Puts the device (UART) at offset 0x120 + 4 * device out of reset (&= ~mask) with mask = 1.

int ScePervasiveForDriver_A7CE7DCC(void);

ScePervasiveForDriver_A7E64C6F

Version NID
3.60 0xA7E64C6F

Puts the device at offset 0x30 (Venezia) out of reset (&= ~mask) with mask = 1.

int ScePervasiveForDriver_A7E64C6F(void);

ScePervasiveForDriver_A85BF98A

Version NID
3.60 0xA85BF98A

Turns off the clock (&= ~mask) of the device (SPI) at offset 0x120 + 4 * device with mask = 1.

int ScePervasiveForDriver_A85BF98A(int device);

ScePervasiveForDriver_DFD96BFC

Version NID
3.60 0xDFD96BFC

Turns on the clock (|= mask) of the device (SPI) at offset 0x104 + 4 * device with mask = 1.

int ScePervasiveForDriver_DFD96BFC(int device);

ScePervasiveForDriver_E4B145AE

Version NID
3.60 0xE4B145AE

Puts the device (SPI) at offset 0x104 + 4 * device out of reset (&= ~mask) with mask = 1.

int ScePervasiveForDriver_E4B145AE(int device);

ScePervasiveForDriver_EFD084D8

Version NID
3.60 0xEFD084D8

Turns on the clock (|= mask) of the device (UART) at offset 0x120 + 4 * device with mask = 1.

int ScePervasiveForDriver_EFD084D8(int device);

SceGpioForDriver

If bus is 0, the SceGpio0Reg registers are used, and if bus is 1, the SceGpio1Reg registers are used.

ksceGpioQueryIntr

Version NID
3.60 0x010DC295
int ksceGpioQueryIntr(int bus, int port);

ksceGpioSetPortMode

Version NID
3.60 0x372022A4
int ksceGpioSetPortMode(int bus, int port, int mode);

ksceGpioSetIntrMode

Version NID
3.60 0xBBEA1DDC
int ksceGpioSetIntrMode(int bus, int intr, int mode);

ksceGpioPortSet

Version NID
3.60 0xD454A584
int ksceGpioPortSet(int bus, int port);

ksceGpioPortClear

Version NID
3.60 0xF6310435
int ksceGpioPortClear(int bus, int port);

ksceGpioAcquireIntr

Version NID
3.60 0x35AAD77A
int ksceGpioAcquireIntr(int bus, int intr);

ScePwmForDriver

SceI2cForDriver

Types

typedef struct SceI2cDebugHandlers {
	unsigned int size;
	void (*write_start)(int bus, int device, unsigned char *buffer, int size);
	void (*write_error)(int bus, int error, int result);
	void (*read_start)(int bus, int device, unsigned char *buffer, int size);
	void (*read_error)(int bus, int error, int result);
	void (*write_read_start)(int bus, int write_device, unsigned char *write_buffer, int write_size);
	void (*write_read_error)(int bus, int error, int result);
} SceI2cDebugHandlers;
Version NID Name
3.60 0x0A40B7BF int sceI2cTransferWriteRead(int bus, unsigned int write_dev_id, const void *write_buffer, int write_size, unsigned int read_dev_id, void *read_buffer, int read_size);
3.60 0x30CF9469
3.60 0x76D277AB
3.60 0x9CF8F3D6
3.60 0xA2C7CE62 int sceI2cSetDebugHandlers(int bus, SceI2cDebugHandlers *debug_handlers)
3.60 0xCA94A759 int sceI2cTransferWrite(int bus, unsigned int device_address, const void *buffer, unsigned int size);
3.60 0xD1D0A9A4 int sceI2cTransferRead(int bus, unsigned int device_address, void *buffer, unsigned int size);
3.60 0xE449AC6E

SceGrabForDriver

SceCdramForDriver

SceDsiForDriver

SceIftuForDriver

SceCsiForDriver