SceSyscon

System controller

Types
Flags (passed to, etc), also lower bits of  :

sceSysconPowerCtrlKermitResetForDriver
Executes SMC 0x11A:

sceSysconGetBaryonTimestampForDriver
A temp name was sceSysconGetTimeStampForDriver, derived from PSP.

Returns the timestamp of latest installed Syscon FW patch, formatted as. This comes from a string stored in Syscon FW under another format:

Example:  in Syscon FW becomes   in Syscon command 2.

sceSysconGetWakeupFactorForDriver
Result is 2 bytes wakeup factor coming from Syscon command 0x10.

sceSysconCtrlHdmiCecPowerForDriver
Sets the pin CDC Hot Plug Detect (HPD) state of the HDMI bridge (AD80244 / ADV7533).

sceSysconCtrlRMRPowerForDriver
Temp name was sceSysconCtrlMsPowerForDriver.

SceSysconForDriver_7F198FA2
Used by ScePower when setting a device clock frequency.

sceSysconSetPowerModeForDriver
Temp name was sceSysconResetDeviceForDriver.

It issues  with.

The  argument is usually set to   or sometimes   (which seems to correspond to some request by the UDC and BT drivers).

The  argument determines what to do.

Real define names are like: "SCE_SYSCON_POWERMODE_MODE_STANDBY".

sceSysconWaitReadyForDriver
Temp name was sceSysconWaitInitializedForDriver.

sceSysconCtrlSdPowerForDriver
Enables/disables GameCard reader.

Used by SceSdstor.

sceSysconVerifyConfigstorageScriptForDriver
This function is not used by the OS and anyway it would always return error because it calls a command that is not implemented in Syscon FW.

sceSysconLoadConfigstorageScriptForDriver
The OS uses this function to change between modes: IDU mode, Show Mode, no mode. This works by spoofing or rewriting KBL Param. This is reboot persistent.

sceSysconGetTouchpanelDeviceInfo2ForDriver
This is a guessed name.

Returns extended panel info.

sceSysconGetHardwareInfoForDriver
Returns Hardware info obtained from Syscon command 0x5. See KBL Param.

sceSysconGetBaryonVersionForDriver
Baryon is the PSP Syscon. A more proper name would be Ernie version.

SceSysconForDriver_0D0B6D25
Maybe exits Syscon DownLoader mode.

SceSysconForDriver_EBE3262C
In SceSblPostSsMgr, used just after.

Returns 8 bits of some Syscon Mode information. Bit 6 (from right) is Syscon DownLoader Mode flag. Bit 3 (from right) is Power Online flag.

sceSysconIsPowerOnlineForDriver
Returns true iff Syscon information bit 3 (from right) is set. See also.

Used by many ScePower functions for example before setting display brightness.

sceSysconGetErnieDLVersionForDriver
Runs Syscon command 0x1100.

sceSysconGetBatteryVersionForDriver
Battery IC name: if HWinfo > 7 "Abby" else "Bert".

sceSysconGetManufacturesStatusForDriver
In theory, this function should only be called when Product Mode is already set.

sceSysconReadScratchPadForDriver
Temp name was sceSysconReadCommandForDriver, sceSysconVsReadDataForDriver.

Calls syscon command 0x90.

Used by SceRtc.

sceSysconWriteScratchPadForDriver
Temp name was sceSysconSendCommandForDriver, sceSysconVsWriteDataForDriver.

Calls syscon command 0x91.

Used by SceRtc and ScePower.

sceSysconNvsSetRunModeForDriver
Used by sceSblNvsReadDataForKernel and sceSblNvsWriteDataForKernel.

sceSysconNvsReadDataForDriver
Used by sceSblNvsReadDataForKernel and sceSblSsGetNvsDataForDriver.

sceSysconNvsWriteDataForDriver
Used by sceSblNvsWriteDataForKernel and sceSblSsSetNvsDataForDriver.

sceSysconGetMultiCnInfoForDriver
Returns data obtained by Syscon command 0x103.

SceSysconForDriver_9CA6EB70
Sends value using Syscon command 0x89E. Does nothing on prototype models with motherboards IRT-001 and older.

Related to LED.

sceSysconCtrlDolceLEDForDriver
This is a guessed name.

sceSysconConfigLEDForDriver
This is a guessed name.

sceSysconCtrlDevKitUsbPowerForDriver
This is a guessed name.

sceSysconCtrlDolceUsbPowerForDriver
This is a guessed name.

sceSysconCtrlHostOutputViaDongleForDriver
Connect / disconnect PSVita SLIM Jig Host.

send_pm_sm_stop_to_syscon
Used just after send_pm_sm_jig_msg_to_syscon or when it fails before.

sceSysconSetAlarmCallbackForDriver
index 0 on FW 0.940. index 0x24 on FW 3.60.

sceSysconSetWlanCallbackForDriver
This is a guessed name.

index 5 on FW 0.940

sceSysconSetLowBatteryCallbackForDriver
index 6 on FW 0.940. index 0x10 on FW 3.60.

sceSysconSetCallback_474A9EA7ForDriver
This is a temp name.

index 0xC on FW 0.940. index 6 on FW 3.60.

sceSysconSetThermalAlertCallbackForDriver
index 0x17 on FW 3.60

sceSysconSetMultiCnOtgCallbackForDriver
This is a temp name.

Registers 2 callbacks (maybe constructor and destructor) for multi-connector OTG.

