ARM: davinci: dm644x-evm: Add Fixed regulators needed for tlv320aic33
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 30 Aug 2019 10:23:08 +0000 (13:23 +0300)
committerSekhar Nori <nsekhar@ti.com>
Mon, 13 Jan 2020 12:06:26 +0000 (17:36 +0530)
The codec driver needs correct regulators in order to probe.
Both VCC_3.3V and VCC_1.8V is always on fixed regulators on the board.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/mach-davinci/board-dm644x-evm.c

index 9d87d4e..8406c82 100644 (file)
@@ -29,6 +29,8 @@
 #include <linux/v4l2-dv-timings.h>
 #include <linux/export.h>
 #include <linux/leds.h>
+#include <linux/regulator/fixed.h>
+#include <linux/regulator/machine.h>
 
 #include <media/i2c/tvp514x.h>
 
@@ -653,6 +655,19 @@ static struct i2c_board_info __initdata i2c_info[] =  {
        },
 };
 
+/* Fixed regulator support */
+static struct regulator_consumer_supply fixed_supplies_3_3v[] = {
+       /* Baseboard 3.3V: 5V -> TPS54310PWP -> 3.3V */
+       REGULATOR_SUPPLY("AVDD", "1-001b"),
+       REGULATOR_SUPPLY("DRVDD", "1-001b"),
+};
+
+static struct regulator_consumer_supply fixed_supplies_1_8v[] = {
+       /* Baseboard 1.8V: 5V -> TPS54310PWP -> 1.8V */
+       REGULATOR_SUPPLY("IOVDD", "1-001b"),
+       REGULATOR_SUPPLY("DVDD", "1-001b"),
+};
+
 #define DM644X_I2C_SDA_PIN     GPIO_TO_PIN(2, 12)
 #define DM644X_I2C_SCL_PIN     GPIO_TO_PIN(2, 11)
 
@@ -831,6 +846,11 @@ static __init void davinci_evm_init(void)
 
        dm644x_register_clocks();
 
+       regulator_register_always_on(0, "fixed-dummy", fixed_supplies_1_8v,
+                                    ARRAY_SIZE(fixed_supplies_1_8v), 1800000);
+       regulator_register_always_on(1, "fixed-dummy", fixed_supplies_3_3v,
+                                    ARRAY_SIZE(fixed_supplies_3_3v), 3300000);
+
        dm644x_init_devices();
 
        ret = dm644x_gpio_register();