diff options
-rw-r--r-- | include/kernel/lowio/dsi.h | 39 | ||||
-rw-r--r-- | include/kernel/lowio/pervasive.h | 1 | ||||
-rw-r--r-- | nids/360/SceLowio.yml | 15 |
3 files changed, 55 insertions, 0 deletions
diff --git a/include/kernel/lowio/dsi.h b/include/kernel/lowio/dsi.h new file mode 100644 index 0000000..5b6aa9e --- /dev/null +++ b/include/kernel/lowio/dsi.h @@ -0,0 +1,39 @@ +#ifndef _PSP2_KERN_LOWIO_DSI_H_ +#define _PSP2_KERN_LOWIO_DSI_H_ + +#include <psp2kern/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum SceDsiErrorCode { + SCE_DSI_ERROR_INVALID_HEAD = 0x803F0600, + SCE_DSI_ERROR_INVALID_STATE = 0x803F0601, + SCE_DSI_ERROR_INVALID_PARAM = 0x803F0602, + SCE_DSI_ERROR_HEAD_NOT_ENABLED = 0x803F0603, +} SceDsiErrorCode; + +typedef enum SceDsiHead { + SCE_DSI_HEAD_OLED_LCD = 0, + SCE_DSI_HEAD_HDMI = 1, +} SceDsiHead; + +int sceDsiEnableHead(int head); +int sceDsiDisableHead(int head); +int sceDsiSendBlankingPacket(int head); +int sceDsiSetLanesPixelsize(int head, int lanes, int pixelsize); +int sceDsiSetVic(int head, int vic); +int sceDsiGetVicResolution(int vic, int *width, int *height); +int sceDsiGetPixelclock(int head); +int sceDsiGenericShortWrite(int head, int param0, int param1, int param2); +int sceDsiGenericReadRequest(int head, int param, void *buff, unsigned int size); +int sceDsiDcsShortWrite(int head, unsigned short param0, int param1); +int sceDsiDcsRead(int head, unsigned short param, void *buff, unsigned int size); + +#ifdef __cplusplus +} +#endif + +#endif /* _PSP2_KERN_LOWIO_DSI_H_ */ + diff --git a/include/kernel/lowio/pervasive.h b/include/kernel/lowio/pervasive.h index 24a4ac4..f40d925 100644 --- a/include/kernel/lowio/pervasive.h +++ b/include/kernel/lowio/pervasive.h @@ -27,6 +27,7 @@ int scePervasiveDsiResetEnable(int port, unsigned int mask); int scePervasiveDsiResetDisable(int port, unsigned int mask); int scePervasiveDsiClockEnable(int port, unsigned int mask); int scePervasiveDsiClockDisable(int port, unsigned int mask); +int scePervasiveDsiSetPixelclock(int port, int pixelclock); int scePervasiveMsifResetEnable(void); int scePervasiveMsifResetDisable(void); diff --git a/nids/360/SceLowio.yml b/nids/360/SceLowio.yml index 3dadd8c..266cb1f 100644 --- a/nids/360/SceLowio.yml +++ b/nids/360/SceLowio.yml @@ -2,6 +2,20 @@ modules: SceLowio: nid: 0x17E0D8DF libraries: + SceDsiForDriver: + nid: 0xEC897883 + functions: + sceDsiDcsRead: 0x3FB0DF1F + sceDsiDcsShortWrite: 0xBA6BC89F + sceDsiDisableHead: 0x114D1413 + sceDsiEnableHead: 0x5BE5AA9B + sceDsiGenericReadRequest: 0x98120684 + sceDsiGenericShortWrite: 0x89C00D2F + sceDsiGetPixelclock: 0x4DF9E924 + sceDsiGetVicResolution: 0xB3A70C05 + sceDsiSendBlankingPacket: 0x7640F607 + sceDsiSetLanesPixelsize: 0x78E6E3CF + sceDsiSetVic: 0x97BFEA76 SceGpioForDriver: nid: 0xF0EF5743 functions: @@ -31,6 +45,7 @@ modules: scePervasiveDsiClockEnable: 0xBC42C72F scePervasiveDsiResetDisable: 0xFFB43AC2 scePervasiveDsiResetEnable: 0xE3FC1C8D + scePervasiveDsiSetPixelclock: 0x91C80C41 scePervasiveGpioClockDisable: 0xEB176898 scePervasiveGpioClockEnable: 0x2F195C97 scePervasiveGpioResetDisable: 0x78C34032 |