uOFW
Reverse engineered PSP kernel 6.60.
Loading...
Searching...
No Matches
syscon.h
1/* Copyright (C) 2011, 2012, 2013 The uOFW team
2 See the file COPYING for copying permission.
3*/
4
12#include "common_header.h"
13
19#define PSP_SYSCON_CMD_NOP 0x00
20#define PSP_SYSCON_CMD_GET_BARYON_VERSION 0x01
21#define PSP_SYSCON_CMD_GET_DIGITAL_KEY 0x02
22#define PSP_SYSCON_CMD_GET_ANALOG 0x03
23
24#define PSP_SYSCON_CMD_GET_TACHYON_TEMP 0x05
25#define PSP_SYSCON_CMD_GET_DIGITAL_KEY_ANALOG 0x06
26#define PSP_SYSCON_CMD_GET_KERNEL_DIGITAL_KEY 0x07
27#define PSP_SYSCON_CMD_GET_KERNEL_DIGITAL_KEY_ANALOG 0x08
28#define PSP_SYSCON_CMD_READ_CLOCK 0x09
29#define PSP_SYSCON_CMD_READ_ALARM 0x0A
30#define PSP_SYSCON_CMD_GET_POWER_SUPPLY_STATUS 0x0B
31#define PSP_SYSCON_CMD_GET_TACHYON_WDT_STATUS 0x0C
32#define PSP_SYSCON_CMD_GET_BATT_VOLT 0x0D
33#define PSP_SYSCON_CMD_GET_WAKE_UP_FACTOR 0x0E
34#define PSP_SYSCON_CMD_GET_WAKE_UP_REQ 0x0F
35#define PSP_SYSCON_CMD_GET_STATUS2 0x10
36#define PSP_SYSCON_CMD_GET_TIMESTAMP 0x11
37#define PSP_SYSCON_CMD_GET_VIDEO_CABLE 0x12
38
39#define PSP_SYSCON_CMD_WRITE_CLOCK 0x20
40#define PSP_SYSCON_CMD_SET_USB_STATUS 0x21
41#define PSP_SYSCON_CMD_WRITE_ALARM 0x22
42#define PSP_SYSCON_CMD_WRITE_SCRATCHPAD 0x23
43#define PSP_SYSCON_CMD_READ_SCRATCHPAD 0x24
44#define PSP_SYSCON_CMD_SEND_SETPARAM 0x25
45#define PSP_SYSCON_CMD_RECEIVE_SETPARAM 0x26
46
47#define PSP_SYSCON_CMD_CTRL_BT_POWER_UNK1 0x29
48#define PSP_SYSCON_CMD_CTRL_BT_POWER_UNK2 0x2A
49
50#define PSP_SYSCON_CMD_CTRL_TACHYON_WDT 0x31
51#define PSP_SYSCON_CMD_RESET_DEVICE 0x32
52#define PSP_SYSCON_CMD_CTRL_ANALOG_XY_POLLING 0x33
53#define PSP_SYSCON_CMD_CTRL_HR_POWER 0x34
54#define PSP_SYSCON_CMD_POWER_STANDBY 0x35
55#define PSP_SYSCON_CMD_POWER_SUSPEND 0x36
56
57#define PSP_SYSCON_CMD_GET_BATT_VOLT_AD 0x37
58
59#define PSP_SYSCON_CMD_GET_POMMEL_VERSION 0x40
60#define PSP_SYSCON_CMD_GET_POLESTAR_VERSION 0x41
61#define PSP_SYSCON_CMD_CTRL_VOLTAGE 0x42
62
63#define PSP_SYSCON_CMD_CTRL_POWER 0x45
64#define PSP_SYSCON_CMD_GET_POWER_STATUS 0x46
65#define PSP_SYSCON_CMD_CTRL_LED 0x47
66#define PSP_SYSCON_CMD_WRITE_POMMEL_REG 0x48
67#define PSP_SYSCON_CMD_READ_POMMEL_REG 0x49
68#define PSP_SYSCON_CMD_CTRL_HDD_POWER 0x4A
69#define PSP_SYSCON_CMD_CTRL_LEPTON_POWER 0x4B
70#define PSP_SYSCON_CMD_CTRL_MS_POWER 0x4C
71#define PSP_SYSCON_CMD_CTRL_WLAN_POWER 0x4D
72#define PSP_SYSCON_CMD_WRITE_POLESTAR_REG 0x4E
73#define PSP_SYSCON_CMD_READ_POLESTAR_REG 0x4F
74
75#define PSP_SYSCON_CMD_CTRL_DVE_POWER 0x52
76#define PSP_SYSCON_CMD_CTRL_BT_POWER 0x53
77
78#define PSP_SYSCON_CMD_CTRL_USB_POWER 0x55
79#define PSP_SYSCON_CMD_CTRL_CHARGE 0x56
80
81#define PSP_SYSCON_CMD_BATTERY_NOP 0x60
82#define PSP_SYSCON_CMD_BATTERY_GET_STATUS_CAP 0x61
83#define PSP_SYSCON_CMD_BATTERY_GET_TEMP 0x62
84#define PSP_SYSCON_CMD_BATTERY_GET_VOLT 0x63
85#define PSP_SYSCON_CMD_BATTERY_GET_ELEC 0x64
86#define PSP_SYSCON_CMD_BATTERY_GET_RCAP 0x65
87#define PSP_SYSCON_CMD_BATTERY_GET_CAP 0x66
88#define PSP_SYSCON_CMD_BATTERY_GET_FULL_CAP 0x67
89#define PSP_SYSCON_CMD_BATTERY_GET_IFC 0x68
90#define PSP_SYSCON_CMD_BATTERY_GET_LIMIT_TIME 0x69
91#define PSP_SYSCON_CMD_BATTERY_GET_STATUS 0x6A
92#define PSP_SYSCON_CMD_BATTERY_GET_CYCLE 0x6B
93#define PSP_SYSCON_CMD_BATTERY_GET_SERIAL 0x6C
94#define PSP_SYSCON_CMD_BATTERY_GET_INFO 0x6D
95#define PSP_SYSCON_CMD_BATTERY_GET_TEMP_AD 0x6E
96#define PSP_SYSCON_CMD_BATTERY_GET_VOLT_AD 0x6F
97#define PSP_SYSCON_CMD_BATTERY_GET_ELEC_AD 0x70
98#define PSP_SYSCON_CMD_BATTERY_GET_TOTAL_ELEC 0x71
99#define PSP_SYSCON_CMD_BATTERY_GET_CHARGE_TIME 0x72
100
101#define PSP_SYSCON_TX_CMD (0)
102#define PSP_SYSCON_TX_LEN (1)
103#define PSP_SYSCON_TX_DATA(i) (2 + (i))
104
105#define PSP_SYSCON_RX_STATUS (0)
106#define PSP_SYSCON_RX_LEN (1)
107#define PSP_SYSCON_RX_RESPONSE (2)
108#define PSP_SYSCON_RX_DATA(i) (3 + (i))
109
115#define PSP_SYSCON_BARYON_GET_UNIT_TYPE(v) ((v) & 0xFF) /* 0 = Dev version, 1 = Retail */
116#define PSP_SYSCON_BARYON_GET_VERSION_MAJOR(v) (((v) >> 20) & 0xF)
117#define PSP_SYSCON_BARYON_GET_VERSION_MINOR(v) (((v) >> 16) & 0xF)
118
119
134
136typedef struct SceSysconPacket {
142 SceUID semaId;
148 u8 tx[16];
155 u8 rx[16];
157 s32 (*callback)(struct SceSysconPacket *, void *argp);
159 u32 gp;
161 void *argp;
163 u32 time;
165 u32 delay;
167 u8 reserved[32];
169
171typedef void (*SceSysconFunc)(s32 enable, void *argp);
172
174typedef struct {
176 s32 size;
178 void (*start)(SceSysconPacket *packet);
180 void (*end)(SceSysconPacket *packet);
182
189
195s32 sceSysconEnd(void);
196
202s32 sceSysconResume(void *arg0);
203
212s32 sceSysconCmdExec(SceSysconPacket *packet, u32 flags);
213
224s32 sceSysconCmdExecAsync(SceSysconPacket *packet, u32 flags, s32 (*callback)(SceSysconPacket*, void*), void *argp);
225
234
243s32 sceSysconCmdSync(SceSysconPacket *packet, u32 noWait);
244
254s32 sceSyscon_driver_90EAEA2B(u32 timeout, u32 intrTimeout);
255
264s32 sceSyscon_driver_755CF72B(u32 *timeoutPtr, u32 *intrTimeoutPtr);
265
270
277
286s32 sceSysconSetPollingMode(u32 pollingMode);
287
296
303
310
317
327
337
347
356s32 sceSysconSetAlarmCallback(SceSysconFunc callback, void *argp);
357
367
377
387
397
407
417
427
437
447
457
467
476s32 sceSyscon_driver_374373A8(SceSysconFunc callback, void *argp);
477
486s32 sceSyscon_driver_B761D385(SceSysconFunc callback, void *argp);
487
496s32 sceSyscon_driver_26307D84(SceSysconFunc callback, void *argp);
497
506s32 sceSyscon_driver_6C388E02(SceSysconFunc callback, void *argp);
507
514
521
528
535
542
549
556
563
570
579
586
595
602
609
616
623
630
637
644
651
658
665
672
679
686
693
700
707
714
721
728
735
742
749
756
764s32 sceSysconGetTimeStamp(s8 *timeStamp);
765
775s32 sceSysconWriteScratchPad(u32 dst, void *src, u32 size);
776
786s32 sceSysconReadScratchPad(u32 src, void *dst, u32 size);
787
788#define SCE_SYSCON_SET_PARAM_POWER_BATTERY_SUSPEND_CAPACITY 0
789#define SCE_SYSCON_SET_PARAM_POWER_BATTERY_TTC 4
790
791#define SCE_SYSCON_SET_PARAM_PAYLOAD_SIZE 8
792
801s32 sceSysconSendSetParam(u32 id, void *param);
802
811s32 sceSysconReceiveSetParam(u32 id, void *param);
812
821
830s32 sceSysconResetDevice(u32 reset, u32 mode);
831
840
849s32 sceSysconPowerSuspend(u32 arg0, u32 arg1);
850
856s32 sceSysconNop(void);
857
865s32 sceSysconGetBaryonVersion(s32 *baryonVersion);
866
873
874/* Returned power supply status flags by ::sceSysconGetPowerSupplyStatus() */
875
876/* Indicates that a battery is equipped. */
877#define SCE_SYSCON_POWER_SUPPLY_STATUS_BATTERY_EQUIPPED 0x00000002
878/* Indicates that remaining battery life is short (PSP-2000 and later). */
879#define SCE_SYSCON_POWER_SUPPLY_STATUS_IS_LOW_BATTERY_02G_AND_LATER 0x00000020
880/* Indicates that the battery is currently charging (using an AC adapter). */
881#define SCE_SYSCON_POWER_SUPPLY_STATUS_BATTERY_CHARGING 0x00000080
882
891
898
906s32 sceSysconGetWakeUpFactor(void *factor);
907
916
925
933s32 sceSysconReadClock(s32 *clock);
934
942s32 sceSysconWriteClock(s32 clock);
943
951s32 sceSysconReadAlarm(s32 *alarm);
952
960s32 sceSysconWriteAlarm(s32 alarm);
961
970
979
988
997
1006s32 sceSysconCtrlPower(u32 arg0, u32 arg1);
1007
1016s32 sceSysconCtrlLED(u32 led, u32 set);
1017
1026
1035
1044
1053
1062
1071
1080s32 sceSysconCtrlVoltage(s32 arg0, s32 arg1);
1081
1088
1095
1104
1113s32 sceSysconWritePommelReg(u8 reg, s16 value);
1114
1123s32 sceSysconReadPommelReg(u8 reg, s16 *value);
1124
1133
1142
1151
1160
1169
1178
1187
1194
1201
1210
1219
1228
1235
1242
1251s32 sceSysconWritePolestarReg(u8 reg, s16 val);
1252
1261s32 sceSysconReadPolestarReg(u8 reg, s16 *val);
1262
1269
1276
1285s32 sceSysconBatteryGetStatusCap(s32 *arg0, s32 *arg1);
1286
1295
1304
1313s32 sceSysconGetBattVoltAD(s32 *volt1, s32 *volt2);
1314
1321
1330
1339
1348
1357
1366
1375
1384
1393
1402
1411
1420
1429
1438
1447
1456
1465
1474
1483
s32 sceSysconCtrlTachyonWDT(s32 wdt)
s32 sceSysconCmdCancel(SceSysconPacket *packet)
s32 sceSysconBatteryGetSerial(s32 *serial)
s32 sceSysconSetWlanSwitchCallback(SceSysconFunc callback, void *argp)
s32 sceSysconGetGValue(void)
s32 sceSyscon_driver_B761D385(SceSysconFunc callback, void *argp)
s32 sceSysconCtrlCharge(u8 allow)
s32 sceSysconBatteryGetElec(s32 *elec)
s8 sceSysconGetHoldSwitch(void)
s32 sceSysconBatteryGetLimitTime(s32 *time)
PspSysconLeds
Definition syscon.h:124
s32 sceSysconSetGSensorCarib(void)
s32 sceSysconCtrlLED(u32 led, u32 set)
s32 sceSysconForbidChargeBattery(void)
s32 sceSysconCmdSync(SceSysconPacket *packet, u32 noWait)
s8 sceSysconGetHRPowerCtrl(void)
s32 sceSyscon_driver_90EAEA2B(u32 timeout, u32 intrTimeout)
s32 sceSysconWriteGSensorReg(void)
s32 sceSysconSetAcSupply2Callback(SceSysconFunc callback, void *argp)
s8 sceSysconGetUmdSwitch(void)
s32 sceSysconSetDebugHandlers(SceSysconDebugHandlers *handlers)
s32 sceSysconBatteryGetTempAD(s32 *temp)
s8 sceSysconGetLeptonPowerCtrl(void)
s32 sceSysconResetDevice(u32 reset, u32 mode)
u8 sceSysconIsAlarmed(void)
s32 sceSysconWriteAlarm(s32 alarm)
s32 sceSysconCtrlVoltage(s32 arg0, s32 arg1)
s8 sceSysconGetWlanLedCtrl(void)
s8 sceSysconGetWlanPowerCtrl(void)
s32 sceSysconGetBattVolt(s32 *volt)
s8 sceSysconGetBtSwitch(void)
s32 sceSysconGetPolestarVersion(s32 *polestar)
s32 sceSysconCtrlDvePower(s8 power)
s8 sceSysconGetHddPowerCtrl(void)
s32 sceSysconCtrlTachyonVoltage(s32 voltage)
s32 sceSyscon_driver_765775EB(s32 arg0)
s8 sceSysconGetWlanSwitch(void)
s32 sceSysconBatteryGetIFC(s32 *ifc)
s32 sceSysconWritePolestarReg(u8 reg, s16 val)
u8 sceSysconIsLowBattery(void)
s8 sceSysconGetBtPowerCtrl(void)
s32 sceSysconCmdExecAsync(SceSysconPacket *packet, u32 flags, s32(*callback)(SceSysconPacket *, void *), void *argp)
s32 sceSysconCtrlPower(u32 arg0, u32 arg1)
s32 sceSysconBatteryGetElecAD(s32 *elec)
s32 sceSysconCtrlMsPower(s8 power)
u8 sceSyscon_driver_DF20C984(void)
s32 sceSysconReadPolestarReg(u8 reg, s16 *val)
s32 _sceSysconGetUsbPowerType(void)
s32 sceSyscon_driver_12518439(u32 arg0)
s32 sceSysconReadAlarm(s32 *alarm)
s32 sceSysconBatteryGetStatus(s32 *status)
s32 sceSysconCtrlUsbPower(s8 power)
s32 sceSysconBatteryGetCycle(s32 *cycle)
s32 sceSysconInit(void)
void(* SceSysconFunc)(s32 enable, void *argp)
Definition syscon.h:171
s32 sceSysconCtrlHRPower(s8 power)
s32 sceSysconPermitChargeBattery(void)
s32 sceSysconSetHRPowerCallback(SceSysconFunc callback, void *argp)
s32 sceSysconGetDigitalKey(s8 *key)
s8 sceSysconGetTachyonAvcPowerCtrl(void)
s32 sceSysconSetWlanPowerCallback(SceSysconFunc callback, void *argp)
s32 sceSysconSetGSensorCallback(SceSysconFunc callback, void *argp)
s32 sceSysconGetTachyonWDTStatus(s32 *status)
s8 sceSysconGetDvePowerCtrl(void)
s32 sceSyscon_driver_6C388E02(SceSysconFunc callback, void *argp)
s8 sceSysconGetUsbPowerCtrl(void)
s32 sceSysconBatteryGetTotalElec(s32 *elec)
s32 sceSysconReadPommelReg(u8 reg, s16 *value)
s32 sceSysconSetHRWakeupCallback(SceSysconFunc callback, void *argp)
s32 sceSysconReceiveSetParam(u32 id, void *param)
u8 sceSysconGetBtPowerStatus(void)
s32 sceSysconGetBattVoltAD(s32 *volt1, s32 *volt2)
s8 sceSyscon_driver_BADF1260(s8 btSwitch)
s32 sceSysconSetPowerSwitchCallback(SceSysconFunc callback, void *argp)
s32 sceSysconSendSetParam(u32 id, void *param)
s32 sceSysconCtrlTachyonAvcPower(s8 power)
u8 sceSysconGetPowerSwitch(void)
s32 sceSysconReadGSensorReg(void)
s32 sceSysconGetPowerStatus(s32 *status)
u8 sceSysconGetHRWakeupStatus(void)
s32 sceSysconBatteryGetRCap(s32 *rcap)
u8 sceSysconGetWlanPowerStatus(void)
s32 sceSysconGetPowerSupplyStatus(s32 *status)
s32 sceSysconWriteClock(s32 clock)
s32 sceSysconSetBtSwitchCallback(SceSysconFunc callback, void *argp)
s32 sceSysconBatteryGetStatusCap(s32 *arg0, s32 *arg1)
s32 sceSysconWritePommelReg(u8 reg, s16 value)
s32 sceSysconBatteryGetChargeTime(s32 *time)
s32 sceSysconCtrlGSensor(void)
s32 sceSysconSetAffirmativeRertyMode(u32 mode)
s32 sceSysconGetGSensorCarib(void)
s32 sceSysconBatteryGetVoltAD(s32 *volt)
s32 sceSyscon_driver_26307D84(SceSysconFunc callback, void *argp)
u64 _sceSysconGetBaryonTimeStamp(void)
s32 sceSysconPowerSuspend(u32 arg0, u32 arg1)
s32 sceSysconGetWakeUpReq(void *req)
s32 sceSysconSetLowBatteryCallback(SceSysconFunc callback, void *argp)
s8 sceSyscon_driver_97765E27(void)
s8 sceSysconGetLcdPowerCtrl(void)
s32 sceSysconSetUmdSwitchCallback(SceSysconFunc callback, void *argp)
s32 sceSysconReadClock(s32 *clock)
s32 sceSysconSetHoldSwitchCallback(SceSysconFunc callback, void *argp)
s8 sceSyscon_driver_0B51E34D(s8 wlanSwitch)
s32 sceSysconNop(void)
s32 sceSysconCtrlTachyonVmePower(s8 power)
s32 sceSysconCmdExec(SceSysconPacket *packet, u32 flags)
s8 sceSysconGetTachyonAwPowerCtrl(void)
s8 sceSysconGetMsPowerCtrl(void)
s32 _sceSysconGetBaryonVersion(void)
s32 sceSysconReadScratchPad(u32 src, void *dst, u32 size)
s8 sceSysconGetTachyonVmePowerCtrl(void)
s32 sceSysconBatteryGetVolt(s32 *volt)
s32 sceSysconSetAcSupplyCallback(SceSysconFunc callback, void *argp)
u8 sceSysconGetHRPowerStatus(void)
s32 sceSysconGetGSensorVersion(void)
s32 sceSysconGetTimeStamp(s8 *timeStamp)
s32 sceSysconWriteScratchPad(u32 dst, void *src, u32 size)
u8 sceSysconIsFalling(void)
s32 sceSysconSetHPConnectCallback(SceSysconFunc callback, void *argp)
s8 sceSyscon_driver_040982CD(void)
s32 sceSysconCtrlBtPower(s8 power)
s32 sceSysconSetPollingMode(u32 pollingMode)
s32 sceSysconGetPowerError(s32 *error)
u8 sceSysconIsAcSupplied(void)
s32 sceSysconCtrlLcdPower(s8 power)
s32 sceSysconSetAlarmCallback(SceSysconFunc callback, void *argp)
s32 sceSysconGetWakeUpFactor(void *factor)
s32 sceSyscon_driver_755CF72B(u32 *timeoutPtr, u32 *intrTimeoutPtr)
s32 sceSysconGetVideoCable(s32 *cable)
s32 sceSyscon_driver_374373A8(SceSysconFunc callback, void *argp)
s8 sceSysconGetHPConnect(void)
s32 sceSysconBatteryGetInfo(s32 *info)
s32 sceSysconCtrlAnalogXYPolling(s8 polling)
s32 sceSysconCtrlTachyonAwPower(s8 power)
s32 sceSysconGetBaryonVersion(s32 *baryonVersion)
s32 sceSysconGetFallingDetectTime(void)
s32 sceSysconCtrlWlanPower(s8 power)
s32 sceSysconBatteryNop(void)
s32 sceSysconSuspend(void)
s32 sceSysconEnd(void)
s32 sceSysconBatteryGetTemp(s32 *temp)
s32 sceSysconCtrlHddPower(s8 power)
s32 sceSysconCtrlLeptonPower(s8 power)
s32 sceSysconSetBtPowerCallback(SceSysconFunc callback, void *argp)
s32 sceSysconResume(void *arg0)
s32 sceSysconBatteryGetCap(s32 *cap)
s8 sceSyscon_driver_248335CD(void)
u8 sceSysconGetBaryonStatus2(void)
s32 sceSysconGetPommelVersion(s32 *pommel)
u8 sceSysconGetBaryonStatus(void)
s32 sceSysconBatteryGetFullCap(s32 *cap)
s32 sceSysconSetUSBStatus(u8 status)
@ PSP_SYSCON_LED_MS
Definition syscon.h:126
@ PSP_SYSCON_LED_BT
Definition syscon.h:132
@ PSP_SYSCON_LED_WLAN
Definition syscon.h:128
@ PSP_SYSCON_LED_POWER
Definition syscon.h:130
Definition syscon.h:174
s32 size
Definition syscon.h:176
Definition syscon.h:136
void * argp
Definition syscon.h:161
s32(* callback)(struct SceSysconPacket *, void *argp)
Definition syscon.h:157
u32 gp
Definition syscon.h:159
u32 status
Definition syscon.h:140
SceUID semaId
Definition syscon.h:142
u8 tx[16]
Definition syscon.h:148
u32 time
Definition syscon.h:163
u32 delay
Definition syscon.h:165
u8 rx[16]
Definition syscon.h:155
u8 reserved[32]
Definition syscon.h:167
struct SceSysconPacket * next
Definition syscon.h:138