diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-17 10:41:09 +0200 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-10-17 10:41:09 +0200 |
commit | e6a194b7827ab8ece296f579c9d3f156c1545a3f (patch) | |
tree | 34fca5e5b711f5d0bc3eec8f49a2db6879cffc3b /arch/arm/mach-s3c64xx | |
parent | ARM: S3C64XX: Add hookup for Deanston module on Cragganmore (diff) | |
download | linux-e6a194b7827ab8ece296f579c9d3f156c1545a3f.tar.xz linux-e6a194b7827ab8ece296f579c9d3f156c1545a3f.zip |
ARM: S3C64XX: Add WM2200 module for Cragganmore
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c64xx')
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-crag6410-module.c | 15 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-crag6410.c | 5 |
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c index fc758b1a4ffa..4744c42ebdf5 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c @@ -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, diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c index 6d5b2c668825..7e355238abe8 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410.c @@ -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"), |