From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrian Hunter Subject: Re: [PATCH] mmc: sdhci-esdhc-imx: Enable boot partition access from DT Date: Wed, 03 Sep 2014 12:02:58 +0300 Message-ID: <5406D942.4080405@intel.com> References: <1409672977-26972-1-git-send-email-jean-michel.hautbois@vodalys.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Ulf Hansson , Jean-Michel Hautbois Cc: linux-mmc , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , Russell King , Shawn Guo , Dong Aisheng , Peter Griffin , "tgih.jun@samsung.com" , h80.chung@samsung.com, Chris Ball , Kumar Gala , Ian Campbell , Mark Rutland , Pawel Moll , Rob Herring List-Id: linux-mmc@vger.kernel.org On 09/03/2014 11:30 AM, Ulf Hansson wrote: > On 2 September 2014 17:49, Jean-Michel Hautbois > wrote: >> This property is useful when we don't want to access boot partitions on eMMC >> >> Signed-off-by: Jean-Michel Hautbois >> --- >> Documentation/devicetree/bindings/mmc/mmc.txt | 1 + >> drivers/mmc/host/sdhci-esdhc-imx.c | 8 ++++++++ >> include/linux/platform_data/mmc-esdhc-imx.h | 1 + >> 3 files changed, 10 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt >> index 431716e..59cc854 100644 >> --- a/Documentation/devicetree/bindings/mmc/mmc.txt >> +++ b/Documentation/devicetree/bindings/mmc/mmc.txt >> @@ -40,6 +40,7 @@ Optional properties: >> - mmc-hs200-1_2v: eMMC HS200 mode(1.2V I/O) is supported >> - mmc-hs400-1_8v: eMMC HS400 mode(1.8V I/O) is supported >> - mmc-hs400-1_2v: eMMC HS400 mode(1.2V I/O) is supported >> +- no-boot-part : when preset, tells to access boot partitions >> >> *NOTE* on CD and WP polarity. To use common for all SD/MMC host controllers line >> polarity properties, we have to fix the meaning of the "normal" and "inverted" >> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c >> index ccec0e3..439e663 100644 >> --- a/drivers/mmc/host/sdhci-esdhc-imx.c >> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c >> @@ -942,6 +942,11 @@ sdhci_esdhc_imx_probe_dt(struct platform_device *pdev, >> if (of_property_read_u32(np, "fsl,delay-line", &boarddata->delay_line)) >> boarddata->delay_line = 0; >> >> + if (of_find_property(np, "no-boot-part", NULL)) >> + boarddata->access_boot_part = false; >> + else >> + boarddata->access_boot_part = true; >> + >> return 0; >> } >> #else >> @@ -1119,6 +1124,9 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev) >> host->quirks2 |= SDHCI_QUIRK2_NO_1_8_V; >> } >> >> + if (!boarddata->access_boot_part) >> + host->mmc->caps2 |= MMC_CAP2_BOOTPART_NOACC; >> + > > Hmm, I don't think MMC_CAP2_BOOTPART_NOACC should have a DT binding. > Does it describe the hardware in some form? > > Actually I would like to question why MMC_CAP2_BOOTPART_NOACC exists > at all. If there are cards that don't supports the BOOT area, > shouldn't we have a card quirk for it instead of a host cap? Maybe > Adrian Hunter, how originally wrote the patch for adding > MMC_CAP2_BOOTPART_NOACC, could help me understand the reasons behind > it!? It was added because platform firmware was able to prevent access to the boot partitions (for security I think), so attempts to access them would fail messily. It was not related to any specific card.