vitasdk
Documentation of the vitasdk
syscon.h File Reference

Go to the source code of this file.

Data Structures

struct  SceSysconPacket
 
struct  SceSysconDebugHandlers
 A set of debug handlers for syscon, that you can set in ksceSysconSetDebugHandlers(). More...
 
struct  SceKernelTouchpanelDeviceInfo
 Touch-panel vendor IDs and firmware revisions returned by ksceSysconGetTouchpanelDeviceInfo. More...
 

Macros

#define SCE_SYSCON_PACKET_TX_CMD_LO   0
 
#define SCE_SYSCON_PACKET_TX_CMD_HI   1
 
#define SCE_SYSCON_PACKET_TX_LENGTH   2
 
#define SCE_SYSCON_PACKET_TX_DATA(i)   (3 + (i))
 
#define SCE_SYSCON_PACKET_RX_STATUS_LO   0
 
#define SCE_SYSCON_PACKET_RX_STATUS_HI   1
 
#define SCE_SYSCON_PACKET_RX_LENGTH   2
 
#define SCE_SYSCON_PACKET_RX_RESULT   3
 
#define SCE_SYSCON_PACKET_RX_DATA(i)   (4 + (i))
 
#define SCE_SYSCON_BATTERY_BL_MAX_TRANSFER_SIZE   0x10
 
#define SCE_SYSCON_NVS_SIZE   0xB60
 
#define SCE_SYSCON_UPDATER_DIGEST_SIZE   0x14
 

Typedefs

typedef int(* SceSysconCmdExecAsyncCallback) (SceSysconPacket *packet, void *argp)
 
typedef void(* SceSysconCallback) (int enable, void *argp)
 

Enumerations

enum  SceSysconCmd { SCE_SYSCON_CMD_RESET_DEVICE = 0x0C }
 
enum  SceSysconResetType { SCE_SYSCON_RESET_TYPE_POWEROFF = 0x00 , SCE_SYSCON_RESET_TYPE_SUSPEND = 0x01 , SCE_SYSCON_RESET_TYPE_COLD_RESET = 0x02 , SCE_SYSCON_RESET_TYPE_SOFT_RESET = 0x11 }
 
enum  SceSysconControl {
  SCE_SYSCON_CTRL_UP = 0x1 , SCE_SYSCON_CTRL_RIGHT = 0x2 , SCE_SYSCON_CTRL_DOWN = 0x4 , SCE_SYSCON_CTRL_LEFT = 0x8 ,
  SCE_SYSCON_CTRL_TRIANGLE = 0x10 , SCE_SYSCON_CTRL_CIRCLE = 0x20 , SCE_SYSCON_CTRL_CROSS = 0x40 , SCE_SYSCON_CTRL_SQUARE = 0x80 ,
  SCE_SYSCON_CTRL_SELECT = 0x100 , SCE_SYSCON_CTRL_LTRIGGER = 0x200 , SCE_SYSCON_CTRL_RTRIGGER = 0x400 , SCE_SYSCON_CTRL_START = 0x800 ,
  SCE_SYSCON_CTRL_PSBUTTON = 0x1000 , SCE_SYSCON_CTRL_POWER = 0x4000 , SCE_SYSCON_CTRL_VOLUP = 0x10000 , SCE_SYSCON_CTRL_VOLDOWN = 0x20000 ,
  SCE_SYSCON_CTRL_HEADPHONE = 0x8000000
}
 

Functions

 VITASDK_BUILD_ASSERT_EQ (0x80, SceSysconPacket)
 
 VITASDK_BUILD_ASSERT_EQ (0xC, SceSysconDebugHandlers)
 
int ksceSysconWaitInitialized (void)
 Waits until the syscon is initialized.
 
int ksceSysconCmdExec (SceSysconPacket *packet, unsigned int flags)
 Execute synchronously a syscon packet.
 
int ksceSysconCmdExecAsync (SceSysconPacket *packet, unsigned int flags, SceSysconCmdExecAsyncCallback cb, void *argp)
 Execute asynchronously a syscon packet.
 
int ksceSysconCmdSync (SceSysconPacket *packet, int noWait)
 Wait for the currently queued syscon packets to be executed, or check if any are in the queue.
 
int ksceSysconSetPowerMode (int type, int mode)
 Reset the device.
 
int ksceSysconReadCommand (unsigned short cmd, void *buffer, SceSize size)
 
int ksceSysconSendCommand (unsigned short cmd, const void *buffer, SceSize size)
 
int ksceSysconSetDebugHandlers (const SceSysconDebugHandlers *handlers)
 Set the debug handlers.
 
int ksceSysconCtrlLED (int led, int enable)
 Turn a LED on or off.
 
int ksceSysconCtrlRMRPower (int power)
 Set the memory stick power.
 
int ksceSysconCtrlSdPower (int power)
 Set the SD power.
 
int ksceSysconCtrlHdmiCecPower (int power)
 Set the ADV7533 HDMI CEC power.
 
int ksceSysconCtrlManualChargeMode (int)
 
int ksceSysconEnableHibernateIO (int)
 
int ksceSysconIduModeClear (void)
 
int ksceSysconIduModeSet (void)
 
int ksceSysconIsDownLoaderMode (void)
 
int ksceSysconLogStart (void)
 
int ksceSysconLogStartWaiting (void)
 
int ksceSysconLogReadData (unsigned short, void *buff, SceSize size)
 
