linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: k.kozlowski@samsung.com (Krzysztof Kozlowski)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] mmc: dw_mmc: exynos: Add the exynos3250 compatible
Date: Thu, 22 Oct 2015 12:51:05 +0900	[thread overview]
Message-ID: <56285D29.7030502@samsung.com> (raw)
In-Reply-To: <56284FCE.3000108@samsung.com>

On 22.10.2015 11:54, Jaehoon Chung wrote:
> Hi, Krzysztof.
> 
> On 10/22/2015 09:06 AM, Krzysztof Kozlowski wrote:
>> On 21.10.2015 15:39, Jaehoon Chung wrote:
>>> To check more exactly, add the exynos3250 compatible.
>>> Not use exynos5250 compatibility.
>>
>> Hi,
>>
>> I can't find any difference between old and new compatible. Maybe I am
>> missing something? Maybe there is a difference for these devices?
> 
> Sorry, I needs to add more explanation about changing compatible.
> Exynos3250 has more registers than exynos5250 in dwmmc IP.
> Now, we used dwmmc controller with exynos5250 compatible.
> Then some codes can't run in dw-mmc.c, if SoC is exynos3250.
> For example, there is the checking point in dw_mci_exynos_config_hs400().
> 
> static void dw_mci_exynos_config_hs400(struct dw_mci *host, u32 timing)
> {
>         struct dw_mci_exynos_priv_data *priv = host->priv;
>         u32 dqs, strobe;
> 
>         /*
>          * Not supported to configure register
>          * related to HS400
>          */
>         if (priv->ctrl_type < DW_MCI_TYPE_EXYNOS5420)
>                 return;
> 
>         dqs = priv->saved_dqs_en;
>         strobe = priv->saved_strobe_ctrl;
> 
> It can't use this feature with exynos5250 compatible.

Ahh, I see it now. I missed that context and commit message wasn't
explaining this real reason. This real reason - supporting HS400 or
other features not present on Exynos5250 - was not mentioned.

The new compatible make sense now... but I am wondering if instead just
"samsung,exynos5420-dw-mshc" should be used? I think it would give the
same result as your change and if new compatible is not required then it
will be better not to add it.

Best regards,
Krzysztof

> 
> Does it need to change the compatible from exynos5250 to exynos3250?
> 
> Beset Regards,
> Jaehoon Chung
> 
>>
>> Anyway if the code is the same then it should use exactly the same
>> compatible.
>>
>> Best regards,
>> Krzysztof
>>
>>>
>>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>>> ---
>>>  Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt | 2 ++
>>>  drivers/mmc/host/dw_mmc-exynos.c                         | 7 +++++++
>>>  2 files changed, 9 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
>>> index aad9844..cd22ac9 100644
>>> --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
>>> +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
>>> @@ -22,6 +22,8 @@ Required Properties:
>>>  	  specific extensions.
>>>  	- "samsung,exynos7-dw-mshc-smu": for controllers with Samsung Exynos7
>>>  	  specific extensions having an SMU.
>>> +	- "samsung,exynos3250-dw-mshc": for controllers with Samsung Exynos3250
>>> +	  specific extensions.
>>>  
>>>  * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface
>>>    unit (ciu) clock. This property is applicable only for Exynos5 SoC's and
>>> diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
>>> index 1e75309..1c96218 100644
>>> --- a/drivers/mmc/host/dw_mmc-exynos.c
>>> +++ b/drivers/mmc/host/dw_mmc-exynos.c
>>> @@ -32,6 +32,7 @@ enum dw_mci_exynos_type {
>>>  	DW_MCI_TYPE_EXYNOS5420_SMU,
>>>  	DW_MCI_TYPE_EXYNOS7,
>>>  	DW_MCI_TYPE_EXYNOS7_SMU,
>>> +	DW_MCI_TYPE_EXYNOS3250,
>>>  };
>>>  
>>>  /* Exynos implementation specific driver private data */
>>> @@ -73,6 +74,9 @@ static struct dw_mci_exynos_compatible {
>>>  	}, {
>>>  		.compatible	= "samsung,exynos7-dw-mshc-smu",
>>>  		.ctrl_type	= DW_MCI_TYPE_EXYNOS7_SMU,
>>> +	}, {
>>> +		.compatible	= "samsung,exynos3250-dw-mshc",
>>> +		.ctrl_type	= DW_MCI_TYPE_EXYNOS3250,
>>>  	},
>>>  };
>>>  
>>> @@ -467,6 +471,7 @@ static int dw_mci_exynos_execute_tuning(struct dw_mci_slot *slot)
>>>  	} while (start_smpl != smpl);
>>>  
>>>  	found = dw_mci_exynos_get_best_clksmpl(candiates);
>>> +
>>>  	if (found >= 0) {
>>>  		dw_mci_exynos_set_clksmpl(host, found);
>>>  		priv->tuned_sample = found;
>>> @@ -520,6 +525,8 @@ static const struct of_device_id dw_mci_exynos_match[] = {
>>>  			.data = &exynos_drv_data, },
>>>  	{ .compatible = "samsung,exynos7-dw-mshc-smu",
>>>  			.data = &exynos_drv_data, },
>>> +	{ .compatible = "samsung,exynos3250-dw-mshc",
>>> +			.data = &exynos_drv_data, },
>>>  	{},
>>>  };
>>>  MODULE_DEVICE_TABLE(of, dw_mci_exynos_match);
>>>
>>
>>
> 
> 

  reply	other threads:[~2015-10-22  3:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-21  6:39 [PATCH 1/2] mmc: dw_mmc: exynos: Add the exynos3250 compatible Jaehoon Chung
2015-10-21  6:39 ` [PATCH 2/2] ARM: dts: change the compatible from exynos5250 to exynos3250 Jaehoon Chung
2015-10-22  0:06 ` [PATCH 1/2] mmc: dw_mmc: exynos: Add the exynos3250 compatible Krzysztof Kozlowski
2015-10-22  2:54   ` Jaehoon Chung
2015-10-22  3:51     ` Krzysztof Kozlowski [this message]
2015-10-22  5:14       ` Jaehoon Chung
2015-10-22  5:57         ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56285D29.7030502@samsung.com \
    --to=k.kozlowski@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).