aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-davinci/0001-tps6507x_regulator_refactor.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-davinci/0001-tps6507x_regulator_refactor.patch')
-rw-r--r--recipes/linux/linux-davinci/0001-tps6507x_regulator_refactor.patch222
1 files changed, 222 insertions, 0 deletions
diff --git a/recipes/linux/linux-davinci/0001-tps6507x_regulator_refactor.patch b/recipes/linux/linux-davinci/0001-tps6507x_regulator_refactor.patch
new file mode 100644
index 0000000000..b3050c6dfe
--- /dev/null
+++ b/recipes/linux/linux-davinci/0001-tps6507x_regulator_refactor.patch
@@ -0,0 +1,222 @@
+Index: git/drivers/regulator/tps6507x-regulator.c
+===================================================================
+--- git.orig/drivers/regulator/tps6507x-regulator.c 2010-01-11 02:59:57.000000000 -0700
++++ git/drivers/regulator/tps6507x-regulator.c 2010-01-11 02:59:59.000000000 -0700
+@@ -24,65 +24,7 @@
+ #include <linux/regulator/machine.h>
+ #include <linux/i2c.h>
+ #include <linux/delay.h>
+-
+-/* Register definitions */
+-#define TPS6507X_REG_PPATH1 0X01
+-#define TPS6507X_REG_INT 0X02
+-#define TPS6507X_REG_CHGCONFIG0 0X03
+-#define TPS6507X_REG_CHGCONFIG1 0X04
+-#define TPS6507X_REG_CHGCONFIG2 0X05
+-#define TPS6507X_REG_CHGCONFIG3 0X06
+-#define TPS6507X_REG_REG_ADCONFIG 0X07
+-#define TPS6507X_REG_TSCMODE 0X08
+-#define TPS6507X_REG_ADRESULT_1 0X09
+-#define TPS6507X_REG_ADRESULT_2 0X0A
+-#define TPS6507X_REG_PGOOD 0X0B
+-#define TPS6507X_REG_PGOODMASK 0X0C
+-#define TPS6507X_REG_CON_CTRL1 0X0D
+-#define TPS6507X_REG_CON_CTRL2 0X0E
+-#define TPS6507X_REG_CON_CTRL3 0X0F
+-#define TPS6507X_REG_DEFDCDC1 0X10
+-#define TPS6507X_REG_DEFDCDC2_LOW 0X11
+-#define TPS6507X_REG_DEFDCDC2_HIGH 0X12
+-#define TPS6507X_REG_DEFDCDC3_LOW 0X13
+-#define TPS6507X_REG_DEFDCDC3_HIGH 0X14
+-#define TPS6507X_REG_DEFSLEW 0X15
+-#define TPS6507X_REG_LDO_CTRL1 0X16
+-#define TPS6507X_REG_DEFLDO2 0X17
+-#define TPS6507X_REG_WLED_CTRL1 0X18
+-#define TPS6507X_REG_WLED_CTRL2 0X19
+-
+-/* CON_CTRL1 bitfields */
+-#define TPS6507X_CON_CTRL1_DCDC1_ENABLE BIT(4)
+-#define TPS6507X_CON_CTRL1_DCDC2_ENABLE BIT(3)
+-#define TPS6507X_CON_CTRL1_DCDC3_ENABLE BIT(2)
+-#define TPS6507X_CON_CTRL1_LDO1_ENABLE BIT(1)
+-#define TPS6507X_CON_CTRL1_LDO2_ENABLE BIT(0)
+-
+-/* DEFDCDC1 bitfields */
+-#define TPS6507X_DEFDCDC1_DCDC1_EXT_ADJ_EN BIT(7)
+-#define TPS6507X_DEFDCDC1_DCDC1_MASK 0X3F
+-
+-/* DEFDCDC2_LOW bitfields */
+-#define TPS6507X_DEFDCDC2_LOW_DCDC2_MASK 0X3F
+-
+-/* DEFDCDC2_HIGH bitfields */
+-#define TPS6507X_DEFDCDC2_HIGH_DCDC2_MASK 0X3F
+-
+-/* DEFDCDC3_LOW bitfields */
+-#define TPS6507X_DEFDCDC3_LOW_DCDC3_MASK 0X3F
+-
+-/* DEFDCDC3_HIGH bitfields */
+-#define TPS6507X_DEFDCDC3_HIGH_DCDC3_MASK 0X3F
+-
+-/* TPS6507X_REG_LDO_CTRL1 bitfields */
+-#define TPS6507X_REG_LDO_CTRL1_LDO1_MASK 0X0F
+-
+-/* TPS6507X_REG_DEFLDO2 bitfields */
+-#define TPS6507X_REG_DEFLDO2_LDO2_MASK 0X3F
+-
+-/* VDCDC MASK */
+-#define TPS6507X_DEFDCDCX_DCDC_MASK 0X3F
++#include <linux/mfd/tps6507x.h>
+
+ /* DCDC's */
+ #define TPS6507X_DCDC_1 0
+Index: git/drivers/regulator/Kconfig
+===================================================================
+--- git.orig/drivers/regulator/Kconfig 2010-01-11 02:59:57.000000000 -0700
++++ git/drivers/regulator/Kconfig 2010-01-11 02:59:59.000000000 -0700
+@@ -152,6 +152,7 @@
+ config REGULATOR_TPS6507X
+ tristate "TI TPS6507X Power regulators"
+ depends on I2C
++ depends on CPU_FREQ
+ help
+ This driver supports TPS6507X voltage regulator chips. TPS6507X provides
+ three step-down converters and two general-purpose LDO voltage regulators.
+Index: git/include/linux/mfd/tps6507x.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ git/include/linux/mfd/tps6507x.h 2010-01-11 03:00:38.000000000 -0700
+@@ -0,0 +1,134 @@
++/* linux/mfd/tps6507x.h
++ *
++ * Functions to access TPS65070 power management chip.
++ *
++ * Copyright (c) 2009 RidgeRun (todd.fischer@ridgerun.com)
++ *
++ *
++ * For licencing details see kernel-base/COPYING
++ */
++
++#ifndef __LINUX_MFD_TPS6507X_H
++#define __LINUX_MFD_TPS6507X_H
++
++/*
++ * ----------------------------------------------------------------------------
++ * Registers, all 8 bits
++ * ----------------------------------------------------------------------------
++ */
++
++
++/* Register definitions */
++#define TPS6507X_REG_PPATH1 0X01
++#define TPS6507X_CHG_USB BIT(7)
++#define TPS6507X_CHG_AC BIT(6)
++#define TPS6507X_CHG_USB_PW_ENABLE BIT(5)
++#define TPS6507X_CHG_AC_PW_ENABLE BIT(4)
++#define TPS6507X_CHG_AC_CURRENT BIT(2)
++#define TPS6507X_CHG_USB_CURRENT BIT(0)
++
++#define TPS6507X_REG_INT 0X02
++#define TPS6507X_REG_MASK_AC_USB BIT(7)
++#define TPS6507X_REG_MASK_TSC BIT(6)
++#define TPS6507X_REG_MASK_PB_IN BIT(5)
++#define TPS6507X_REG_TSC_INT BIT(3)
++#define TPS6507X_REG_PB_IN_INT BIT(2)
++#define TPS6507X_REG_AC_USB_APPLIED BIT(1)
++#define TPS6507X_REG_AC_USB_REMOVED BIT(0)
++
++#define TPS6507X_REG_CHGCONFIG0 0X03
++
++#define TPS6507X_REG_CHGCONFIG1 0X04
++#define TPS6507X_CON_CTRL1_DCDC1_ENABLE BIT(4)
++#define TPS6507X_CON_CTRL1_DCDC2_ENABLE BIT(3)
++#define TPS6507X_CON_CTRL1_DCDC3_ENABLE BIT(2)
++#define TPS6507X_CON_CTRL1_LDO1_ENABLE BIT(1)
++#define TPS6507X_CON_CTRL1_LDO2_ENABLE BIT(0)
++
++#define TPS6507X_REG_CHGCONFIG2 0X05
++
++#define TPS6507X_REG_CHGCONFIG3 0X06
++
++#define TPS6507X_REG_ADCONFIG 0X07
++#define TPS6507X_ADCONFIG_AD_ENABLE BIT(7)
++#define TPS6507X_ADCONFIG_START_CONVERSION BIT(6)
++#define TPS6507X_ADCONFIG_CONVERSION_DONE BIT(5)
++#define TPS6507X_ADCONFIG_VREF_ENABLE BIT(4)
++#define TPS6507X_ADCONFIG_INPUT_AD_IN1 0
++#define TPS6507X_ADCONFIG_INPUT_AD_IN2 1
++#define TPS6507X_ADCONFIG_INPUT_AD_IN3 2
++#define TPS6507X_ADCONFIG_INPUT_AD_IN4 3
++#define TPS6507X_ADCONFIG_INPUT_TS_PIN 4
++#define TPS6507X_ADCONFIG_INPUT_BAT_CURRENT 5
++#define TPS6507X_ADCONFIG_INPUT_AC_VOLTAGE 6
++#define TPS6507X_ADCONFIG_INPUT_SYS_VOLTAGE 7
++#define TPS6507X_ADCONFIG_INPUT_CHARGER_VOLTAGE 8
++#define TPS6507X_ADCONFIG_INPUT_BAT_VOLTAGE 9
++#define TPS6507X_ADCONFIG_INPUT_THRESHOLD_VOLTAGE 10
++#define TPS6507X_ADCONFIG_INPUT_ISET1_VOLTAGE 11
++#define TPS6507X_ADCONFIG_INPUT_ISET2_VOLTAGE 12
++#define TPS6507X_ADCONFIG_INPUT_REAL_TSC 14
++#define TPS6507X_ADCONFIG_INPUT_TSC 15
++
++#define TPS6507X_REG_TSCMODE 0X08
++#define TPS6507X_TSCMODE_X_POSITION 0
++#define TPS6507X_TSCMODE_Y_POSITION 1
++#define TPS6507X_TSCMODE_PRESSURE 2
++#define TPS6507X_TSCMODE_X_PLATE 3
++#define TPS6507X_TSCMODE_Y_PLATE 4
++#define TPS6507X_TSCMODE_STANDBY 5
++#define TPS6507X_TSCMODE_ADC_INPUT 6
++#define TPS6507X_TSCMODE_DISABLE 7
++
++#define TPS6507X_REG_ADRESULT_1 0X09
++
++#define TPS6507X_REG_ADRESULT_2 0X0A
++#define TPS6507X_REG_ADRESULT_2_MASK (BIT(1) | BIT(0))
++
++#define TPS6507X_REG_PGOOD 0X0B
++
++#define TPS6507X_REG_PGOODMASK 0X0C
++
++#define TPS6507X_REG_CON_CTRL1 0X0D
++#define TPS6507X_CON_CTRL1_DCDC1_ENABLE BIT(4)
++#define TPS6507X_CON_CTRL1_DCDC2_ENABLE BIT(3)
++#define TPS6507X_CON_CTRL1_DCDC3_ENABLE BIT(2)
++#define TPS6507X_CON_CTRL1_LDO1_ENABLE BIT(1)
++#define TPS6507X_CON_CTRL1_LDO2_ENABLE BIT(0)
++
++#define TPS6507X_REG_CON_CTRL2 0X0E
++
++#define TPS6507X_REG_CON_CTRL3 0X0F
++
++#define TPS6507X_REG_DEFDCDC1 0X10
++#define TPS6507X_DEFDCDC1_DCDC1_EXT_ADJ_EN BIT(7)
++#define TPS6507X_DEFDCDC1_DCDC1_MASK 0X3F
++
++#define TPS6507X_REG_DEFDCDC2_LOW 0X11
++#define TPS6507X_DEFDCDC2_LOW_DCDC2_MASK 0X3F
++
++#define TPS6507X_REG_DEFDCDC2_HIGH 0X12
++#define TPS6507X_DEFDCDC2_HIGH_DCDC2_MASK 0X3F
++
++#define TPS6507X_REG_DEFDCDC3_LOW 0X13
++#define TPS6507X_DEFDCDC3_LOW_DCDC3_MASK 0X3F
++
++#define TPS6507X_REG_DEFDCDC3_HIGH 0X14
++#define TPS6507X_DEFDCDC3_HIGH_DCDC3_MASK 0X3F
++
++#define TPS6507X_REG_DEFSLEW 0X15
++
++#define TPS6507X_REG_LDO_CTRL1 0X16
++#define TPS6507X_REG_LDO_CTRL1_LDO1_MASK 0X0F
++
++#define TPS6507X_REG_DEFLDO2 0X17
++#define TPS6507X_REG_DEFLDO2_LDO2_MASK 0X3F
++
++#define TPS6507X_REG_WLED_CTRL1 0X18
++
++#define TPS6507X_REG_WLED_CTRL2 0X19
++
++/* VDCDC MASK */
++#define TPS6507X_DEFDCDCX_DCDC_MASK 0X3F
++
++#endif /* __LINUX_MFD_TPS6507X_H */