Cragganmore updates
Subsystems (5)
cover Cragganmore updates
The following changes since commit ddffeb8c4d0331609ef2581d84de4d763607bd37:
Linux 3.7-rc1 (2012-10-14 14:41:04 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc.git tags/crag6410
for you to fetch changes up to c8a825563eae03e657b191c2b4948f7613ae91b6:
ARM: S3C64XX: Add handset module to probed Glenfarclas modules (2012-10-16 14:09:01 +0900)
----------------------------------------------------------------
ARM: S3C64XX: Cragganmore updates
There's a bunch of things in here (some have been posted before I believe), the main thing is the update to support muliple board revisions but there's also some new modules added.
----------------------------------------------------------------
Mark Brown (8):
ARM: S3C64XX: Add more Glenfarclas module ID strings
ARM: S3C64XX: Update hookup for Arizona class devices
ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore
ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules
ARM: S3C64XX: Handle new Amrut modules on Cragganmore
ARM: S3C64XX: Add hookup for Deanston module on Cragganmore
ARM: S3C64XX: Add WM2200 module for Cragganmore
ARM: S3C64XX: Add handset module to probed Glenfarclas modules
arch/arm/mach-s3c64xx/mach-crag6410-module.c | 141 +++++++++++++++++++++----- arch/arm/mach-s3c64xx/mach-crag6410.c | 29 +++++- 2 files changed, 144 insertions(+), 26 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121017/62e1e0ed/attachment.sig>
PATCH 1/8 ARM: S3C64XX: Add more Glenfarclas module ID strings
No bindings for the devices yet, just names.
--- arch/arm/mach-s3c64xx/mach-crag6410-module.c | 6 ++++++ 1 file changed, 6 insertions(+)
arch/arm/mach-s3c64xx/mach-crag6410-module.c +6 -0
@@ -227,6 +227,12 @@ static __devinitdata const struct { { .id = 0x01, .name = "1250-EV1 Springbank" }, { .id = 0x02, .name = "1251-EV1 Jura" }, { .id = 0x03, .name = "1252-EV1 Glenlivet" }, + { .id = 0x06, .name = "WM8997-6721-CS96-EV1 Lapraoig" }, + { .id = 0x07, .name = "WM5110-6271 Deanston" }, + { .id = 0x08, .name = "WM8903-6102 Tamdhu" }, + { .id = 0x09, .name = "WM1811A-6305 Adelphi" }, + { .id = 0x0a, .name = "WM8996-6272 Blackadder" }, + { .id = 0x0b, .name = "WM8994-6235 Benromach" }, { .id = 0x11, .name = "6249-EV2 Glenfarclas", }, { .id = 0x14, .name = "6271-EV1 Lochnagar" }, { .id = 0x15, .name = "6320-EV1 Bells",
Signature · 1 line
1.7.10.4
PATCH 1/1 mfd: wm5102: Mark some more status registers as volatile
--- drivers/mfd/wm5102-tables.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/mfd/wm5102-tables.c +3 -0
@@ -1814,6 +1814,9 @@ static bool wm5102_volatile_register(struct device *dev, unsigned int reg)case ARIZONA_SOFTWARE_RESET :case ARIZONA_DEVICE_REVISION :case ARIZONA_OUTPUT_STATUS_1 : +case ARIZONA_RAW_OUTPUT_STATUS_1 : +case ARIZONA_SLIMBUS_RX_PORT_STATUS : +case ARIZONA_SLIMBUS_TX_PORT_STATUS :case ARIZONA_SAMPLE_RATE_1_STATUS :case ARIZONA_SAMPLE_RATE_2_STATUS :case ARIZONA_SAMPLE_RATE_3_STATUS :
Signature · 1 line
1.7.10.4
PATCH 2/8 ARM: S3C64XX: Update hookup for Arizona class devices
In reply to Mark BrownRenumber to use SPI /CS 1 instead of 0 to allow coexistance with DSPs. Also add additional supplies for the devices while we're at it.
--- arch/arm/mach-s3c64xx/mach-crag6410-module.c | 2 +- arch/arm/mach-s3c64xx/mach-crag6410.c | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-)
arch/arm/mach-s3c64xx/mach-crag6410-module.c +1 -1
@@ -202,7 +202,7 @@ static struct spi_board_info wm5102_spi_devs[] = { .modalias = "wm5102", .max_speed_hz = 10 * 1000 * 1000, .bus_num = 0, - .chip_select = 0, + .chip_select = 1, .mode = SPI_MODE_0, .irq =GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2,
arch/arm/mach-s3c64xx/mach-crag6410.c +22 -1
@@ -304,6 +304,13 @@ static struct regulator_consumer_supply wallvdd_consumers[] = {REGULATOR_SUPPLY ("SPKVDDL" ,"1-001a" ),REGULATOR_SUPPLY ("SPKVDDR" ,"1-001a" ), +REGULATOR_SUPPLY ("SPKVDDL" ,"spi0.1" ), +REGULATOR_SUPPLY ("SPKVDDR" ,"spi0.1" ), +REGULATOR_SUPPLY ("SPKVDDL" ,"wm5102-codec" ), +REGULATOR_SUPPLY ("SPKVDDR" ,"wm5102-codec" ), +REGULATOR_SUPPLY ("SPKVDDL" ,"wm5110-codec" ), +REGULATOR_SUPPLY ("SPKVDDR" ,"wm5110-codec" ), +REGULATOR_SUPPLY ("DC1VDD" ,"0-0034" ),REGULATOR_SUPPLY ("DC2VDD" ,"0-0034" ), REGULATOR_SUPPLY("DC3VDD", "0-0034"),
@@ -597,6 +604,7 @@ static struct s3c2410_platform_i2c i2c0_pdata = {static struct regulator_consumer_supply pvdd_1v2_consumers[]__devinitdata = {REGULATOR_SUPPLY ("DCVDD" ,"spi0.0" ),REGULATOR_SUPPLY ("AVDD" ,"spi0.0" ), +REGULATOR_SUPPLY ("AVDD" ,"spi0.1" ), };static struct regulator_init_data pvdd_1v2__devinitdata = {
@@ -621,6 +629,19 @@ 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 ("DBVDD1" ,"spi0.1" ), +REGULATOR_SUPPLY ("DBVDD2" ,"spi0.1" ), +REGULATOR_SUPPLY ("DBVDD3" ,"spi0.1" ), +REGULATOR_SUPPLY ("LDOVDD" ,"spi0.1" ), +REGULATOR_SUPPLY ("CPVDD" ,"spi0.1" ), + +REGULATOR_SUPPLY ("DBVDD2" ,"wm5102-codec" ), +REGULATOR_SUPPLY ("DBVDD3" ,"wm5102-codec" ), +REGULATOR_SUPPLY ("CPVDD" ,"wm5102-codec" ), + +REGULATOR_SUPPLY ("DBVDD2" ,"wm5110-codec" ), +REGULATOR_SUPPLY ("DBVDD3" ,"wm5110-codec" ), + REGULATOR_SUPPLY("CPVDD", "wm5110-codec"), }; static struct regulator_init_data pvdd_1v8 __devinitdata = {
@@ -810,7 +831,7 @@ static void __init crag6410_machine_init(void)i2c_register_board_info (1 , i2c_devs1,ARRAY_SIZE (i2c_devs1));samsung_keypad_set_platdata (&crag6410_keypad_data); -s3c64xx_spi0_set_platdata (NULL ,0 ,1 ); +s3c64xx_spi0_set_platdata (NULL ,0 ,2 );platform_add_devices (crag6410_devices,ARRAY_SIZE (crag6410_devices));
Signature · 1 line
1.7.10.4
PATCH 3/8 ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore
In reply to Mark BrownThis is required for operation of the WM0010 on the boards.
--- arch/arm/mach-s3c64xx/mach-crag6410-module.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-)
arch/arm/mach-s3c64xx/mach-crag6410-module.c +24 -1
@@ -20,6 +20,7 @@#include <linux/regulator/machine.h> +#include <sound/wm0010.h> #include <sound/wm5100.h> #include <sound/wm8996.h> #include <sound/wm8962.h>
@@ -33,14 +34,34 @@ static struct s3c64xx_spi_csinfo wm0010_spi_csinfo = { .line = S3C64XX_GPC(3), }; +static struct wm0010_pdata wm0010_pdata = { + .gpio_reset =S3C64XX_GPN (6 ), + .reset_active_high =1 ,/* Active high for Glenfarclas Rev 2 */ +}; +static struct spi_board_info wm1253_devs[] = { [0 ] = { .modalias ="wm0010" , + .max_speed_hz =26 *1000 *1000 , + .bus_num =0 , + .chip_select =0 , + .mode =SPI_MODE_0 , + .irq =S3C_EINT (5 ), + .controller_data = &wm0010_spi_csinfo, + .platform_data = &wm0010_pdata, + }, +}; + +static struct spi_board_info balblair_devs[] = { + [0 ] = { + .modalias ="wm0010" , + .max_speed_hz =26 *1000 *1000 , .bus_num =0 , .chip_select =0 , .mode =SPI_MODE_0 , .irq =S3C_EINT (5 ), .controller_data = &wm0010_spi_csinfo, + .platform_data = &wm0010_pdata, }, };
@@ -244,7 +265,9 @@ static __devinitdata const struct { .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) }, { .id = 0x32, .name = "XXXX-EV1 Caol Illa" }, { .id = 0x33, .name = "XXXX-EV1 Oban" }, - { .id = 0x34, .name = "WM0010-6320-CS42 Balblair" }, + { .id = 0x34, .name = "WM0010-6320-CS42 Balblair", + .spi_devs = balblair_devs, + .num_spi_devs = ARRAY_SIZE(balblair_devs) }, { .id = 0x39, .name = "1254-EV1 Dallas Dhu", .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) }, { .id = 0x3a, .name = "1259-EV1 Tobermory",
Signature · 1 line
1.7.10.4
PATCH 4/8 ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules
In reply to Mark BrownAllow us to supply different configurations depending on the board revision, catering for changes that are visible to software.
--- arch/arm/mach-s3c64xx/mach-crag6410-module.c | 52 +++++++++++++------------- 1 file changed, 27 insertions(+), 25 deletions(-)
arch/arm/mach-s3c64xx/mach-crag6410-module.c +27 -25
@@ -239,45 +239,46 @@ static const struct i2c_board_info wm6230_i2c_devs[] = {static __devinitdata const struct {u8 id; +u8 rev;const char *name;const struct i2c_board_info *i2c_devs;int num_i2c_devs;const struct spi_board_info *spi_devs;int num_spi_devs; } gf_mods[] = { - { .id =0x01 , .name ="1250-EV1 Springbank" }, - { .id =0x02 , .name ="1251-EV1 Jura" }, - { .id =0x03 , .name ="1252-EV1 Glenlivet" }, - { .id =0x06 , .name ="WM8997-6721-CS96-EV1 Lapraoig" }, - { .id =0x07 , .name ="WM5110-6271 Deanston" }, - { .id =0x08 , .name ="WM8903-6102 Tamdhu" }, - { .id =0x09 , .name ="WM1811A-6305 Adelphi" }, - { .id =0x0a , .name ="WM8996-6272 Blackadder" }, - { .id =0x0b , .name ="WM8994-6235 Benromach" }, - { .id =0x11 , .name ="6249-EV2 Glenfarclas" , }, - { .id =0x14 , .name ="6271-EV1 Lochnagar" }, - { .id =0x15 , .name ="6320-EV1 Bells" , + { .id =0x01 , .rev =0xff , .name ="1250-EV1 Springbank" }, + { .id =0x02 , .rev =0xff , .name ="1251-EV1 Jura" }, + { .id =0x03 , .rev =0xff , .name ="1252-EV1 Glenlivet" }, + { .id =0x06 , .rev =0xff , .name ="WM8997-6721-CS96-EV1 Lapraoig" }, + { .id =0x07 , .rev =0xff , .name ="WM5110-6271 Deanston" }, + { .id =0x08 , .rev =0xff , .name ="WM8903-6102 Tamdhu" }, + { .id =0x09 , .rev =0xff , .name ="WM1811A-6305 Adelphi" }, + { .id =0x0a , .rev =0xff , .name ="WM8996-6272 Blackadder" }, + { .id =0x0b , .rev =0xff , .name ="WM8994-6235 Benromach" }, + { .id =0x11 , .rev =0xff , .name ="6249-EV2 Glenfarclas" , }, + { .id =0x14 , .rev =0xff , .name ="6271-EV1 Lochnagar" }, + { .id =0x15 , .rev =0xff , .name ="6320-EV1 Bells" , .i2c_devs = wm6230_i2c_devs, .num_i2c_devs =ARRAY_SIZE (wm6230_i2c_devs) }, - { .id =0x21 , .name ="1275-EV1 Mortlach" }, - { .id =0x25 , .name ="1274-EV1 Glencadam" }, - { .id =0x31 , .name ="1253-EV1 Tomatin" , + { .id =0x21 , .rev =0xff , .name ="1275-EV1 Mortlach" }, + { .id =0x25 , .rev =0xff , .name ="1274-EV1 Glencadam" }, + { .id =0x31 , .rev =0xff , .name ="1253-EV1 Tomatin" , .spi_devs = wm1253_devs, .num_spi_devs =ARRAY_SIZE (wm1253_devs) }, - { .id =0x32 , .name ="XXXX-EV1 Caol Illa" }, - { .id =0x33 , .name ="XXXX-EV1 Oban" }, - { .id =0x34 , .name ="WM0010-6320-CS42 Balblair" , + { .id =0x32 , .rev =0xff , .name ="XXXX-EV1 Caol Illa" }, + { .id =0x33 , .rev =0xff , .name ="XXXX-EV1 Oban" }, + { .id =0x34 , .rev =0xff , .name ="WM0010-6320-CS42 Balblair" , .spi_devs = balblair_devs, .num_spi_devs =ARRAY_SIZE (balblair_devs) }, - { .id =0x39 , .name ="1254-EV1 Dallas Dhu" , + { .id =0x39 , .rev =0xff , .name ="1254-EV1 Dallas Dhu" , .i2c_devs = wm1254_devs, .num_i2c_devs =ARRAY_SIZE (wm1254_devs) }, - { .id =0x3a , .name ="1259-EV1 Tobermory" , + { .id =0x3a , .rev =0xff , .name ="1259-EV1 Tobermory" , .i2c_devs = wm1259_devs, .num_i2c_devs =ARRAY_SIZE (wm1259_devs) }, - { .id =0x3b , .name ="1255-EV1 Kilchoman" , + { .id =0x3b , .rev =0xff , .name ="1255-EV1 Kilchoman" , .i2c_devs = wm1255_devs, .num_i2c_devs =ARRAY_SIZE (wm1255_devs) }, - { .id =0x3c , .name ="1273-EV1 Longmorn" }, - { .id =0x3d , .name ="1277-EV1 Littlemill" , + { .id =0x3c , .rev =0xff , .name ="1273-EV1 Longmorn" }, + { .id =0x3d , .rev =0xff , .name ="1277-EV1 Littlemill" , .i2c_devs = wm1277_devs, .num_i2c_devs =ARRAY_SIZE (wm1277_devs) }, - { .id =0x3e , .name ="WM5102-6271-EV1-CS127 Amrut" , + { .id =0x3e , .rev =-1 , .name ="WM5102-6271-EV1-CS127 Amrut" , .spi_devs = wm5102_spi_devs, .num_spi_devs =ARRAY_SIZE (wm5102_spi_devs) }, };
@@ -296,7 +297,8 @@ static __devinit int wlf_gf_module_probe(struct i2c_client *i2c, id = (ret &0xfe ) >>2 ; rev = ret &0x3 ;for (i =0 ; i <ARRAY_SIZE (gf_mods); i++) -if (id == gf_mods[i].id) +if (id == gf_mods[i].id && (gf_mods[i].rev ==0xff || + rev == gf_mods[i].rev))break ;if (i <ARRAY_SIZE (gf_mods)) {
Signature · 1 line
1.7.10.4
PATCH 5/8 ARM: S3C64XX: Handle new Amrut modules on Cragganmore
In reply to Mark BrownThese use a different GPIO for the jack polarity selection.
--- arch/arm/mach-s3c64xx/mach-crag6410-module.c | 35 +++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-)
arch/arm/mach-s3c64xx/mach-crag6410-module.c +32 -3
@@ -187,12 +187,13 @@ static struct regulator_init_data wm8994_ldo2 = {static struct wm8994_pdata wm8994_pdata = { .gpio_base =CODEC_GPIO_BASE , + .micb2_delay =150 , .gpio_defaults = {0x3 ,/* IRQ out, active high, CMOS */ }, .ldo = { - { .init_data = &wm8994_ldo1, }, - { .init_data = &wm8994_ldo2, }, + { .enable =S3C64XX_GPN (6 ), .init_data = &wm8994_ldo1, }, + { .enable =S3C64XX_GPN (4 ), .init_data = &wm8994_ldo2, }, }, };
@@ -203,7 +204,7 @@ static const struct i2c_board_info wm1277_devs[] = { }, }; -static struct arizona_pdata wm5102_pdata = { +static struct arizona_pdata wm5102_reva_pdata = { .ldoena =S3C64XX_GPN (7 ), .gpio_base =CODEC_GPIO_BASE , .irq_active_high = true,
@@ -218,6 +219,31 @@ static struct s3c64xx_spi_csinfo wm5102_spi_csinfo = { .line = S3C64XX_GPN(5), }; +static struct spi_board_info wm5102_reva_spi_devs[] = { + [0 ] = { + .modalias ="wm5102" , + .max_speed_hz =10 *1000 *1000 , + .bus_num =0 , + .chip_select =1 , + .mode =SPI_MODE_0 , + .irq =GLENFARCLAS_PMIC_IRQ_BASE + +WM831X_IRQ_GPIO_2 , + .controller_data = &wm5102_spi_csinfo, + .platform_data = &wm5102_reva_pdata, + }, +}; + +static struct arizona_pdata wm5102_pdata = { + .ldoena =S3C64XX_GPN (7 ), + .gpio_base =CODEC_GPIO_BASE , + .irq_active_high = true, + .micd_pol_gpio =CODEC_GPIO_BASE +2 , + .gpio_defaults = { + [2 ] =0x10000 ,/* AIF3TXLRCLK */ + [3 ] =0x4 ,/* OPCLK */ + }, +}; +static struct spi_board_info wm5102_spi_devs[] = { [0 ] = { .modalias ="wm5102" ,
@@ -278,6 +304,9 @@ static __devinitdata const struct { { .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" }, { .id = 0x3d, .rev = 0xff, .name = "1277-EV1 Littlemill", .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, + { .id = 0x3e, .rev = 0, .name = "WM5102-6271-EV1-CS127 Amrut", + .spi_devs = wm5102_reva_spi_devs, + .num_spi_devs = ARRAY_SIZE(wm5102_reva_spi_devs) }, { .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut", .spi_devs = wm5102_spi_devs, .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) },
Signature · 1 line
1.7.10.4
PATCH 6/8 ARM: S3C64XX: Add hookup for Deanston module on Cragganmore
In reply to Mark BrownThis carries a WM5110, the system integration for which is essentially the same as the rev A WM5102 module.
--- arch/arm/mach-s3c64xx/mach-crag6410-module.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-)
arch/arm/mach-s3c64xx/mach-crag6410-module.c +20 -4
@@ -215,7 +215,7 @@ static struct arizona_pdata wm5102_reva_pdata = { }, }; -static struct s3c64xx_spi_csinfo wm5102_spi_csinfo = { +static struct s3c64xx_spi_csinfo codec_spi_csinfo = { .line =S3C64XX_GPN (5 ), };
@@ -228,7 +228,7 @@ static struct spi_board_info wm5102_reva_spi_devs[] = { .mode = SPI_MODE_0, .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2, - .controller_data = &wm5102_spi_csinfo, + .controller_data = &codec_spi_csinfo, .platform_data = &wm5102_reva_pdata, }, };
@@ -253,11 +253,25 @@ static struct spi_board_info wm5102_spi_devs[] = { .mode = SPI_MODE_0, .irq =GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2, - .controller_data = &wm5102_spi_csinfo, + .controller_data = &codec_spi_csinfo, .platform_data = &wm5102_pdata, }, }; +static struct spi_board_info wm5110_spi_devs[] = { + [0 ] = { + .modalias ="wm5110" , + .max_speed_hz =10 *1000 *1000 , + .bus_num =0 , + .chip_select =1 , + .mode =SPI_MODE_0 , + .irq =GLENFARCLAS_PMIC_IRQ_BASE + +WM831X_IRQ_GPIO_2 , + .controller_data = &codec_spi_csinfo, + .platform_data = &wm5102_reva_pdata, + }, +}; +static const struct i2c_board_info wm6230_i2c_devs[] = { {I2C_BOARD_INFO ("wm9081" ,0x6c ), .platform_data = &wm9081_pdata, },
@@ -276,7 +290,9 @@ static __devinitdata const struct { { .id = 0x02, .rev = 0xff, .name = "1251-EV1 Jura" }, { .id = 0x03, .rev = 0xff, .name = "1252-EV1 Glenlivet" }, { .id = 0x06, .rev = 0xff, .name = "WM8997-6721-CS96-EV1 Lapraoig" }, - { .id = 0x07, .rev = 0xff, .name = "WM5110-6271 Deanston" }, + { .id = 0x07, .rev = 0xff, .name = "WM5110-6271 Deanston", + .spi_devs = wm5110_spi_devs, + .num_spi_devs = ARRAY_SIZE(wm5110_spi_devs) }, { .id = 0x08, .rev = 0xff, .name = "WM8903-6102 Tamdhu" }, { .id = 0x09, .rev = 0xff, .name = "WM1811A-6305 Adelphi" }, { .id = 0x0a, .rev = 0xff, .name = "WM8996-6272 Blackadder" },
Signature · 1 line
1.7.10.4
PATCH 7/8 ARM: S3C64XX: Add WM2200 module for Cragganmore
In reply to Mark Brown--- arch/arm/mach-s3c64xx/mach-crag6410-module.c | 15 +++++++++++++++ arch/arm/mach-s3c64xx/mach-crag6410.c | 5 +++++ 2 files changed, 20 insertions(+)
arch/arm/mach-s3c64xx/mach-crag6410-module.c +15 -0
@@ -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,
arch/arm/mach-s3c64xx/mach-crag6410.c +5 -0
@@ -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"),
Signature · 1 line
1.7.10.4
PATCH 8/8 ARM: S3C64XX: Add handset module to probed Glenfarclas modules
In reply to Mark Brown--- arch/arm/mach-s3c64xx/mach-crag6410.c | 1 + 1 file changed, 1 insertion(+)
arch/arm/mach-s3c64xx/mach-crag6410.c +1 -0
@@ -711,6 +711,7 @@ static struct i2c_board_info i2c_devs1[] __devinitdata = { .irq = S3C_EINT(0), .platform_data = &glenfarclas_pmic_pdata }, + { I2C_BOARD_INFO("wlf-gf-module", 0x20) }, { I2C_BOARD_INFO("wlf-gf-module", 0x22) }, { I2C_BOARD_INFO("wlf-gf-module", 0x24) }, { I2C_BOARD_INFO("wlf-gf-module", 0x25) },
Signature · 1 line
1.7.10.4
cover Cragganmore updates
In reply to Mark BrownQuoted 36 lines · Mark Brown
The following changes since commit
ddffeb8c4d0331609ef2581d84de4d763607bd37:Linux 3.7-rc1 (2012-10-14 14:41:04 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc.git
tags/crag6410for you to fetch changes up to
c8a825563eae03e657b191c2b4948f7613ae91b6:ARM: S3C64XX: Add handset module to probed Glenfarclas modules (2012-10-
16 14:09:01 +0900)----------------------------------------------------------------
ARM: S3C64XX: Cragganmore updatesThere's a bunch of things in here (some have been posted before I believe), the main thing is the update to support muliple board revisions but there's also some new modules added.
----------------------------------------------------------------
Mark Brown (8):
ARM: S3C64XX: Add more Glenfarclas module ID strings
ARM: S3C64XX: Update hookup for Arizona class devices
ARM: S3C64XX: Provide platform data for Tomatin/Balblair on
Cragganmore
ARM: S3C64XX: Handle revision-specific differences in Cragganmore
modules
ARM: S3C64XX: Handle new Amrut modules on Cragganmore
ARM: S3C64XX: Add hookup for Deanston module on Cragganmore
ARM: S3C64XX: Add WM2200 module for Cragganmore
ARM: S3C64XX: Add handset module to probed Glenfarclas modules
Quoted 4 lines
arch/arm/mach-s3c64xx/mach-crag6410-module.c | 141 +++++++++++++++++++++----- arch/arm/mach-s3c64xx/mach-crag6410.c | 29 +++++- 2 files changed, 144 insertions(+), 26 deletions(-)
Looks OK to me, applied this whole series.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.