SceSyscon

System controller

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

sceSysconPowerCtrlKermitResetForDriver
Executes SMC 0x11A:

SceSysconForDriver_ACEE1C70
related to battery, called by ScePowerForDriver_0D56C601.

SceSysconForDriver_4A184B7C
related to battery, called by ScePowerForDriver_627A89C6.

sceSysconIsLowBatteryInhibitUpdateRebootForDriver
used by scePowerIsLowBatteryInhibitUpdateReboot

sceSysconIsLowBatteryInhibitUpdateDownloadForDriver
used by scePowerIsLowBatteryInhibitUpdateDownload

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.

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.

SceSysconForDriver_C0F215B7
Gets something (a byte).

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 Ernie HW info. See KBL Param.

sceSysconGetBaryonVersionForDriver
On PSVita it is Ernie Version not Baryon Version.

SceSysconForDriver_0D0B6D25
Maybe exits Syscon DownLoader mode.

SceSysconForDriver_EBE3262C
In SceSblPostSsMgr, used just after.

Return 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 sceSblSsNvsReadDataForKernel and sceSblSsGetNvsDataForDriver.

sceSysconNvsWriteDataForDriver
Used by sceSblSsNvsWriteDataForKernel and sceSblSsSetNvsDataForDriver.

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.

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.

sceSysconSetWlanCallbackForDriver
This is a guessed name.

Looks like sceSysconSetAlarmCallbackForDriver.

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

sceSysconUpdaterExecProgrammingForDriver
Executes programming, i.e writes segments on Syscon EEPROM.

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_D7F5A797
Used only by ScePower.

SceSysconForDriver_B9EA2FA8
Used only by SceUsbServ.

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_86BAAF7D
Returns a 8-bit value casted to 32-bit for convenience.

Used by SceRtc.

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.

Commands used by function
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.