]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/i2c/twl4030.h
Merge branch 'omap-fixes'
[linux-2.6-omap-h63xx.git] / include / linux / i2c / twl4030.h
index 17bd4007fa3430de51e0594a822353084d3b695d..87accda0e40c2b08e7b4932f7addc86f773911e0 100644 (file)
@@ -243,6 +243,37 @@ int twl4030_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
 #define RES_STATE_SLEEP                0x8
 #define RES_STATE_OFF          0x0
 
+/* Power resources */
+
+#define RES_VAUX1               1
+#define RES_VAUX2               2
+#define RES_VAUX3               3
+#define RES_VAUX4               4
+#define RES_VMMC1               5
+#define RES_VMMC2               6
+#define RES_VPLL1               7
+#define RES_VPLL2               8
+#define RES_VSIM                9
+#define RES_VDAC                10
+#define RES_VINTANA1            11
+#define RES_VINTANA2            12
+#define RES_VINTDIG             13
+#define RES_VIO                 14
+#define RES_VDD1                15
+#define RES_VDD2                16
+#define RES_VUSB_1V5            17
+#define RES_VUSB_1V8            18
+#define RES_VUSB_3V1            19
+#define RES_VUSBCP              20
+#define RES_REGEN               21
+#define RES_NRES_PWRON          22
+#define RES_CLKEN               23
+#define RES_SYSEN               24
+#define RES_HFCLKOUT            25
+#define RES_32KCLKOUT           26
+#define RES_RESET               27
+#define RES_Main_Ref            28
+
 /*
  * Power Bus Message Format ... these can be sent individually by Linux,
  * but are usually part of downloaded scripts that are run when various
@@ -302,11 +333,19 @@ struct twl4030_madc_platform_data {
        int             irq_line;
 };
 
+/* Boards have uniqe mappings of {col, row} --> keycode.
+ * Column and row are 4 bits, but range only from 0..7;
+ * a PERSISTENT_KEY is "always on" and never reported.
+ */
+#define KEY_PERSISTENT         0x00800000
+#define KEY(col, row, keycode) (((col) << 28) | ((row) << 24) | (keycode))
+#define PERSISTENT_KEY(c, r)   KEY(c, r, KEY_PERSISTENT)
+
 struct twl4030_keypad_data {
-       int rows;
-       int cols;
-       int *keymap;
-       unsigned int keymapsize;
+       unsigned rows;
+       unsigned cols;
+       unsigned *keymap;
+       unsigned short keymapsize;
        unsigned int rep:1;
 };
 
@@ -334,9 +373,17 @@ struct twl4030_script {
 #define TRITON_SLEEP_SCRIPT    (1<<3)
 };
 
+struct twl4030_resconfig {
+       u8 resource;
+       u8 devgroup;
+       u8 type;
+       u8 type2;
+};
+
 struct twl4030_power_data {
        struct twl4030_script **scripts;
        unsigned size;
+       const struct twl4030_resconfig *resource_config;
 };
 
 struct twl4030_platform_data {