index 0x25 on FW 3.60

sceSysconSetMiniUsbOtgCallbackForDriver
This is a temp name.

Registers 2 callbacks (maybe constructor and destructor) for mini-USB OTG.

index 0x26 on FW 3.60

sceSysconSetAccCallbackForDriver
This is a temp name.

Registers 2 callbacks (maybe constructor and destructor) for accessory port.

index 0xF on FW 3.60

sceSysconUpdaterCalcChecksumForDriver
Computes checksum to use with sceSysconUpdaterExecProgrammingForDriver. It does not call any Syscon command.

sceSysconUpdaterExecProgrammingForDriver
Executes programming, i.e writes segments to Syscon Flash memory.

sceSysconUpdaterSetRunModeForDriver
On 3.60 Ernie FW, only updater run mode 0x72BA seems to be actually useful. Modes 0x9A54 and 0x152E are recognized but just returns without doing anything. Mode 0xC5E7 is not recognized by Ernie FW, although it is present on ARM side.

SceSysconForDriver_CBA836FF
Sends a 0x18-byte buffer to Syscon command 0x1185. This Syscon command 0x1185 seems to be unimplemented in recent Syscon FWs: it does not do anything.

snvs_read
Used in SceSblPostSsMgr to read data from SNVS with pm_sm command 8. Also used in SceSblUpdateMgr with update_service_sm commands 0xB0002 and 0xC0002.

snvs_write
Used in SceSblPostSsMgr to write data to SNVS with pm_sm command 8. Also used in SceSblUpdateMgr with update_service_sm commands 0xB0002 and 0xC0002.

syscon_update_command_0xD00002
Calls Syscon command 0xD0.

Used in SceSblUpdateMgr with update_service_sm command 0xD0002.

SceSysconForDriver_C562AF3A
Only used by ScePower.

If Ernie version is greater than 0x70503 it calls Syscon command 0x900 else Syscon command 0x802.

pOut value comes from Syscon. Only 4 bytes are copied to pOut.

SceSysconForDriver_901D6CD4
Sets a flag used internally by SceSyscon.

Used by SceCtrl, ScePower.

sceSysconGetControlsInfoForDriver
This is a guessed name.

See Boot Controls Info.

Runs syscon command 0x100.

SceSysconForDriver_76272CB9
Gets a 4 byte value.

Runs syscon command 0x120.

SceSysconForDriver_D7BEFF8B
Gets Syscon power on time in ticks of 0.5 second. Each second the counter automatically increases by 2.

Calls Syscon command 0x11.

Used to calculate the current time and date.

SceSysconForDriver_3168F3AF
Calls Syscon command 0x12.

It is an alarm timer. It must be initialized using Syscon command 0x82 via.

SceSysconForDriver_BA09F171
Calls Syscon command 0x13.

It might be related to alarm/timer.

SceSysconForDriver_9B6A6F64
Calls Syscon command 0x81.

Sets current Syscon power on time in ticks of 0.5 second. The set value can be get with.

Used by SceRtc. Set to 0 just before setting Current Tick, to reset syscon power on time.

SceSysconForDriver_51164951
Calls Syscon command 0x82. On Syscon version < 0x90907, 4 bytes are sent to Syscon, whilst on Syscon version >= 0x90907, 5 bytes are sent to Syscon.

Used by SceRtc.

The set value can be get with.

SceSysconForDriver_373ECF8A
Calls Syscon command 0x83.

Sends 2 bytes of data to Syscon.

SceSysconForDriver_253CC522
Calls Syscon command 0x807.

If calling on devkit, can get 0x8025023F. maybe limited by model.

SceSysconForDriver_596B17B7
Used by ScePower.

SceSysconForDriver_00A65FC1
If Syscon version <= 0x70503, it calls Syscon command 0x8A1, else Syscon command 0x982.

Used by ScePower.

SceSysconForDriver_FDB3AE9D
Gets 0x10 bytes from Syscon command 0x183.

SceSysconForDriver_86BAAF7D
Returns a 8-bit value casted to 32-bit for convenience.

Used by SceRtc.

SceSysconForDriver_769F9AC4
Returns a global variable initialized during SceSyscon initialization. Returns always SCE_TRUE (1) on PS TV.

SceSysconForDriver_B9EA2FA8
Only used by SceUsbServ.

SceSysconForDriver_D7F5A797
Only used by ScePower.

SceSysconForDriver_4A184B7C
Related to battery, called by ScePower.

SceSysconForDriver_ACEE1C70
Related to battery, called by ScePower.

sceSysconIsLowBatteryInhibitUpdateRebootForDriver
used by scePowerIsLowBatteryInhibitUpdateReboot

sceSysconIsLowBatteryInhibitUpdateDownloadForDriver
used by scePowerIsLowBatteryInhibitUpdateDownload

SceSysconForDriver_C0F215B7
Gets a global variable (one byte) updated by.

SceSysconForDriver_D6F6D472
Gets electric information (maybe intensity) of the device connected to USB OTG on Slim PS Vita.

Returns a global variable updated by, obtained using Syscon command 0x130.

SceSysconForDriver_E7893732
Calls Syscon command 0x1B0. Related to UART, JIG or MultiCn.

Commands
It seems like the command format is as follows:, where   means write to syscon, and   means read from syscon.

Callbacks
All the following exports have this function prototype:.

Maybe we will find more same as on PSP: SilverSpring's PSP Syscon callbacks enum.