All of lore.kernel.org
 help / color / mirror / Atom feed
From: zhangfei <zhangfei.gao@linaro.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>
Cc: 'Kevin Hilman' <khilman@linaro.org>,
	'Mike Turquette' <mturquette@linaro.org>,
	patches@linaro.org, Seungwon Jeon <tgih.jun@samsung.com>,
	linux-mmc@vger.kernel.org,
	'Jaehoon Chung' <jh80.chung@samsung.com>,
	'Sachin Kamat' <sachin.kamat@linaro.org>,
	'Chris Ball' <cjb@laptop.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] mmc: dw_mmc: fix dw_mci_get_cd
Date: Thu, 16 Jan 2014 10:10:05 +0800	[thread overview]
Message-ID: <52D73F7D.60302@linaro.org> (raw)
In-Reply-To: <20140115162210.GP15937@n2100.arm.linux.org.uk>



On 01/16/2014 12:22 AM, Russell King - ARM Linux wrote:

> Well, having this in the gpio level as well as in subsystems like MMC
> is going to create confusion - and from the results of this patch _IS_
> causing confusion.  You've just encouraged one implementation to have
> things setup such that mmc_gpio_get_cd() returns false when a card is
> inserted, rather than it correctly returning true.
>
> The issue here is that we'll potentially now end up with _three_
> inversions.  One in the GPIO layers.  One in mmc_gpio_get_cd(), and
> another in every driver which uses the GPIO layer inversion.  This
> is hardly the right approach as it leads to multiple points where
> confusion about the inverted status can occur.
>

Thanks Russell, make sense.

Double checked with the hardware guy, cd pin is high when card inserted 
on the board.
The cd pin is originally connected to vout via a resister, and 
internally short to gound, which is broken when card inserted.

Then Optional properties "caps2-mmc-cd-active-high" has to be added.

--- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt

+* caps2-mmc-cd-active-high: cd pin is high when card present

@@ -2411,6 +2414,9 @@ static struct dw_mci_board *dw_mci_parse_dt(struct 
dw_mci *host)
         if (of_find_property(np, "caps2-mmc-hs200-1_2v", NULL))
                 pdata->caps2 |= MMC_CAP2_HS200_1_2V_SDR;

+       if (of_find_property(np, "caps2-mmc-cd-active-high", NULL))
+               pdata->caps2 |= MMC_CAP2_CD_ACTIVE_HIGH;
+

Thanks

WARNING: multiple messages have this Message-ID (diff)
From: zhangfei.gao@linaro.org (zhangfei)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mmc: dw_mmc: fix dw_mci_get_cd
Date: Thu, 16 Jan 2014 10:10:05 +0800	[thread overview]
Message-ID: <52D73F7D.60302@linaro.org> (raw)
In-Reply-To: <20140115162210.GP15937@n2100.arm.linux.org.uk>



On 01/16/2014 12:22 AM, Russell King - ARM Linux wrote:

> Well, having this in the gpio level as well as in subsystems like MMC
> is going to create confusion - and from the results of this patch _IS_
> causing confusion.  You've just encouraged one implementation to have
> things setup such that mmc_gpio_get_cd() returns false when a card is
> inserted, rather than it correctly returning true.
>
> The issue here is that we'll potentially now end up with _three_
> inversions.  One in the GPIO layers.  One in mmc_gpio_get_cd(), and
> another in every driver which uses the GPIO layer inversion.  This
> is hardly the right approach as it leads to multiple points where
> confusion about the inverted status can occur.
>

Thanks Russell, make sense.

Double checked with the hardware guy, cd pin is high when card inserted 
on the board.
The cd pin is originally connected to vout via a resister, and 
internally short to gound, which is broken when card inserted.

Then Optional properties "caps2-mmc-cd-active-high" has to be added.

--- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt

+* caps2-mmc-cd-active-high: cd pin is high when card present

@@ -2411,6 +2414,9 @@ static struct dw_mci_board *dw_mci_parse_dt(struct 
dw_mci *host)
         if (of_find_property(np, "caps2-mmc-hs200-1_2v", NULL))
                 pdata->caps2 |= MMC_CAP2_HS200_1_2V_SDR;

+       if (of_find_property(np, "caps2-mmc-cd-active-high", NULL))
+               pdata->caps2 |= MMC_CAP2_CD_ACTIVE_HIGH;
+

