Skip to contentSkip to conversation

ARM: Exynos4: NURI and UniversalC210 fixes for v3.4-rc2

PATCH New Marek Szyprowski 2 participants 9 messages Apr 6, 2012 – Apr 16, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover ARM: Exynos4: NURI and UniversalC210 fixes for v3.4-rc2

Hi Kukjin,

I've just checked the support for Samsung NURI and UniversalC210 boards in v3.4-rc1 and found some issues. The attached patches fixes the leftovers from missing s3c-sdhci driver changes, fixes division by zero caused by missing initial value for xusbxti clock and removes broken optional configuration entries for touch screen driver. It would be great if the attached patches will get merged to v3.4-rcX series.

Best regards,
Marek Szyprowski

Patch summary:

Marek Szyprowski (4):
ARM: Exynos4: fix SDHCI support on NURI & UniversalC210 boards
ARM: Exynos4: fix regulator name for NURI board
ARM: Exynos4: set fix xusbxti clock for NURI and Universal210 boards
ARM: Exynos4: Remove broken config values for touchscren for NURI
board

 arch/arm/mach-exynos/mach-nuri.c           |   51 +++-------------------------
 arch/arm/mach-exynos/mach-universal_c210.c |    5 ++-
 2 files changed, 9 insertions(+), 47 deletions(-)
Signature · 1 line
1.7.1.569.g6f426
#1 lore raw

PATCH 1/4 ARM: Exynos4: fix SDHCI support on NURI & UniversalC210 boards

Some patches for s3c-sdhci driver which changed support for Exynos4 SoC have not been merged to v3.4-rc1, while some of their followups have been applied to mach-universal.c and mach-nuri.c. This patch reverts that changes and add missing MMC_CAP2_BROKEN_VOLTAGE capability which got lost together with s3c-sdhci changes.

---
 arch/arm/mach-exynos/mach-nuri.c           |    5 +++--
 arch/arm/mach-exynos/mach-universal_c210.c |    3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)
arch/arm/mach-exynos/mach-nuri.c +3 -2
index b3982c8..b3966f0 100644
@@ -112,12 +112,13 @@ static struct s3c_sdhci_platdata nuri_hsmmc0_data __initdata = {
 	.host_caps		= (MMC_CAP_8_BIT_DATA | MMC_CAP_4_BIT_DATA |
 				MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED |
 				MMC_CAP_ERASE),
+	.host_caps2		= MMC_CAP2_BROKEN_VOLTAGE,
 	.cd_type		= S3C_SDHCI_CD_PERMANENT,
 	.clk_type		= S3C_SDHCI_CLK_DIV_EXTERNAL,
 };
 
 static struct regulator_consumer_supply emmc_supplies[] = {
-	REGULATOR_SUPPLY("vmmc", "exynos4-sdhci.0"),
+	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
 	REGULATOR_SUPPLY("vmmc", "dw_mmc"),
 };
 
