summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCástor Muñoz <cmvidal@gmail.com>2016-01-11 18:37:59 +0100
committerCástor Muñoz <cmvidal@gmail.com>2016-01-12 14:24:44 +0100
commit9e24d5df1ac615364605176477202cc8e151b22d (patch)
treeb2116e07d7e4df04c1c5eb92ca4584e4eec7d110
parent166da9add80e30047c99b4cd7f1cfc770f421e09 (diff)
downloadrockbox-9e24d5df1ac615364605176477202cc8e151b22d.zip
rockbox-9e24d5df1ac615364605176477202cc8e151b22d.tar.gz
rockbox-9e24d5df1ac615364605176477202cc8e151b22d.tar.bz2
rockbox-9e24d5df1ac615364605176477202cc8e151b22d.tar.xz
iPod Classic: update documentation on PMU target
Change-Id: I936889872f83521731e81a972657086a357bb5eb
-rw-r--r--firmware/target/arm/s5l8702/ipod6g/pmu-target.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/firmware/target/arm/s5l8702/ipod6g/pmu-target.h b/firmware/target/arm/s5l8702/ipod6g/pmu-target.h
index a8c7851..94fd170 100644
--- a/firmware/target/arm/s5l8702/ipod6g/pmu-target.h
+++ b/firmware/target/arm/s5l8702/ipod6g/pmu-target.h
@@ -25,6 +25,40 @@
#include <stdbool.h>
#include "config.h"
+#include <pcf5063x.h>
+
+/* undocummented PMU registers */
+#define PCF50635_REG_INT6 0x85
+#define PCF50635_REG_INT6M 0x86
+#define PCF50635_REG_GPIOSTAT 0x87 /* bit1: GPIO2 status (TBC) */
+
+/* LDOs */
+#define LDO_UNK1 1 /* TBC: SoC voltage (USB) */
+#define LDO_UNK2 2 /* TBC: SoC voltage (I/O) */
+#define LDO_LCD 3
+#define LDO_CODEC 4
+#define LDO_UNK5 5 /* TBC: nano3g NAND */
+#define LDO_CWHEEL 6
+#define LDO_ACCY 7 /* HCLDO */
+
+/* Other LDOs:
+ * AUTOLDO: Hard Disk
+ * DOWN1: CPU
+ * DOWN2: SDRAM
+ * MEMLDO: SDRAM self-refresh (TBC)
+ *
+ * EXTON inputs:
+ * EXTON1: button/holdswitch related (TBC)
+ * EXTON2: USB Vbus (High when present)
+ * EXTON3: ACCESORY (Low when present)
+ *
+ * GPIO:
+ * GPIO1: input, Mikey (jack remote ctrl) interrupt (TBC)
+ * GPIO2: input, hold switch (TBC)
+ * GPIO3: output, unknown
+ */
+
+
unsigned char pmu_read(int address);
int pmu_write(int address, unsigned char val);
int pmu_read_multiple(int address, int count, unsigned char* buffer);