This patch adds regulator and spi board info definitions for the tps6524x
power management IC found on tnetv107x evm boards.

Signed-off-by: Cyril Chemparathy <[email protected]>
---
 arch/arm/mach-davinci/board-tnetv107x-evm.c |   85 +++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-davinci/board-tnetv107x-evm.c 
b/arch/arm/mach-davinci/board-tnetv107x-evm.c
index 1a656e8..ca23516 100644
--- a/arch/arm/mach-davinci/board-tnetv107x-evm.c
+++ b/arch/arm/mach-davinci/board-tnetv107x-evm.c
@@ -26,6 +26,9 @@
 #include <linux/input.h>
 #include <linux/input/matrix_keypad.h>
 #include <linux/spi/spi.h>
+#include <linux/regulator/machine.h>
+#include <linux/regulator/consumer.h>
+#include <linux/regulator/driver.h>
 
 #include <asm/mach/arch.h>
 #include <asm/mach-types.h>
@@ -254,7 +257,89 @@ static struct tnetv107x_device_info evm_device_info 
__initconst = {
        .ssp_config             = &ssp_config,
 };
 
+static struct regulator_consumer_supply usb_consumers[] = {
+       REGULATOR_SUPPLY("vbus", "musb_hdrc.1"),
+};
+
+static struct regulator_consumer_supply lcd_consumers[] = {
+       REGULATOR_SUPPLY("vlcd", "tps6116x"),
+};
+
+static struct regulator_init_data regulators[] = {
+       {
+               .constraints            = {
+                       .name           = "DCDC1",
+                       .min_uV         = 1000000,
+                       .max_uV         = 1000000,
+                       .always_on      = 1,
+                       .boot_on        = 1,
+               },
+       },
+       {
+               .constraints            = {
+                       .name           = "DCDC2",
+                       .min_uV         = 1800000,
+                       .max_uV         = 1800000,
+                       .always_on      = 1,
+                       .boot_on        = 1,
+               },
+       },
+       {
+               .constraints            = {
+                       .name           = "DCDC3",
+                       .min_uV         = 3300000,
+                       .max_uV         = 3300000,
+                       .always_on      = 1,
+                       .boot_on        = 1,
+               },
+       },
+       {
+               .constraints            = {
+                       .name           = "LDO1",
+                       .min_uV         = 4800000,
+                       .max_uV         = 4800000,
+                       .always_on      = 1,
+                       .boot_on        = 1,
+               },
+       },
+       {
+               .constraints            = {
+                       .name           = "LDO1",
+                       .min_uV         = 3300000,
+                       .max_uV         = 3300000,
+                       .always_on      = 1,
+                       .boot_on        = 1,
+               },
+       },
+       {
+               .num_consumer_supplies  = ARRAY_SIZE(usb_consumers),
+               .consumer_supplies      = usb_consumers,
+               .constraints            = {
+                       .name           = "USB",
+                       .min_uA         = 200000,
+                       .max_uA         = 1000000,
+                       .valid_ops_mask = REGULATOR_CHANGE_CURRENT |
+                                         REGULATOR_CHANGE_STATUS,
+               },
+       },
+       {
+               .num_consumer_supplies  = ARRAY_SIZE(lcd_consumers),
+               .consumer_supplies      = lcd_consumers,
+               .constraints            = {
+                       .name           = "LCD",
+                       .valid_ops_mask = REGULATOR_CHANGE_STATUS,
+               },
+       },
+};
+
 static struct spi_board_info spi_info[] __initconst = {
+       {
+               .modalias       = "tps6524x",
+               .bus_num        = 1,
+               .chip_select    = 0,
+               .mode           = SPI_MODE_0,
+               .platform_data  = regulators,
+       },
 };
 
 static __init void tnetv107x_evm_board_init(void)
-- 
1.7.1


------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to