SceLowio

scePervasiveArmClockSelectForDriver
Temp name was scePervasiveArmSetClockForDriver.

Used only by ScePower.

scePervasiveGpuClockSelectForDriver
Temp name was scePervasiveGpuSetClockForDriver.

Maybe called on each suspend/resume.

scePervasiveVeneziaClockSelectForDriver
Temp name was scePervasiveVeneziaSetClockForDriver.

scePervasiveVipClockSelectForDriver
Temp name was scePervasiveVipSetClockForDriver.

scePervasiveDmac5ClockSelectForDriver
This is a guessed name. Temp name was scePervasiveDmac5SetClockForDriver.

scePervasiveBusClockSelectForDriver
Temp name was scePervasiveBusSetClockForDriver.

Requests ARM TrustZone using SMC 0x114.

scePervasiveSysClockSelectForDriver
This is a guessed name. Temp name was scePervasiveSysSetClockForDriver.

ScePervasiveForDriver_64ABE589
A good name could be scePervasiveMsifClockSelectForDriver.

ScePervasiveForDriver_91C80C41
A good name might be scePervasiveIftuDsiClockSelectForDriver. Temp name was ScePervasiveForDriver_91C80C41_set_dsi_bus_pixelclock, scePervasiveDsiSetPixelClockForDriver.

Sets DSI bus (?IFTU?) pixel clock.

scePervasiveGetSoCRevisionForDriver
Returns <= 0 if Kermit revision is below 2.0. Example of return value: between 0 and 25, and something higher.

Seen values: 66 on a PCH-11xx, 277 on a PCH-2xxx.

if val & 0x30000000 is zero, it is not a DevKit.

if val & 0x80000000 is not zero, LPDDR2SUB is disabled.

Used in ScePower, SceGpuEs4, SceSdif. Maybe copied to SceSysmem's sysroot structure.

ScePervasiveForDriver_243D0E78
Gets IFTU DSI clock information.

scePervasiveGpuResetEnableForDriver
This is a guessed name.

Puts the device (Gpu) at offset  in reset (|= mask) with mask = 1.

scePervasiveVipResetEnableForDriver
This is a guessed name.

Puts the device (Vip) at offset  in reset (|= mask) with mask = 1.

ScePervasiveForDriver_31C0A98B
Puts the device (unknown) at offset  in reset (|= mask) with mask = 1.

ScePervasiveForDriver_FF4B3CA6
Puts the device (unknown) at offset  in reset (|= mask) with mask = 1.

scePervasiveCsiResetEnableForDriver
This is a guessed name.

Puts the device (Csi) at offset  in reset (|= mask) with mask = 1.

scePervasiveIftuDsiResetEnableForDriver
Temp name was ScePervasiveForDriver_E3FC1C8D_dsi_reset_enter, scePervasiveDsiResetEnableForDriver.

Puts the device (IFTU DSI) at offset  in reset (|= mask).

ScePervasiveForDriver_B68254AD
Puts the device (IFTU2) at offset  in reset (|= mask) with mask = 1.

ScePervasiveForDriver_7AE2F8E8
Puts the device (unknown) at offset  in reset (|= mask) with mask = 1.

scePervasiveUdcResetEnableForDriver
This is a guessed name.

Puts the device (Udc) at offset  in reset (|= mask).

scePervasiveSdifResetEnableForDriver
This is a guessed name.

Puts the device (Sdif) at offset  in reset (|= mask) with mask = 1.

scePervasiveMsifResetEnableForDriver
This is a guessed name.

Puts the device (Msif) at offset  in reset (|= mask) with mask = 1.

scePervasiveI2sResetEnableForDriver
This is a guessed name.

Puts the device (I2s) at offset  in reset (|= mask) with mask = 1.

scePervasiveSrcMixResetEnableForDriver
This is a guessed name.

Puts the device (SrcMix) at offset  in reset (|= mask) with mask = 1.

scePervasiveSpdifResetEnableForDriver
This is a guessed name.

Puts the device (Spdif) at offset  in reset (|= mask) with mask = 1.

scePervasiveGpioResetEnableForDriver
This is a guessed name.

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

scePervasiveSpiResetEnableForDriver
This is a guessed name.

Puts the device (SPI) at offset  in reset (|= mask) with mask = 1.

scePervasiveI2cResetEnableForDriver
This is a guessed name.

Puts the device (I2c) at offset  in reset (|= mask) with mask = 1.

scePervasiveUartResetEnableForDriver
This is a guessed name.

Puts the device (UART) at offset  in reset (|= mask) with mask = 1.

scePervasiveGpuResetDisableForDriver
This is a guessed name.

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