Thanks

  reply	other threads:[~2014-01-16  2:10 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-09 14:35 [PATCH v7 0/3] mmc: dw_mmc: add dw_mmc-k3 Zhangfei Gao
2014-01-09 14:35 ` Zhangfei Gao
2014-01-09 14:35 ` [PATCH 1/3] mmc: dw_mmc: use slot-gpio to handle cd pin Zhangfei Gao
2014-01-09 14:35   ` Zhangfei Gao
2014-01-09 14:38   ` Arnd Bergmann
2014-01-09 14:38     ` Arnd Bergmann
2014-01-14 15:58   ` Kevin Hilman
2014-01-14 15:58     ` Kevin Hilman
2014-01-14 17:23     ` Olof Johansson
2014-01-14 17:23       ` Olof Johansson
2014-01-15  1:09       ` zhangfei
2014-01-15  1:09         ` zhangfei
2014-01-15  5:16         ` zhangfei
2014-01-15  5:16           ` zhangfei
2014-01-15  7:15     ` [PATCH] mmc: dw_mmc: fix dw_mci_get_cd Zhangfei Gao
2014-01-15  7:15       ` Zhangfei Gao
2014-01-15  7:31       ` zhangfei
2014-01-15  7:31         ` zhangfei
2014-01-15 10:07       ` Zhangfei Gao
2014-01-15 10:07         ` Zhangfei Gao
2014-01-15 11:58         ` Seungwon Jeon
2014-01-15 11:58           ` Seungwon Jeon
2014-01-15 12:10           ` zhangfei
2014-01-15 12:10             ` zhangfei
2014-01-15 12:26             ` Seungwon Jeon
2014-01-15 12:26               ` Seungwon Jeon
2014-01-15 13:56               ` zhangfei
2014-01-15 13:56                 ` zhangfei
2014-01-15 13:59                 ` Arnd Bergmann
2014-01-15 13:59                   ` Arnd Bergmann
2014-01-15 14:20                   ` Arnd Bergmann
2014-01-15 14:20                     ` Arnd Bergmann
2014-01-15 15:36                     ` zhangfei
2014-01-15 15:36                       ` zhangfei
2014-01-15 16:01                   ` Russell King - ARM Linux
2014-01-15 16:01                     ` Russell King - ARM Linux
2014-01-15 16:07                     ` Arnd Bergmann
2014-01-15 16:07                       ` Arnd Bergmann
2014-01-15 16:22                       ` Russell King - ARM Linux
2014-01-15 16:22                         ` Russell King - ARM Linux
2014-01-16  2:10                         ` zhangfei [this message]
2014-01-16  2:10                           ` zhangfei
2014-01-16 11:12                         ` Arnd Bergmann
2014-01-16 11:12                           ` Arnd Bergmann
2014-01-16 11:25                           ` Russell King - ARM Linux
2014-01-16 11:25                             ` Russell King - ARM Linux
2014-01-15 14:38                 ` Seungwon Jeon
2014-01-15 14:38                   ` Seungwon Jeon
2014-01-15 15:32                   ` zhangfei
2014-01-15 15:32                     ` zhangfei
2014-01-15 15:51                     ` Zhangfei Gao
2014-01-15 15:51                       ` Zhangfei Gao
2014-01-15 15:59                       ` Russell King - ARM Linux
2014-01-15 15:59                         ` Russell King - ARM Linux
2014-01-15 15:54                     ` Arnd Bergmann
2014-01-15 15:54                       ` Arnd Bergmann
     [not found] ` <1389278112-7099-1-git-send-email-zhangfei.gao-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-01-09 14:35   ` [PATCH 2/3] mmc: dw_mmc: add dw_mmc-k3 for k3 platform Zhangfei Gao
2014-01-09 14:35     ` Zhangfei Gao
2014-01-09 14:45     ` Arnd Bergmann
2014-01-09 14:45       ` Arnd Bergmann
2014-01-10 13:39     ` Seungwon Jeon
2014-01-10 13:39       ` Seungwon Jeon
2014-01-10 14:12       ` zhangfei
2014-01-10 14:12         ` zhangfei
2014-01-13  2:09         ` Seungwon Jeon
2014-01-13  2:09           ` Seungwon Jeon
2014-01-13  2:37           ` zhangfei
2014-01-13  2:37             ` zhangfei
2014-01-13  5:32             ` Seungwon Jeon
2014-01-13  5:32               ` Seungwon Jeon
2014-01-13  8:30               ` zhangfei
2014-01-13  8:30                 ` zhangfei
2014-01-14  9:38                 ` Seungwon Jeon
2014-01-14  9:38                   ` Seungwon Jeon
2014-01-14  9:47                   ` zhangfei
2014-01-14  9:47                     ` zhangfei
2014-01-09 14:35 ` [PATCH 3/3] clk: hisilicon: add hi3620_mmc_clks Zhangfei Gao
2014-01-09 14:35   ` Zhangfei Gao
2014-01-09 14:38   ` Arnd Bergmann
2014-01-09 14:38     ` Arnd Bergmann
2014-01-10  3:41 ` [PATCH v7 0/3] mmc: dw_mmc: add dw_mmc-k3 Jaehoon Chung
2014-01-10  3:41   ` Jaehoon Chung
2014-01-12 16:35 ` Chris Ball
2014-01-12 16:35   ` Chris Ball
2014-01-13  1:00   ` Zhangfei Gao
2014-01-13  1:00     ` Zhangfei Gao
  -- strict thread matches above, loose matches on Subject: below --
2014-01-16  2:31 [PATCH v2] mmc: dw_mmc: fix dw_mci_get_cd Zhangfei Gao
2014-01-16 12:48 ` [PATCH] " Zhangfei Gao
2014-01-16 12:48   ` Zhangfei Gao
2014-01-16 18:29   ` Kevin Hilman
2014-01-16 18:29     ` Kevin Hilman
2014-01-17 12:35     ` Seungwon Jeon
2014-01-17 12:35       ` Seungwon Jeon
2014-01-17 14:25       ` Chris Ball
2014-01-17 14:25         ` Chris Ball

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=52D73F7D.60302@linaro.org \
    --to=zhangfei.gao@linaro.org \
    --cc=arnd@arndb.de \
    --cc=cjb@laptop.org \
    --cc=jh80.chung@samsung.com \
    --cc=khilman@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mturquette@linaro.org \
    --cc=patches@linaro.org \
    --cc=sachin.kamat@linaro.org \
    --cc=tgih.jun@samsung.com \
    /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 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.