Skip to contentSkip to conversation

arm: samsung: support the second capability for samsung-soc

PATCH Superseded Jaehoon Chung 3 participants 4 messages Nov 3, 2011 – Nov 15, 2011

Subsystems (4)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 arm: samsung: support the second capability for samsung-soc

In mmc, there are capabilities and use the host_caps.
That capability is expressed with bit[0:31].
But now..already filled the bit[0:31]...
so we need to denote with the other capability field.
(if we want to use the cache, powerclass, etc for eMMC..this field is necessary)

---
Changelog v2:
- based-on samsung-soc's for-next tree.

 arch/arm/plat-samsung/include/plat/sdhci.h |    2 ++
 arch/arm/plat-samsung/platformdata.c       |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)
arch/arm/plat-samsung/include/plat/sdhci.h +2 -0
index dcff7dd..bf33ea1 100644
@@ -40,6 +40,7 @@ enum clk_types {
  * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI
  * @max_width: The maximum number of data bits supported.
  * @host_caps: Standard MMC host capabilities bit field.
+ * @host_caps2: The Second Standard MMC host capabilities bit field.
  * @cd_type: Type of Card Detection method (see cd_types enum above)
  * @clk_type: Type of clock divider method (see clk_types enum above)
  * @ext_cd_init: Initialize external card detect subsystem. Called on
@@ -63,6 +64,7 @@ enum clk_types {
 struct s3c_sdhci_platdata {
 	unsigned int	max_width;
 	unsigned int	host_caps;
+	unsigned int	host_caps2;
 	enum cd_types	cd_type;
 	enum clk_types	clk_type;
 
arch/arm/plat-samsung/platformdata.c +2 -0
index 4c9a207..5ffcf46 100644
@@ -54,4 +54,6 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd,
 		set->host_caps |= pd->host_caps;
 	if (pd->clk_type)
 		set->clk_type = pd->clk_type;
+	if (pd->host_caps2)
+		set->host_caps2 |= pd->host_caps2;
 }
#1 lore raw

Hi kgene

How about this patch? this patch must add the platform data.

Thanks,
Jaehoon Chung

2011/11/3 Jaehoon Chung <[email protected]>:

Quoted 52 lines

In mmc, there are capabilities and use the host_caps.
That capability is expressed with bit[0:31].
But now..already filled the bit[0:31]...
so we need to denote with the other capability field.
(if we want to use the cache, powerclass, etc for eMMC..this field is necessary)

---
Changelog v2:
  - based-on samsung-soc's for-next tree.

 arch/arm/plat-samsung/include/plat/sdhci.h |    2 ++ arch/arm/plat-samsung/platformdata.c       |    2 ++

 2 files changed, 4 insertions(+), 0 deletions(-)
arch/arm/plat-samsung/include/plat/sdhci.h +2 -0
index dcff7dd..bf33ea1 100644
@@ -40,6 +40,7 @@ enum clk_types {
  * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI
  * @max_width: The maximum number of data bits supported.
  * @host_caps: Standard MMC host capabilities bit field.
+ * @host_caps2: The Second Standard MMC host capabilities bit field.
  * @cd_type: Type of Card Detection method (see cd_types enum above)
  * @clk_type: Type of clock divider method (see clk_types enum above)
  * @ext_cd_init: Initialize external card detect subsystem. Called on
@@ -63,6 +64,7 @@ enum clk_types {
  struct s3c_sdhci_platdata {
        unsigned int    max_width;
        unsigned int    host_caps;
+       unsigned int    host_caps2;
        enum cd_types   cd_type;
        enum clk_types  clk_type;
 
arch/arm/plat-samsung/platformdata.c +2 -1
index 4c9a207..5ffcf46 100644
@@ -54,4 +54,6 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd,
                set->host_caps |= pd->host_caps;
        if (pd->clk_type)
                set->clk_type = pd->clk_type;
+       if (pd->host_caps2)
+               set->host_caps2 |= pd->host_caps2;
  }
--

To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

#2 lore raw
In reply to Jaehoon Chung
Quoted 6 lines · Jaehoon Chung

In mmc, there are capabilities and use the host_caps.
That capability is expressed with bit[0:31].
But now..already filled the bit[0:31]...
so we need to denote with the other capability field.
(if we want to use the cache, powerclass, etc for eMMC..this field is

necessary)

Quoted 1 line

Hi,

This description is better than previous.
However, I wonder this is _really_ used for eMMC at sdhci-s3c.c driver.

Thanks.

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

arch/arm/plat-samsung/platformdata.c void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata

Quoted 37 lines

---
Changelog v2:
- based-on samsung-soc's for-next tree.

 arch/arm/plat-samsung/include/plat/sdhci.h |    2 ++
 arch/arm/plat-samsung/platformdata.c       |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)
arch/arm/plat- renamed from arch/arm/plat-samsung/include/plat/sdhci.h +0 -0

samsung/include/plat/sdhci.h
index dcff7dd..bf33ea1 100644

arch/arm/plat-samsung/include/plat/sdhci.h +2 -0
@@ -40,6 +40,7 @@ enum clk_types {
  * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI
  * @max_width: The maximum number of data bits supported.
  * @host_caps: Standard MMC host capabilities bit field.
+ * @host_caps2: The Second Standard MMC host capabilities bit field.
  * @cd_type: Type of Card Detection method (see cd_types enum above)
  * @clk_type: Type of clock divider method (see clk_types enum above)
  * @ext_cd_init: Initialize external card detect subsystem. Called on
@@ -63,6 +64,7 @@ enum clk_types {
 struct s3c_sdhci_platdata {
 	unsigned int	max_width;
 	unsigned int	host_caps;
+	unsigned int	host_caps2;
 	enum cd_types	cd_type;
 	enum clk_types	clk_type;
 
arch/arm/plat- renamed from arch/arm/plat-samsung/platformdata.c +0 -0

samsung/platformdata.c
index 4c9a207..5ffcf46 100644

arch/arm/plat-samsung/platformdata.c +0 -0
@@ -54,4 +54,6 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata

*pd,

Quoted 6 lines
arch/arm/plat-samsung/platformdata.c +2 -0
 		set->host_caps |= pd->host_caps;
 	if (pd->clk_type)
 		set->clk_type = pd->clk_type;
+	if (pd->host_caps2)
+		set->host_caps2 |= pd->host_caps2;
 }
#3 lore raw

Hi Kukjin

Quoted 7 lines · Kukjin Kim
Quoted 6 lines · Jaehoon Chung

In mmc, there are capabilities and use the host_caps.
That capability is expressed with bit[0:31].
But now..already filled the bit[0:31]...
so we need to denote with the other capability field.
(if we want to use the cache, powerclass, etc for eMMC..this field is

Quoted 6 lines

necessary)

Quoted 1 line

Hi,

This description is better than previous.
However, I wonder this is _really_ used for eMMC at sdhci-s3c.c driver.

You means that samsung is using the other, right?
If that is reason, i think that we need to add the second capability in future. Because, Second capability also need for SD/SDIO interface.
(if need not to add the second capability,
how do you add more capabilities for SD/SDIO)

Best Regards,
Jaehoon Chung

Quoted 59 lines

Thanks.

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

arch/arm/plat-samsung/platformdata.c void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata

Quoted 37 lines

---
Changelog v2:
- based-on samsung-soc's for-next tree.

 arch/arm/plat-samsung/include/plat/sdhci.h |    2 ++
 arch/arm/plat-samsung/platformdata.c       |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)
arch/arm/plat- renamed from arch/arm/plat-samsung/include/plat/sdhci.h +0 -0

samsung/include/plat/sdhci.h
index dcff7dd..bf33ea1 100644

arch/arm/plat-samsung/include/plat/sdhci.h +2 -0
@@ -40,6 +40,7 @@ enum clk_types {
  * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI
  * @max_width: The maximum number of data bits supported.
  * @host_caps: Standard MMC host capabilities bit field.
+ * @host_caps2: The Second Standard MMC host capabilities bit field.
  * @cd_type: Type of Card Detection method (see cd_types enum above)
  * @clk_type: Type of clock divider method (see clk_types enum above)
  * @ext_cd_init: Initialize external card detect subsystem. Called on
@@ -63,6 +64,7 @@ enum clk_types {
 struct s3c_sdhci_platdata {
 	unsigned int	max_width;
 	unsigned int	host_caps;
+	unsigned int	host_caps2;
 	enum cd_types	cd_type;
 	enum clk_types	clk_type;
 
arch/arm/plat- renamed from arch/arm/plat-samsung/platformdata.c +0 -0

samsung/platformdata.c
index 4c9a207..5ffcf46 100644

arch/arm/plat-samsung/platformdata.c +0 -0
@@ -54,4 +54,6 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata

*pd,

arch/arm/plat-samsung/platformdata.c void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd, · line 59

Quoted 6 lines
arch/arm/plat-samsung/platformdata.c +2 -0
 		set->host_caps |= pd->host_caps;
 	if (pd->clk_type)
 		set->clk_type = pd->clk_type;
+	if (pd->host_caps2)
+		set->host_caps2 |= pd->host_caps2;
 }

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html