scePervasiveVipResetDisableForDriver
This is a guessed name.

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

Used to reset Venezia.

ScePervasiveForDriver_E2D8F6C3
Puts the device (unknown) at offset  out of reset (&= ~mask) with mask = 1.

ScePervasiveForDriver_AC475961
Puts the device (unknown) at offset  out of reset (&= ~mask) with mask = 1.

scePervasiveCsiResetDisableForDriver
This is a guessed name.

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

scePervasiveIftuDsiResetDisableForDriver
Temp name was scePervasiveDsiResetDisableForDriver.

Puts the device (IFTU DSI) at offset  out of reset (&= ~mask).

ScePervasiveForDriver_E92E28FF
Puts the device (IFTU2) at offset  out of reset (&= ~mask) with mask = 1.

ScePervasiveForDriver_17109C28
Puts the device (unknown) at offset  out of reset (&= ~mask) with mask = 1.

scePervasiveUdcResetDisableForDriver
This is a guessed name.

Puts the device (Udc) at offset  out of reset (&= ~mask).

scePervasiveSdifResetDisableForDriver
This is a guessed name.

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

scePervasiveMsifResetDisableForDriver
This is a guessed name.

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

scePervasiveI2sResetDisableForDriver
This is a guessed name.

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

scePervasiveSrcMixResetDisableForDriver
This is a guessed name.

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

scePervasiveSpdifResetDisableForDriver
This is a guessed name.

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

scePervasiveGpioResetDisableForDriver
This is a guessed name.

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

scePervasiveSpiResetDisableForDriver
This is a guessed name.

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

scePervasiveI2cResetDisableForDriver
This is a guessed name.

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

scePervasiveUartResetDisableForDriver
This is a guessed name.

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

ScePervasiveForDriver_81A155F1
Returns SceLowio's mapped ScePervasiveMisc virtual address.

ScePervasiveForDriver_8BAB45F8
Changes UART baudrate of one of the 7 UART bus. See SceUartClkgenReg for more information.

scePervasiveGpuClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (Gpu) at offset.

scePervasiveDmacClkGateEnableForDriver
This is a guessed name.

Enables DMAC clock gate.

scePervasiveDmacClkGateDisableForDriver
This is a guessed name.

Disables DMAC clock gate.

scePervasiveDbgSdioClkGateEnableForDriver
This is a guessed name.

Enables SceDbgSdio clock gate.

scePervasiveDbgSdioClkGateDisableForDriver
This is a guessed name.

Disables SceDbgSdio clock gate.

scePervasiveVipClkGateEnable1ForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (Vip) at offset  with mask = 1.

Used to initialize Venezia registers or SPRAM.

scePervasiveVipClkGateEnable2ForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (Vip) at offset  with mask = 2.

ScePervasiveForDriver_B1CFA18F
Turns on the clock gate (|= mask) of the device (unknown) at offset  with mask = 1.

scePervasiveCsiClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (Csi) at offset  with mask = 1.

scePervasiveIftuDsiClkGateEnableForDriver
Temp name was scePervasiveDsiClockEnableForDriver.

Turns on the clock gate (|= mask) of the device (IFTU DSI) at offset.

ScePervasiveForDriver_07F2A738
Turns on the clock gate (|= mask) of the device (IFTU2) at offset  with mask = 1.

ScePervasiveForDriver_C0C842FE
Turns on the clock gate (|= mask) of the device (unknown) at offset  with mask = 1.

scePervasiveUdcClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (Udc) at offset.

scePervasiveSdifClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (Sdif) at offset  with mask = 1.

scePervasiveMsifClkGateEnableForDriver
This is a guessed name. Temp name was scePervasiveMsifClockEnableForDriver.

Turns on the clock gate (|= mask) of the device (Msif) at offset  with mask = 1.

scePervasiveI2sClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (I2s) at offset  with mask = 1.

scePervasiveSrcMixClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (SrcMix) at offset  with mask = 1.

scePervasiveSpdifClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (Spdif) at offset  with mask = 1.

scePervasiveGpioClkGateEnableForDriver
This is a guessed name. Temp name was scePervasiveGpioClockEnableForDriver.

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

scePervasiveSpiClkGateEnableForDriver
This is a guessed name. Temp name was scePervasiveSpiClockEnableForDriver.

Turns on the clock gate (|= mask) of the device (SPI) at offset  with mask = 1.

scePervasiveI2cClkGateEnableForDriver
This is a guessed name.

Turns on the clock gate (|= mask) of the device (I2c) at offset  with mask = 1.

scePervasiveUartClkGateEnableForDriver
This is a guessed name. Temp name was scePervasiveUartClockEnableForDriver.

