Re: [PATCH 3/5] mfd: palmas: Add tps65917 specific definitions and enums

2014-05-27 Thread Lee Jones
 Add tps65917 specific definitions and enums.
 
 Signed-off-by: Keerthy j-keer...@ti.com
 ---
  include/linux/mfd/palmas.h |  793 
 
  1 file changed, 793 insertions(+)

Looks okay to me:

  Acked-by: Lee Jones lee.jo...@linaro.org

Do the MFD patches have dependencies or are they depended on by the
others in the set?

 diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h
 index ccbb21f..52a24a9 100644
 --- a/include/linux/mfd/palmas.h
 +++ b/include/linux/mfd/palmas.h
 @@ -30,6 +30,8 @@
  #define PALMAS_CHIP_ID   0xC035
  #define PALMAS_CHIP_CHARGER_ID   0xC036
  
 +#define TPS65917_RESERVED-1
 +
  #define is_palmas(a) (((a) == PALMAS_CHIP_OLD_ID) || \
   ((a) == PALMAS_CHIP_ID))
  #define is_palmas_charger(a) ((a) == PALMAS_CHIP_CHARGER_ID)
 @@ -184,6 +186,27 @@ enum palmas_regulators {
   PALMAS_NUM_REGS,
  };
  
 +enum tps65917_regulators {
 + /* SMPS regulators */
 + TPS65917_REG_SMPS1,
 + TPS65917_REG_SMPS2,
 + TPS65917_REG_SMPS3,
 + TPS65917_REG_SMPS4,
 + TPS65917_REG_SMPS5,
 + /* LDO regulators */
 + TPS65917_REG_LDO1,
 + TPS65917_REG_LDO2,
 + TPS65917_REG_LDO3,
 + TPS65917_REG_LDO4,
 + TPS65917_REG_LDO5,
 + TPS65917_REG_REGEN1,
 + TPS65917_REG_REGEN2,
 + TPS65917_REG_REGEN3,
 +
 + /* Total number of regulators */
 + TPS65917_NUM_REGS,
 +};
 +
  /* External controll signal name */
  enum {
   PALMAS_EXT_CONTROL_ENABLE1  = 0x1,
 @@ -228,6 +251,24 @@ enum palmas_external_requestor_id {
   PALMAS_EXTERNAL_REQSTR_ID_MAX,
  };
  
 +enum tps65917_external_requestor_id {
 + TPS65917_EXTERNAL_REQSTR_ID_REGEN1,
 + TPS65917_EXTERNAL_REQSTR_ID_REGEN2,
 + TPS65917_EXTERNAL_REQSTR_ID_REGEN3,
 + TPS65917_EXTERNAL_REQSTR_ID_SMPS1,
 + TPS65917_EXTERNAL_REQSTR_ID_SMPS2,
 + TPS65917_EXTERNAL_REQSTR_ID_SMPS3,
 + TPS65917_EXTERNAL_REQSTR_ID_SMPS4,
 + TPS65917_EXTERNAL_REQSTR_ID_SMPS5,
 + TPS65917_EXTERNAL_REQSTR_ID_LDO1,
 + TPS65917_EXTERNAL_REQSTR_ID_LDO2,
 + TPS65917_EXTERNAL_REQSTR_ID_LDO3,
 + TPS65917_EXTERNAL_REQSTR_ID_LDO4,
 + TPS65917_EXTERNAL_REQSTR_ID_LDO5,
 + /* Last entry */
 + TPS65917_EXTERNAL_REQSTR_ID_MAX,
 +};
 +
  struct palmas_pmic_platform_data {
   /* An array of pointers to regulator init data indexed by regulator
* ID
 @@ -349,6 +390,48 @@ struct palmas_gpadc_result {
  
  #define PALMAS_MAX_CHANNELS 16
  
 +/* Define the tps65917 IRQ numbers */
 +enum tps65917_irqs {
 + /* INT1 registers */
 + TPS65917_RESERVED1,
 + TPS65917_PWRON_IRQ,
 + TPS65917_LONG_PRESS_KEY_IRQ,
 + TPS65917_RESERVED2,
 + TPS65917_PWRDOWN_IRQ,
 + TPS65917_HOTDIE_IRQ,
 + TPS65917_VSYS_MON_IRQ,
 + TPS65917_RESERVED3,
 + /* INT2 registers */
 + TPS65917_RESERVED4,
 + TPS65917_OTP_ERROR_IRQ,
 + TPS65917_WDT_IRQ,
 + TPS65917_RESERVED5,
 + TPS65917_RESET_IN_IRQ,
 + TPS65917_FSD_IRQ,
 + TPS65917_SHORT_IRQ,
 + TPS65917_RESERVED6,
 + /* INT3 registers */
 + TPS65917_GPADC_AUTO_0_IRQ,
 + TPS65917_GPADC_AUTO_1_IRQ,
 + TPS65917_GPADC_EOC_SW_IRQ,
 + TPS65917_RESREVED6,
 + TPS65917_RESERVED7,
 + TPS65917_RESERVED8,
 + TPS65917_RESERVED9,
 + TPS65917_VBUS_IRQ,
 + /* INT4 registers */
 + TPS65917_GPIO_0_IRQ,
 + TPS65917_GPIO_1_IRQ,
 + TPS65917_GPIO_2_IRQ,
 + TPS65917_GPIO_3_IRQ,
 + TPS65917_GPIO_4_IRQ,
 + TPS65917_GPIO_5_IRQ,
 + TPS65917_GPIO_6_IRQ,
 + TPS65917_RESERVED10,
 + /* Total Number IRQs */
 + TPS65917_NUM_IRQ,
 +};
 +
  /* Define the palmas IRQ numbers */
  enum palmas_irqs {
   /* INT1 registers */
 @@ -400,6 +483,7 @@ struct palmas_pmic {
  
   int smps123;
   int smps457;
 + int smps12;
  
   int range[PALMAS_REG_SMPS10_OUT1];
   unsigned int ramp_delay[PALMAS_REG_SMPS10_OUT1];
 @@ -2871,6 +2955,715 @@ enum usb_irq_events {
  #define PALMAS_GPADC_TRIM15  0x0E
  #define PALMAS_GPADC_TRIM16  0x0F
  
 +/* TPS65917 Interrupt registers */
 +
 +/* Registers for function INTERRUPT */
 +#define TPS65917_INT1_STATUS 0x00
 +#define TPS65917_INT1_MASK   0x01
 +#define TPS65917_INT1_LINE_STATE 0x02
 +#define TPS65917_INT2_STATUS 0x05
 +#define TPS65917_INT2_MASK   0x06
 +#define TPS65917_INT2_LINE_STATE 0x07
 +#define TPS65917_INT3_STATUS 0x0A
 +#define TPS65917_INT3_MASK   0x0B
 +#define TPS65917_INT3_LINE_STATE 0x0C
 +#define TPS65917_INT4_STATUS 0x0F
 +#define TPS65917_INT4_MASK   0x10
 

Re: [PATCH 3/5] mfd: palmas: Add tps65917 specific definitions and enums

2014-05-27 Thread Keerthy

On Tuesday 27 May 2014 02:11 PM, Lee Jones wrote:

Add tps65917 specific definitions and enums.

Signed-off-by: Keerthy j-keer...@ti.com
---
  include/linux/mfd/palmas.h |  793 
  1 file changed, 793 insertions(+)

Looks okay to me:

   Acked-by: Lee Jones lee.jo...@linaro.org

Do the MFD patches have dependencies or are they depended on by the
others in the set?


No Dependency as such. These can be applied independently.
I will work on unifying the regulator driver for palmas and tps65917.




diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h
index ccbb21f..52a24a9 100644
--- a/include/linux/mfd/palmas.h
+++ b/include/linux/mfd/palmas.h
@@ -30,6 +30,8 @@
  #define PALMAS_CHIP_ID0xC035
  #define PALMAS_CHIP_CHARGER_ID0xC036
  
+#define TPS65917_RESERVED		-1

+
  #define is_palmas(a)  (((a) == PALMAS_CHIP_OLD_ID) || \
((a) == PALMAS_CHIP_ID))
  #define is_palmas_charger(a) ((a) == PALMAS_CHIP_CHARGER_ID)
@@ -184,6 +186,27 @@ enum palmas_regulators {
PALMAS_NUM_REGS,
  };
  
+enum tps65917_regulators {

+   /* SMPS regulators */
+   TPS65917_REG_SMPS1,
+   TPS65917_REG_SMPS2,
+   TPS65917_REG_SMPS3,
+   TPS65917_REG_SMPS4,
+   TPS65917_REG_SMPS5,
+   /* LDO regulators */
+   TPS65917_REG_LDO1,
+   TPS65917_REG_LDO2,
+   TPS65917_REG_LDO3,
+   TPS65917_REG_LDO4,
+   TPS65917_REG_LDO5,
+   TPS65917_REG_REGEN1,
+   TPS65917_REG_REGEN2,
+   TPS65917_REG_REGEN3,
+
+   /* Total number of regulators */
+   TPS65917_NUM_REGS,
+};
+
  /* External controll signal name */
  enum {
PALMAS_EXT_CONTROL_ENABLE1  = 0x1,
@@ -228,6 +251,24 @@ enum palmas_external_requestor_id {
PALMAS_EXTERNAL_REQSTR_ID_MAX,
  };
  
+enum tps65917_external_requestor_id {

+   TPS65917_EXTERNAL_REQSTR_ID_REGEN1,
+   TPS65917_EXTERNAL_REQSTR_ID_REGEN2,
+   TPS65917_EXTERNAL_REQSTR_ID_REGEN3,
+   TPS65917_EXTERNAL_REQSTR_ID_SMPS1,
+   TPS65917_EXTERNAL_REQSTR_ID_SMPS2,
+   TPS65917_EXTERNAL_REQSTR_ID_SMPS3,
+   TPS65917_EXTERNAL_REQSTR_ID_SMPS4,
+   TPS65917_EXTERNAL_REQSTR_ID_SMPS5,
+   TPS65917_EXTERNAL_REQSTR_ID_LDO1,
+   TPS65917_EXTERNAL_REQSTR_ID_LDO2,
+   TPS65917_EXTERNAL_REQSTR_ID_LDO3,
+   TPS65917_EXTERNAL_REQSTR_ID_LDO4,
+   TPS65917_EXTERNAL_REQSTR_ID_LDO5,
+   /* Last entry */
+   TPS65917_EXTERNAL_REQSTR_ID_MAX,
+};
+
  struct palmas_pmic_platform_data {
/* An array of pointers to regulator init data indexed by regulator
 * ID
@@ -349,6 +390,48 @@ struct palmas_gpadc_result {
  
  #define PALMAS_MAX_CHANNELS 16
  
+/* Define the tps65917 IRQ numbers */

+enum tps65917_irqs {
+   /* INT1 registers */
+   TPS65917_RESERVED1,
+   TPS65917_PWRON_IRQ,
+   TPS65917_LONG_PRESS_KEY_IRQ,
+   TPS65917_RESERVED2,
+   TPS65917_PWRDOWN_IRQ,
+   TPS65917_HOTDIE_IRQ,
+   TPS65917_VSYS_MON_IRQ,
+   TPS65917_RESERVED3,
+   /* INT2 registers */
+   TPS65917_RESERVED4,
+   TPS65917_OTP_ERROR_IRQ,
+   TPS65917_WDT_IRQ,
+   TPS65917_RESERVED5,
+   TPS65917_RESET_IN_IRQ,
+   TPS65917_FSD_IRQ,
+   TPS65917_SHORT_IRQ,
+   TPS65917_RESERVED6,
+   /* INT3 registers */
+   TPS65917_GPADC_AUTO_0_IRQ,
+   TPS65917_GPADC_AUTO_1_IRQ,
+   TPS65917_GPADC_EOC_SW_IRQ,
+   TPS65917_RESREVED6,
+   TPS65917_RESERVED7,
+   TPS65917_RESERVED8,
+   TPS65917_RESERVED9,
+   TPS65917_VBUS_IRQ,
+   /* INT4 registers */
+   TPS65917_GPIO_0_IRQ,
+   TPS65917_GPIO_1_IRQ,
+   TPS65917_GPIO_2_IRQ,
+   TPS65917_GPIO_3_IRQ,
+   TPS65917_GPIO_4_IRQ,
+   TPS65917_GPIO_5_IRQ,
+   TPS65917_GPIO_6_IRQ,
+   TPS65917_RESERVED10,
+   /* Total Number IRQs */
+   TPS65917_NUM_IRQ,
+};
+
  /* Define the palmas IRQ numbers */
  enum palmas_irqs {
/* INT1 registers */
@@ -400,6 +483,7 @@ struct palmas_pmic {
  
  	int smps123;

int smps457;
+   int smps12;
  
  	int range[PALMAS_REG_SMPS10_OUT1];

unsigned int ramp_delay[PALMAS_REG_SMPS10_OUT1];
@@ -2871,6 +2955,715 @@ enum usb_irq_events {
  #define PALMAS_GPADC_TRIM15   0x0E
  #define PALMAS_GPADC_TRIM16   0x0F
  
+/* TPS65917 Interrupt registers */

+
+/* Registers for function INTERRUPT */
+#define TPS65917_INT1_STATUS   0x00
+#define TPS65917_INT1_MASK 0x01
+#define TPS65917_INT1_LINE_STATE   0x02
+#define TPS65917_INT2_STATUS   0x05
+#define TPS65917_INT2_MASK 0x06
+#define TPS65917_INT2_LINE_STATE   0x07
+#define TPS65917_INT3_STATUS   0x0A
+#define TPS65917_INT3_MASK