All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] Cragganmore updates
@ 2012-10-17  7:38 Mark Brown
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
  2012-10-17  9:48 ` [PATCH 0/8] Cragganmore updates Kukjin Kim
  0 siblings, 2 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

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>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings
  2012-10-17  7:38 [PATCH 0/8] Cragganmore updates Mark Brown
@ 2012-10-17  7:38 ` Mark Brown
  2012-10-17  7:38   ` [PATCH] mfd: wm5102: Mark some more status registers as volatile Mark Brown
                     ` (7 more replies)
  2012-10-17  9:48 ` [PATCH 0/8] Cragganmore updates Kukjin Kim
  1 sibling, 8 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

No bindings for the devices yet, just names.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 4e3fe57..3364fab 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -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",
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH] mfd: wm5102: Mark some more status registers as volatile
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  2012-10-17  7:38   ` [PATCH 2/8] ARM: S3C64XX: Update hookup for Arizona class devices Mark Brown
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 drivers/mfd/wm5102-tables.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c
index 14490cc..e1dc022 100644
--- a/drivers/mfd/wm5102-tables.c
+++ b/drivers/mfd/wm5102-tables.c
@@ -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:
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/8] ARM: S3C64XX: Update hookup for Arizona class devices
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
  2012-10-17  7:38   ` [PATCH] mfd: wm5102: Mark some more status registers as volatile Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  2012-10-17  7:38   ` [PATCH 3/8] ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore Mark Brown
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Renumber 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.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |    2 +-
 arch/arm/mach-s3c64xx/mach-crag6410.c        |   23 ++++++++++++++++++++++-
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 3364fab..89f5e7d 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -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,
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index 13b7eaa..6d5b2c6 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -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));
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/8] ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
  2012-10-17  7:38   ` [PATCH] mfd: wm5102: Mark some more status registers as volatile Mark Brown
  2012-10-17  7:38   ` [PATCH 2/8] ARM: S3C64XX: Update hookup for Arizona class devices Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  2012-10-17  7:38   ` [PATCH 4/8] ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules Mark Brown
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

This is required for operation of the WM0010 on the boards.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |   25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 89f5e7d..32b82c0 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -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",
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/8] ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
                     ` (2 preceding siblings ...)
  2012-10-17  7:38   ` [PATCH 3/8] ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  2012-10-17  7:38   ` [PATCH 5/8] ARM: S3C64XX: Handle new Amrut modules on Cragganmore Mark Brown
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Allow us to supply different configurations depending on the board
revision, catering for changes that are visible to software.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |   52 +++++++++++++-------------
 1 file changed, 27 insertions(+), 25 deletions(-)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 32b82c0..15e0c13 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -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)) {
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 5/8] ARM: S3C64XX: Handle new Amrut modules on Cragganmore
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
                     ` (3 preceding siblings ...)
  2012-10-17  7:38   ` [PATCH 4/8] ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  2012-10-17  7:38   ` [PATCH 6/8] ARM: S3C64XX: Add hookup for Deanston module " Mark Brown
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

These use a different GPIO for the jack polarity selection.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |   35 +++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 15e0c13..a6c156d 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -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) },
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 6/8] ARM: S3C64XX: Add hookup for Deanston module on Cragganmore
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
                     ` (4 preceding siblings ...)
  2012-10-17  7:38   ` [PATCH 5/8] ARM: S3C64XX: Handle new Amrut modules on Cragganmore Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  2012-10-17  7:38   ` [PATCH 7/8] ARM: S3C64XX: Add WM2200 module for Cragganmore Mark Brown
  2012-10-17  7:38   ` [PATCH 8/8] ARM: S3C64XX: Add handset module to probed Glenfarclas modules Mark Brown
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

This carries a WM5110, the system integration for which is essentially
the same as the rev A WM5102 module.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |   24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index a6c156d..fc758b1 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -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" },
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 7/8] ARM: S3C64XX: Add WM2200 module for Cragganmore
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
                     ` (5 preceding siblings ...)
  2012-10-17  7:38   ` [PATCH 6/8] ARM: S3C64XX: Add hookup for Deanston module " Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  2012-10-17  7:38   ` [PATCH 8/8] ARM: S3C64XX: Add handset module to probed Glenfarclas modules Mark Brown
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |   15 +++++++++++++++
 arch/arm/mach-s3c64xx/mach-crag6410.c        |    5 +++++
 2 files changed, 20 insertions(+)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index fc758b1..4744c42 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 6d5b2c6..7e35523 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"),
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 8/8] ARM: S3C64XX: Add handset module to probed Glenfarclas modules
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
                     ` (6 preceding siblings ...)
  2012-10-17  7:38   ` [PATCH 7/8] ARM: S3C64XX: Add WM2200 module for Cragganmore Mark Brown
@ 2012-10-17  7:38   ` Mark Brown
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2012-10-17  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-s3c64xx/mach-crag6410.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index 7e35523..2abe95d 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -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) },
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 0/8] Cragganmore updates
  2012-10-17  7:38 [PATCH 0/8] Cragganmore updates Mark Brown
  2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
@ 2012-10-17  9:48 ` Kukjin Kim
  1 sibling, 0 replies; 11+ messages in thread
From: Kukjin Kim @ 2012-10-17  9:48 UTC (permalink / raw)
  To: linux-arm-kernel

Mark Brown wrote:
> 
> 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(-)

Looks OK to me, applied this whole series.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-10-17  9:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-17  7:38 [PATCH 0/8] Cragganmore updates Mark Brown
2012-10-17  7:38 ` [PATCH 1/8] ARM: S3C64XX: Add more Glenfarclas module ID strings Mark Brown
2012-10-17  7:38   ` [PATCH] mfd: wm5102: Mark some more status registers as volatile Mark Brown
2012-10-17  7:38   ` [PATCH 2/8] ARM: S3C64XX: Update hookup for Arizona class devices Mark Brown
2012-10-17  7:38   ` [PATCH 3/8] ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore Mark Brown
2012-10-17  7:38   ` [PATCH 4/8] ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules Mark Brown
2012-10-17  7:38   ` [PATCH 5/8] ARM: S3C64XX: Handle new Amrut modules on Cragganmore Mark Brown
2012-10-17  7:38   ` [PATCH 6/8] ARM: S3C64XX: Add hookup for Deanston module " Mark Brown
2012-10-17  7:38   ` [PATCH 7/8] ARM: S3C64XX: Add WM2200 module for Cragganmore Mark Brown
2012-10-17  7:38   ` [PATCH 8/8] ARM: S3C64XX: Add handset module to probed Glenfarclas modules Mark Brown
2012-10-17  9:48 ` [PATCH 0/8] Cragganmore updates Kukjin Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.