Turns on the clock gate (|= mask) of the device (UART) at offset  with mask = 1.

scePervasiveGpuClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (Gpu) at offset.

scePervasiveVipClkGateDisable1ForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (Vip) at offset  with mask = 1.

Used to initialize Venezia registers or SPRAM.

scePervasiveVipClkGateDisable2ForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (Vip) at offset  with mask = 2.

ScePervasiveForDriver_03E1FAA6
Turns off the clock gate (&= ~mask) of the device (unknown) at offset  with mask = 1.

scePervasiveCsiClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (Csi) at offset  with mask = 1.

scePervasiveIftuDsiClkGateDisableForDriver
Temp name was ScePervasiveForDriver_25AE181E_dsi_clock_disable, scePervasiveDsiClockDisableForDriver.

Turns off the clock gate (&= ~mask) of the device (IFTU DSI) at offset.

ScePervasiveForDriver_5AFE0AF0
Turns off the clock gate (&= ~mask) of the device (IFTU2) at offset  with mask = 1.

ScePervasiveForDriver_9BB7B932
Turns off the clock gate (&= ~mask) of the device (unknown) at offset  with mask = 1.

scePervasiveUdcClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (Udc) at offset.

scePervasiveSdifClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (Sdif) at offset  with mask = 1.

scePervasiveMsifClkGateDisableForDriver
This is a guessed name. Temp name was scePervasiveMsifClockDisableForDriver.

Turns off the clock gate (&= ~mask) of the device (Msif) at offset  with mask = 1.

scePervasiveI2sClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (I2s) at offset  with mask = 1.

scePervasiveSrcMixClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (SrcMix) at offset  with mask = 1.

scePervasiveSpdifClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (Spdif) at offset  with mask = 1.

scePervasiveGpioClkGateDisableForDriver
This is a guessed name. Temp name was scePervasiveGpioClockDisableForDriver.

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

scePervasiveSpiClkGateDisableForDriver
This is a guessed name. Temp name was scePervasiveSpiClockDisableForDriver.

Turns off the clock gate (&= ~mask) of the device (SPI) at offset  with mask = 1.

scePervasiveI2cClkGateDisableForDriver
This is a guessed name.

Turns off the clock gate (&= ~mask) of the device (I2c) at offset  with mask = 1.

scePervasiveUartClkGateDisableForDriver
This is a guessed name. Temp name was scePervasiveUartClockDisableForDriver.

Turns off the clock gate (&= ~mask) of the device (UART) at offset  with mask = 1.

ScePervasiveForDriver_4F64DEF6
Sets active bus for UDC (USB Device Controller).

Step 1: Puts the device (Udc) at offset  in reset then disables its clock gate.

Step 2: Updates ScePervasiveMisc global with the selected bus.

Step 3: Puts the device out of reset.

ScePervasiveForDriver_47708C03
Returns address to the ScePervasiveVid global buffer. What does "Vid" stands for? Video? Vendor ID?

It might be related to clock frequencies and Syscon. Maybe this value is the clock multiplier/divider. See Pervasive.

Used by ScePower.

ScePervasiveForDriver_E0711D42
Calls SMC 0x110:

Used by SceEnumWakeUp.

scePervasiveCompatStopForDriver
Calls SMC 0x110:

Called in SceCompat and SceCompat.

scePervasiveCompatStartForDriver
Calls SMC 0x110:

Called in SceCompat and SceCompat.

scePervasiveCompatLcdDmacInitForDriver
Calls SMC 0x110:

Called during PSP Emulator (SceCompat) start and resume.

SceGpioForDriver
If  is , the   registers are used, and if   is  , the   registers are used.

ScePwmForDriver
ScePwmForDriver_0374213C: 0x0374213C ScePwmForDriver_13161CCC: 0x13161CCC ScePwmForDriver_22C17D24: 0x22C17D24 ScePwmForDriver_514773B1: 0x514773B1 ScePwmForDriver_99911920: 0x99911920

Types
For the following functions:
 * indicate the target I²C bus
 * seems to indicate the address of the target device, shifted left by 1 (i.e. I²C address = ).

The ID  is handled in a specific way for bus 1 (see sceI2cReset).

sceI2cInit
This is a guessed name.

Reinitializes the I²C controller for selected bus?

sceI2cReset
This is a guessed name.

This function seems to be used for synchronisation of I2c1 transfers.

When calling any read/write function on I²C bus 1 with, the function calls   before performing the operation.

sceI2cMasterTransmit
This is an official name. Temp name was sceI2cTransferWrite.

Writes data to I²C device on specified bus.

sceI2cMasterReceive
This is an official name. Temp name was sceI2cTransferRead.

