SceLowio: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 365: Line 365:
Setups a plane or fb?
Setups a plane or fb?


<source lang="c">int SceIftuForDriver_7CE0C4DA(unsigned int index, SceIftuFbInfo *plane_info, int flags, int sync)</source>
<source lang="c">int SceIftuForDriver_7CE0C4DA(unsigned int index, SceIftuFbInfo *plane_info, int flags, int sync);</source>
 
=== SceIftuForDriver_E6EE2C6B ===
{| class="wikitable"
|-
! Version !! NID
|-
| 3.60 || 0xE6EE2C6B
|}
 
Set plane SRC values (in fixed point 16.16).
 
<source lang="c">int SceIftuForDriver_E6EE2C6B(unsigned int plane, int src_width_hi, unsigned int src_height_hi, int src_width_lo, int src_height_lo);</source>


== SceCsiForDriver ==
== SceCsiForDriver ==

Revision as of 12:52, 17 July 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 uart_bus);

ScePervasiveForDriver_2F195C97

Version NID
3.60 0x18DD8043

Turns on the clock (|= mask) of the device (GPIO) at offset 0x100 with mask = 1.

int ScePervasiveForDriver_2F195C97(void);

ScePervasiveForDriver_731A097D

Version NID
3.60 0x731A097D

Puts the device (GPIO) at offset 0x100 in reset (|= mask) with mask = 1.

int ScePervasiveForDriver_731A097D(void);

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 uart_bus);


ScePervasiveForDriver_78C34032

Version NID
3.60 0x78C34032

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

int ScePervasiveForDriver_78C34032(void);

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(int uart_bus);

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_EB176898

Version NID
3.60 0xEB176898

Turns off the clock (&= ~mask) of the device (GPIO) at offset 0x100 with mask = 1.

int ScePervasiveForDriver_EB176898(void);

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 uart_bus);

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

typedef struct SceIftuFbInfo {
	unsigned int pixelformat;
	unsigned int width;
	unsigned int height;
	unsigned int leftover_stride;
	unsigned int unk10; // always 0
	unsigned int paddr;
	unsigned int unk18; // always 0
	unsigned int unk1C; // always 0
	unsigned int unk20; // always 0
	unsigned int unk24; // always 0
	unsigned int unk28; // always 0
	unsigned int src_x; // 16.16 fixed point
	unsigned int src_y; // 16.16 fixed point
	unsigned int src_h; // 16.16 fixed point
	unsigned int src_w; // 16.16 fixed point
	unsigned int unk3C;
	unsigned int unk40;
	unsigned int vfront_porch;
	unsigned int vback_porch;
	unsigned int hfront_porch;
	unsigned int hback_porch;
} SceIftuFbInfo; /* size = 0x54 */

SceIftuForDriver_7CE0C4DA

Version NID
3.60 0x7CE0C4DA

Setups a plane or fb?

int SceIftuForDriver_7CE0C4DA(unsigned int index, SceIftuFbInfo *plane_info, int flags, int sync);

SceIftuForDriver_E6EE2C6B

Version NID
3.60 0xE6EE2C6B

Set plane SRC values (in fixed point 16.16).

int SceIftuForDriver_E6EE2C6B(unsigned int plane, int src_width_hi, unsigned int src_height_hi, int src_width_lo, int src_height_lo);

SceCsiForDriver