summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergi Granell2018-02-14 19:18:07 +0100
committerSergi Granell2018-02-14 19:18:07 +0100
commit0c5a9823ce93c2e38b854c351e0884b479c5ea9a (patch)
treef54c6009f87f427c9edf15c486f79c632047e145
parentAdd Cpu and Sysmem NIDs (#293) (diff)
downloadvds-libraries-0c5a9823ce93c2e38b854c351e0884b479c5ea9a.tar.gz
Add DSI
Diffstat (limited to '')
-rw-r--r--include/kernel/lowio/dsi.h39
-rw-r--r--include/kernel/lowio/pervasive.h1
-rw-r--r--nids/360/SceLowio.yml15
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