Reads data from I²C device on specified bus.

sceI2cMasterTransmitReceive
This is an official name. Temp name was sceI2cTransferWriteRead.

Performs a write to an I²C device followed by a read to a (potentially different) I2c device on the specified bus.

sceI2cSetDebugHandlers
This is a guessed name.

Registers callbacks called during I²C operations.

SceI2cForDriver_30CF9469
Writes  and   to some per-bus global variables that are seemingly never read, then writes a value to I2cReg->unk18 depending on Hardware Info mask 0x00FF0000 (motherboard main version).

SceI2cForDriver_E449AC6E
Writes  to some per-bus global variable that is seemingly never read.

sceGrabCompatStartExForDriver
Calls SMC 0x11e.

Replacement for SceLowio.

SceGrabForDriver_188BBCC8
Calls SMC 0x11C.

SceGrabForDriver_1F292554
Calls SMC 0x121.

sceGrabCompatLcdDmacInitForDriver
Calls SMC 0x11e.

Replacement for SceLowio.

SceGrabForDriver_5F36ABC4
Calls SMC 0x11f.

SceGrabForDriver_B22EE8BC
Calls SMC 0x11b.

SceGrabForDriver_E9C25A28
Calls SMC 0x11d.

sceGrabCompatStopForDriver
Calls SMC 0x11e.

Replacement for SceLowio.

SceCdramForDriver_41D821F3
Calls SMC 0x119.

SceCdramForDriver_BA81E0E3
Calls SMC 0x118.

sceDsiStopMasterForDriver
Temp name was sceDsiDisableHeadForDriver.

sceDsiDcsReadForDriver
MIPI DSI DCS Read (0x06)

sceDsiStartMasterForDriver
Temp name was sceDsiEnableHeadForDriver.

SceDsiForDriver_6F8029A1
Returns the current Vcount, read from.

sceDsiSetDisplayModeForDriver
Temp name was sceDsiSetLanesAndPixelSizeForDriver.

For  == SCE_DISPLAY_HEAD_MAIN_LCD_OLED,   must be 2 and   24.

For  == SCE_DISPLAY_HEAD_HDMI,   can be 2 or 3 and   can be 24 or 30.

SceDsiForDriver_8610B795
Sets internal struct member.

sceDsiGenericShortWriteForDriver
Performs a MIPI DSI Generic Short Write, no parameters (0x03), MIPI DSI Generic Short Write, 1 parameter (0x13) or MIPI DSI Generic Short Write, 2 parameters (0x23) depending on the whether  is negative or not (bit 31 set).

sceDsiSetScreenModeForDriver
Temp name was sceDsiSetVicForDriver.

sceDsiGenericReadRequestForDriver
Performs a MIPI DSI Generic Read Request, no parameters (0x04), or MIPI DSI Generic Read Request, 1 parameter (0x14) depending on the whether  is negative or not (bit 31 set).

sceDsiDcsShortWriteForDriver
If  is negative (bit 31 set), MIPI DSI DCS Short Write, no parameters (0x05) is performed. MIPI DSI DCS Short Write, 1 parameter (0x15) is performed otherwise.

sceDsiQeuryResolutionSizeForDriver
The typo in the function name was fixed since an unknown FW, and so the NID was updated. See also sceDsiQueryResolutionSizeForDriver.

sceDsiQueryResolutionSizeForDriver
Temp name was sceDsiGetVicResolutionForDriver.

For progressive modes,. For interlaced modes,.

sceIftuEnableForDriver
Temp name was SceIftuForDriver_0D7C02F7_plane_enable.

SceIftuForDriver_0FCBF457
Set plane CSC (Color Space Conversion) information.

SceIftuForDriver_357EAE24
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).

sceIftuSetInputFrameBufferForDriver
Set bilinear to 0 for nearest neighbour, set to 1 for bilinear filtering, set to -1 when plane_state is a zero struct.

sceIftuConvertForDriver
Temp name was sceIftuCscForDriver.

Performs Color Space Conversion (by using SceIftu2Reg).

sceIftuSetMergeSettingForDriver
Temp name was SceIftuForDriver_AF19FD85_set_global_blending_control.

sceIftuDisableForDriver
Temp name was SceIftuForDriver_C11F30B3_plane_disable.

SceIftuForDriver_D64F4C6B
Set plane CSC (Color Space Conversion) information.

SceCsiForDriver_10545393
Copies buf to memory.

SceCsiForDriver_4AE39F26
Maybe CSI stop.

SceCsiForDriver_A1D1805D
Maybe CSI start.

SceCsiForDriver_B508822B
Sets a2 and a3 in memory.

SceCsiForDriver_FC165297
Sets a2 in memory.