int ksceSysconShowModeClear (void)
 
int ksceSysconShowModeSet (void)
 
int ksceSysconGetBaryonVersion (void)
 Get the baryon version.
 
unsigned long long ksceSysconGetBaryonTimestamp ()
 Get the baryon timestamp.
 
int ksceSysconGetBatteryCalibData (int *, int *, int *, int *)
 
int ksceSysconGetHardwareInfo (void)
 
int ksceSysconGetHardwareInfo2 (int *, int *, int *)
 
int ksceSysconGetLogInfo (int *)
 
int ksceSysconGetManualChargeMode (int *)
 
int ksceSysconGetManufacturesStatus (int *)
 
int ksceSysconGetTemperatureLog (int *)
 
int ksceSysconGetUsbDetStatus (int *)
 
int ksceSysconClearTemperatureLog (int)
 
int ksceSysconBeginConfigstorageTransaction (void)
 
int ksceSysconCommitConfigstorageTransaction (void)
 
int ksceSysconEndConfigstorageTransaction (void)
 
int ksceSysconLoadConfigstorageScript (unsigned short, const void *buff, SceSize size)
 
int ksceSysconVerifyConfigstorageScript (unsigned short, const void *buff, SceSize size)
 
int ksceSysconSetAlarmCallback (SceSysconCallback callback, void *argp)
 Set the alarm callback, that will be ran when the alarm timer is passed.
 
int ksceSysconSetLowBatteryCallback (SceSysconCallback callback, void *argp)
 Set the low battery callback, that will be ran when the battery is low.
 
int ksceSysconSetThermalAlertCallback (SceSysconCallback callback, void *argp)
 Set the thermal alert callback, that will be ran when the temperature reaches a critical point.
 
int ksceSysconGetControlsInfo (SceUInt32 *ctrl)
 Get physics button control info.
 
 VITASDK_BUILD_ASSERT_EQ (0x8, SceKernelTouchpanelDeviceInfo)
 
int ksceSysconBatteryExecBLCommand (SceUInt16 command_context)
 Execute the current battery-bootloader command context.
 
int ksceSysconBatteryReadBLCommand (SceUInt16 command_context, SceUInt8 request0, SceUInt8 request1, void *dst, SceUInt8 size)
 Read data from a battery-bootloader command response.
 
int ksceSysconBatterySWReset (void)
 Request a battery-controller software reset.
 
int ksceSysconBatterySetBLCommand (SceUInt16 command_context, SceUInt8 offset, const void *src, SceUInt8 size)
 Write one chunk of battery-bootloader command data.
 
int ksceSysconBatteryStartBLMode (void)
 Enter battery-bootloader mode.
 
int ksceSysconBatteryStopBLMode (void)
 Leave battery-bootloader mode.
 
int ksceSysconCtrlAccPower (SceBool enable)
 Control accessory-port power with Syscon command 0x0889.
 
int ksceSysconCtrlDevKitUsbPower (SceBool enable)
 Control DevKit USB power with Syscon command 0x089C.
 
int ksceSysconCtrlDolceUsbPower (SceBool enable)
 Control PSTV/Dolce USB power with Syscon command 0x08C5.
 
int ksceSysconCtrlHostOutputViaDongle (SceBool enable)
 Control host diagnostic output through the Jig dongle.
 
int ksceSysconGetBatteryVersion (SceUInt32 *hardware_version, SceUInt32 *firmware_version, SceUInt32 *data_flash_version)
 Get the battery hardware, firmware, and data-flash versions.
 
int ksceSysconGetMicroUsbInfo (SceUInt32 *info)
 Get the cached raw Micro-USB connector information.
 
int ksceSysconGetMultiCnInfo (SceUInt32 *info)
 Get the cached multi-connector information, with the mappings below.
 
int ksceSysconGetTouchpanelDeviceInfo (SceKernelTouchpanelDeviceInfo *info)
 Get the front and rear touch-panel vendor IDs and firmware revisions.
 
int ksceSysconJigClosePort (void)
 Close the Jig port.
 
int ksceSysconJigOpenPort (void)
 Open the Jig port.
 
int ksceSysconJigSetConfig (SceUInt8 config0, SceUInt8 config1)
 Set the two raw Jig configuration bytes.
 
int ksceSysconNvsReadData (SceUInt32 offset, void *buffer, SceSize size)
 Read one aligned block from Syscon NVS.
 
int ksceSysconNvsSetRunMode (int mode)
 Set the Syscon NVS run mode.
 
int ksceSysconNvsWriteData (SceUInt32 offset, const void *buffer, SceSize size)
 Write one aligned block to Syscon NVS.
 
int ksceSysconSetMultiCnPort (int port)
 Select the multi-connector port routing with Syscon command 0x0190.
 
int ksceSysconUpdaterCalcChecksum (const void *segment, SceSize segment_size, SceUInt32 *checksum)
 Calculate the checksum of a Syscon updater firmware segment.
 
int ksceSysconUpdaterExecFinalize (const void *digest, SceSize size)
 Finalize Syscon firmware programming.
 
int ksceSysconUpdaterExecProgramming (SceUInt32 checksum)
 Program the selected Syscon firmware segment.
 
int ksceSysconUpdaterSetRunMode (int mode)
 Set the Syscon updater run mode.
 
int ksceSysconUpdaterSetSegment (SceUInt32 segment_no)
 Select a Syscon updater firmware segment.