@@ -417,7 +418,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo12_[] = {
 	REGULATOR_SUPPLY("vddio", "6-003c"), /* HDC802 */
 };
 static struct regulator_consumer_supply __initdata max8997_ldo13_[] = {
-	REGULATOR_SUPPLY("vmmc", "exynos4-sdhci.2"), /* TFLASH */
+	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.2"), /* TFLASH */
 };
 static struct regulator_consumer_supply __initdata max8997_ldo14_[] = {
 	REGULATOR_SUPPLY("inmotor", "max8997-haptic"),
arch/arm/mach-exynos/mach-universal_c210.c +2 -1
index 6bb9dbd..e10c87f 100644
@@ -746,12 +746,13 @@ static struct s3c_sdhci_platdata universal_hsmmc0_data __initdata = {
 	.max_width		= 8,
 	.host_caps		= (MMC_CAP_8_BIT_DATA | MMC_CAP_4_BIT_DATA |
 				MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),
+	.host_caps2		= MMC_CAP2_BROKEN_VOLTAGE,
 	.cd_type		= S3C_SDHCI_CD_PERMANENT,
 	.clk_type		= S3C_SDHCI_CLK_DIV_EXTERNAL,
 };
 
 static struct regulator_consumer_supply mmc0_supplies[] = {
-	REGULATOR_SUPPLY("vmmc", "exynos4-sdhci.0"),
+	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
 };
 
 static struct regulator_init_data mmc0_fixed_voltage_init_data = {
Signature · 1 line
1.7.1.569.g6f426
#2 lore raw

PATCH 2/4 ARM: Exynos4: fix regulator name for NURI board

In reply to Marek Szyprowski

Regulator names should not contain slash to avoid issues with debugfs.

---
 arch/arm/mach-exynos/mach-nuri.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-exynos/mach-nuri.c +1 -1
index b3966f0..88a3b5c3 100644
@@ -572,7 +572,7 @@ static struct regulator_init_data __initdata max8997_ldo7_data = {
 
 static struct regulator_init_data __initdata max8997_ldo8_data = {
 	.constraints	= {
-		.name		= "VUSB/VDAC_3.3V_C210",
+		.name		= "VUSB+VDAC_3.3V_C210",
 		.min_uV		= 3300000,
 		.max_uV		= 3300000,
 		.valid_ops_mask	= REGULATOR_CHANGE_STATUS,
Signature · 1 line
1.7.1.569.g6f426
#3 lore raw

PATCH 3/4 ARM: Exynos4: set fix xusbxti clock for NURI and Universal210 boards

In reply to Marek Szyprowski

On some versions of NURI and UniversalC210 boards, camera clocks are routed directly to xusbxti clock source. This patch sets the correct value for this clock to let usb and camera sensors to work correctly and avoid division by zero on driver's probe.

---
 arch/arm/mach-exynos/mach-nuri.c           |    2 +-
 arch/arm/mach-exynos/mach-universal_c210.c |    2 ++
 2 files changed, 3 insertions(+), 1 deletions(-)
arch/arm/mach-exynos/mach-nuri.c +1 -1
index 88a3b5c3..d55298d 100644
@@ -1348,6 +1348,7 @@ static struct platform_device *nuri_devices[] __initdata = {
 
 static void __init nuri_map_io(void)
 {
+	clk_xusbxti.rate = 24000000;
 	exynos_init_io(NULL, 0);
 	s3c24xx_init_clocks(24000000);
 	s3c24xx_init_uarts(nuri_uartcfgs, ARRAY_SIZE(nuri_uartcfgs));
@@ -1380,7 +1381,6 @@ static void __init nuri_machine_init(void)
 	nuri_camera_init();
 
 	nuri_ehci_init();
-	clk_xusbxti.rate = 24000000;
 
 	/* Last */
 	platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
arch/arm/mach-exynos/mach-universal_c210.c +2 -0
index e10c87f..a6f13ce 100644
@@ -29,6 +29,7 @@
 #include <asm/mach-types.h>
 
 #include <plat/regs-serial.h>
+#include <plat/clock.h>
 #include <plat/cpu.h>
 #include <plat/devs.h>
 #include <plat/iic.h>
@@ -1058,6 +1059,7 @@ static struct platform_device *universal_devices[] __initdata = {
 
 static void __init universal_map_io(void)
 {
+	clk_xusbxti.rate = 24000000;
 	exynos_init_io(NULL, 0);
 	s3c24xx_init_clocks(24000000);
 	s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
Signature · 1 line
1.7.1.569.g6f426
#4 lore raw

PATCH 4/4 ARM: Exynos4: Remove broken config values for touchscren for NURI board

In reply to Marek Szyprowski

The atmel_mxt_ts driver has been extended to support more 'configuration objects' in commit 81c88a711 ("Input: atmel_mxt_ts - update object list"), what broke the configuration values for NURI board. These values are optional anyway, so remove them to get the driver working correctly.

---
 arch/arm/mach-exynos/mach-nuri.c |   42 --------------------------------------
 1 files changed, 0 insertions(+), 42 deletions(-)
arch/arm/mach-exynos/mach-nuri.c +0 -42
index d55298d..3009a86 100644
@@ -308,49 +308,7 @@ static struct i2c_board_info i2c1_devs[] __initdata = {
 };
 
 /* TSP */
-static u8 mxt_init_vals[] = {
-	/* MXT_GEN_COMMAND(6) */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	/* MXT_GEN_POWER(7) */
-	0x20, 0xff, 0x32,
-	/* MXT_GEN_ACQUIRE(8) */
-	0x0a, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x23,
-	/* MXT_TOUCH_MULTI(9) */
-	0x00, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x02, 0x00,
-	0x00, 0x01, 0x01, 0x0e, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00,
-	/* MXT_TOUCH_KEYARRAY(15) */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
-	0x00,
-	/* MXT_SPT_GPIOPWM(19) */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	/* MXT_PROCI_GRIPFACE(20) */
-	0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x28, 0x04,
-	0x0f, 0x0a,
-	/* MXT_PROCG_NOISE(22) */
-	0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x23, 0x00,
-	0x00, 0x05, 0x0f, 0x19, 0x23, 0x2d, 0x03,
-	/* MXT_TOUCH_PROXIMITY(23) */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00,
-	/* MXT_PROCI_ONETOUCH(24) */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	/* MXT_SPT_SELFTEST(25) */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00,
-	/* MXT_PROCI_TWOTOUCH(27) */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	/* MXT_SPT_CTECONFIG(28) */
-	0x00, 0x00, 0x02, 0x08, 0x10, 0x00,
-};
-
 static struct mxt_platform_data mxt_platform_data = {
-	.config			= mxt_init_vals,
-	.config_length		= ARRAY_SIZE(mxt_init_vals),
-
 	.x_line			= 18,
 	.y_line			= 11,
 	.x_size			= 1024,
Signature · 1 line
1.7.1.569.g6f426
#5 lore raw

cover ARM: Exynos4: NURI and UniversalC210 fixes for v3.4-rc2

In reply to Marek Szyprowski
Quoted 2 lines · Marek Szyprowski

Hi Kukjin,

Hi Marek,

Quoted 7 lines

I've just checked the support for Samsung NURI and UniversalC210 boards in v3.4-rc1 and found some issues. The attached patches fixes the leftovers from missing s3c-sdhci driver changes, fixes division by zero caused by missing initial value for xusbxti clock and removes broken optional configuration entries for touch screen driver. It would be great if the attached patches will get merged to v3.4-rcX series.

OK, looks good to me, applied.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

Quoted 17 lines

Best regards,
Marek Szyprowski

Patch summary:

Marek Szyprowski (4):
ARM: Exynos4: fix SDHCI support on NURI& UniversalC210 boards
ARM: Exynos4: fix regulator name for NURI board
ARM: Exynos4: set fix xusbxti clock for NURI and Universal210 boards
ARM: Exynos4: Remove broken config values for touchscren for NURI
board

  arch/arm/mach-exynos/mach-nuri.c           |   51 +++-------------------------
  arch/arm/mach-exynos/mach-universal_c210.c |    5 ++-
  2 files changed, 9 insertions(+), 47 deletions(-)
#6 lore raw

cover ARM: Exynos4: NURI and UniversalC210 fixes for v3.4-rc2

Hi Kukjin,

Quoted 8 lines · Kukjin Kim
Quoted 7 lines

I've just checked the support for Samsung NURI and UniversalC210 boards in v3.4-rc1 and found some issues. The attached patches fixes the leftovers from missing s3c-sdhci driver changes, fixes division by zero caused by missing initial value for xusbxti clock and removes broken optional configuration entries for touch screen driver. It would be great if the attached patches will get merged to v3.4-rcX series.

OK, looks good to me, applied.

Huh, it doesn't look that easy...

I've just noticed that v3.4-rc2 comes with missing s3c-sdhci driver patches (see commit 1ddca05743525), so you need a bit more work on your fixes branch to get sdhci working again. Please restore patches 'ARM: EXYNOS: use 'exynos4-sdhci' as device name for sdhci controllers' and 'ARM: SAMSUNG:
remove all uses of clk_type member in sdhci platform data' as well as the other patches which fixes issues after changing the name of sdhci platform devices from s3c-sdhci to exynos4-sdhci. My patch 'ARM: EXYNOS: fix SDHCI support on NURI and UniversalC210 boards' should be dropped then.

If you have any problems, let me know, I have them already collected and rebased onto v3.4-rc2, so I can resend an updated version.

Best regards

Signature · 2 lines
Marek Szyprowski
Samsung Poland R&D Center
#7 lore raw

cover ARM: Exynos4: NURI and UniversalC210 fixes for v3.4-rc2

Quoted 2 lines · Marek Szyprowski

Hi Kukjin,

Hi Marek :)

Quoted 22 lines · Kukjin Kim
Quoted 9 lines
Quoted 8 lines

I've just checked the support for Samsung NURI and UniversalC210 boards in v3.4-rc1 and found some issues. The attached patches fixes the leftovers from missing s3c-sdhci driver changes, fixes division by zero caused by missing initial value for xusbxti clock and removes broken optional configuration entries for touch screen driver. It would be great if the attached patches will get merged to v3.4-rcX series.

OK, looks good to me, applied.

Huh, it doesn't look that easy...

I've just noticed that v3.4-rc2 comes with missing s3c-sdhci driver patches (see commit 1ddca05743525), so you need a bit more work on your fixes branch to get sdhci working again. Please restore patches 'ARM: EXYNOS: use 'exynos4-sdhci' as device name for sdhci controllers' and 'ARM: SAMSUNG:
remove all uses of clk_type member in sdhci platform data' as well as the other patches which fixes issues after changing the name of sdhci platform devices from s3c-sdhci to exynos4-sdhci. My patch 'ARM: EXYNOS: fix SDHCI support on NURI and UniversalC210 boards' should be dropped then.

Quoted 3 lines

If you have any problems, let me know, I have them already collected and rebased onto v3.4-rc2, so I can resend an updated version.

Thanks for your reminder. I re-worked Thomas' patches you said for it and you can check it in my -next and -fixes-3 and I'm looking at that.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.

#8 lore raw

cover ARM: Exynos4: NURI and UniversalC210 fixes for v3.4-rc2

Hi Kukjin,

Quoted 20 lines · Kukjin Kim
Quoted 20 lines
Quoted 8 lines
Quoted 7 lines

I've just checked the support for Samsung NURI and UniversalC210 boards in v3.4-rc1 and found some issues. The attached patches fixes the leftovers from missing s3c-sdhci driver changes, fixes division by zero caused by missing initial value for xusbxti clock and removes broken optional configuration entries for touch screen driver. It would be great if the attached patches will get merged to v3.4-rcX series.

OK, looks good to me, applied.

Huh, it doesn't look that easy...

I've just noticed that v3.4-rc2 comes with missing s3c-sdhci driver patches (see commit 1ddca05743525), so you need a bit more work on your fixes branch to get sdhci working again. Please restore patches 'ARM: EXYNOS: use 'exynos4-sdhci' as device name for sdhci controllers' and 'ARM: SAMSUNG:
remove all uses of clk_type member in sdhci platform data' as well as the other patches which fixes issues after changing the name of sdhci platform devices from s3c-sdhci to exynos4-sdhci. My patch 'ARM: EXYNOS: fix SDHCI support on NURI and UniversalC210 boards' should be dropped then.

Quoted 5 lines
Quoted 2 lines

If you have any problems, let me know, I have them already collected and rebased onto v3.4-rc2, so I can resend an updated version.

Thanks for your reminder. I re-worked Thomas' patches you said for it and you can check it in my -next and -fixes-3 and I'm looking at that.

Thanks, now it is much better.

The only missing thing are host_caps2 entry updates, which I've posted a few minutes ago in '[PATCH for v3.4-rc3] ARM: Samsung: add missing MMC_CAP2_BROKEN_VOLTAGE capability' mail.

I would also like to remind that UniversalC210 board requires 'ARM: Exynos4:
use s5p-timer for UniversalC210 board' bugfix/workaround to work with recent kernels. Any chance to get this patch merged? It has been (re)posted many times since v3.2-rc1 if I remember correctly...

Best regards

Signature · 2 lines
Marek Szyprowski
Samsung Poland R&D Center