ARM: S3C64XX: Add WM2200 module for Cragganmore
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 17 Oct 2012 08:41:09 +0000 (17:41 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Wed, 17 Oct 2012 08:41:09 +0000 (17:41 +0900)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-s3c64xx/mach-crag6410-module.c
arch/arm/mach-s3c64xx/mach-crag6410.c

index fc758b1a4ffa98e4e9f67148ea98660cdca4a62d..4744c42ebdf514099e8f37b654ae625a3da21ba8 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/regulator/machine.h>
 
 #include <sound/wm0010.h>
+#include <sound/wm2200.h>
 #include <sound/wm5100.h>
 #include <sound/wm8996.h>
 #include <sound/wm8962.h>
@@ -277,6 +278,18 @@ static const struct i2c_board_info wm6230_i2c_devs[] = {
          .platform_data = &wm9081_pdata, },
 };
 
+static struct wm2200_pdata wm2200_pdata = {
+       .ldo_ena = S3C64XX_GPN(7),
+       .gpio_defaults = {
+               [2] = 0x0005,  /* GPIO3 24.576MHz output clock */
+       },
+};
+
+static const struct i2c_board_info wm2200_i2c[] = {
+       { I2C_BOARD_INFO("wm2200", 0x3a),
+         .platform_data = &wm2200_pdata, },
+};
+
 static __devinitdata const struct {
        u8 id;
        u8 rev;
@@ -326,6 +339,8 @@ static __devinitdata const struct {
        { .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut",
          .spi_devs = wm5102_spi_devs,
          .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) },
+       { .id = 0x3f, .rev = -1, .name = "WM2200-6271-CS90-M-REV1",
+         .i2c_devs = wm2200_i2c, .num_i2c_devs = ARRAY_SIZE(wm2200_i2c) },
 };
 
 static __devinit int wlf_gf_module_probe(struct i2c_client *i2c,
index 6d5b2c66882580baecd5dce78f73da39f203d67f..7e355238abe8bde1ff0163360a65a8213744e984 100644 (file)
@@ -629,6 +629,11 @@ static struct regulator_consumer_supply pvdd_1v8_consumers[] __devinitdata = {
        REGULATOR_SUPPLY("DCVDD", "1-001a"),
        REGULATOR_SUPPLY("AVDD", "1-001a"),
        REGULATOR_SUPPLY("DBVDD", "spi0.0"),
+
+       REGULATOR_SUPPLY("DBVDD", "1-003a"),
+       REGULATOR_SUPPLY("LDOVDD", "1-003a"),
+       REGULATOR_SUPPLY("CPVDD", "1-003a"),
+       REGULATOR_SUPPLY("AVDD", "1-003a"),
        REGULATOR_SUPPLY("DBVDD1", "spi0.1"),
        REGULATOR_SUPPLY("DBVDD2", "spi0.1"),
        REGULATOR_SUPPLY("DBVDD3", "spi0.1"),