SceLowio

From Vita Development Wiki
Jump to navigation Jump to search

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_243D0E78

Version NID
3.60 0x243D0E78
int ScePervasiveForDriver_243D0E78_get_dsi_clock_info(int pixelclock, int info0[2], int info1[2]);

ScePervasiveForDriver_25AE181E

Version NID
3.60 0x25AE181E
int ScePervasiveForDriver_25AE181E_dsi_clock_disable(int bus, int value);

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_91C80C41

Version NID
3.60 0x91C80C41
int ScePervasiveForDriver_91C80C41_set_dsi_bus_pixelclock(int bus, int pixelclock);

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_BC42C72F

Version NID
3.60 0xBC42C72F
int ScePervasiveForDriver_BC42C72F_dsi_clock_enable(int bus, int value);

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_E3FC1C8D

Version NID
3.60 0xE3FC1C8D
int ScePervasiveForDriver_E3FC1C8D_dsi_reset_enter(int bus, int value);

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

ScePervasiveForDriver_FFB43AC2

Version NID
3.60 0xFFB43AC2
int ScePervasiveForDriver_FFB43AC2_dsi_reset_exit(int bus, int value);

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 sceI2cReset(int bus);
3.60 0x9CF8F3D6 sceI2cInit(int bus);
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

SceDsiForDriver_114D1413

Version NID
3.60 0x114D1413
int SceDsiForDriver_114D1413_disable_bus1(int bus);

SceDsiForDriver_4DF9E924

Version NID
3.60 0x4DF9E924
int SceDsiForDriver_4DF9E924_get_current_pixelclock(int bus);

SceDsiForDriver_5BE5AA9B

Version NID
3.60 0x5BE5AA9B
int SceDsiForDriver_5BE5AA9B_enable_bus(int bus);

SceDsiForDriver_7640F607

Version NID
3.60 0x7640F607
int SceDsiForDriver_7640F607_disable_bus2(int bus);

SceDsiForDriver_97BFEA76

Version NID
3.60 0x97BFEA76
int SceDsiForDriver_97BFEA76_set_timing(int bus, int value);

SceDsiForDriver_B3A70C05

Version NID
3.60 0xB3A70C05
int SceDsiForDriver_B3A70C05_get_dimensions(int unk, int *width, int *height);

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 */

typedef struct SceIftuCscParams {
	unsigned int unk00;
	unsigned int unk04;
	unsigned int unk08;
	unsigned int unk0C;
	unsigned int unk10;
	unsigned int unk14;
	unsigned int csc_rr;
	unsigned int csc_rg;
	unsigned int csc_rb;
	unsigned int csc_gr;
	unsigned int csc_gg;
	unsigned int csc_gb;
	unsigned int csc_br;
	unsigned int csc_bg;
	unsigned int csc_bb;
} SceIftuCscParams; /* size = 0x3C */

SceIftuForDriver_0FCBF457

Version NID
3.60 0x0FCBF457
int SceIftuForDriver_0FCBF457_set_csc2(unsigned int plane, SceIftuCscParams *param);

SceIftuForDriver_357EAE24

Version NID
3.60 0x357EAE24

Sets plane alpha value. Only planes 1 and 3 support alpha blending. Supported alpha values are 0-0x100 where 0x100 is no transparency (alpha blending disable).

int SceIftuForDriver_357EAE24(unsigned int plane, int alpha);

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_D64F4C6B

Version NID
3.60 0xD64F4C6B

Set CSC (Color Space Conversion) information.

int SceIftuForDriver_D64F4C6B_set_csc(unsigned int plane, SceIftuCscParams *param);

SceIftuForDriver_E6EE2C6B

Version NID
3.60 0xE6EE2C6B

Set plane SRC_WIDTH and SRC_HEIGHT 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