From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753911AbdDKIAE (ORCPT ); Tue, 11 Apr 2017 04:00:04 -0400 Received: from mail.free-electrons.com ([62.4.15.54]:50689 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751255AbdDKIAB (ORCPT ); Tue, 11 Apr 2017 04:00:01 -0400 From: Gregory CLEMENT To: Ulf Hansson Cc: Adrian Hunter , "linux-mmc\@vger.kernel.org" , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Thomas Petazzoni , "linux-arm-kernel\@lists.infradead.org" , Mike Turquette , Stephen Boyd , linux-clk , "linux-kernel\@vger.kernel.org" , Rob Herring , "devicetree\@vger.kernel.org" , Ziji Hu , Jimmy Xu , Jisheng Zhang , Nadav Haklai , Ryan Gao , Doug Jones , Victor Gu , "Wei\(SOCP\) Liu" , Wilson Ding , Yehuda Yitschak , Ma rcin Wojtas , Hanna Hawa , Kostya Porotchkin Subject: Re: [PATCH v7 00/13] mmc: Add support to Marvell Xenon SD Host Controller References: Date: Tue, 11 Apr 2017 09:59:59 +0200 In-Reply-To: (Ulf Hansson's message of "Mon, 10 Apr 2017 17:14:29 +0200") Message-ID: <87o9w3idc0.fsf@free-electrons.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ulf, On lun., avril 10 2017, Ulf Hansson wrote: > On 30 March 2017 at 17:22, Gregory CLEMENT > wrote: >> Hello, >> >> This the seventh version of the series adding support for the SDHCI >> Xenon controller. It can be currently found on the Armada 37xx and the >> Armada 7K/8K but will be also used in more Marvell SoC (and not only >> the mvebu ones actually). >> >> v6->v7: >> - Add comments on vqmmc and vmmc in examples in dt binding doc. >> >> - Fix all the issues pointed out by Ulf and Adrian: >> >> - Align the prefix of function and variable names. >> - Replace the if-else with switch statements when checking MMC_TIMING_* >> - Remove the spinlocks in set_ios. >> - Optimize the delay loop as Adrian patch does. >> - Add release of phy params structures >> >> - Add check of Vqmmc supply in Xenon signal voltage switch. If Vqmmc >> regulator doesn't exist, skip standard SD signal voltage regulator >> switch process. >> >> - Remove parse of child node mmc-card. Wait for a better solution. >> >> v5->v6: >> >> - Add a generic "mmc-card" parse in core layer. >> >> - Fix the spelling issues in Xenon dt binding doc and drivers. >> >> - Remove descriptions to common mmc properties from Xenon dt binding >> doc. >> >> - Split compatible string "marvell,armada-8k-sdhci" into >> "marvell,armada-ap806-sdhci" and "marvell,armada-cp110-sdhci". >> >> - Also updates the example in Xenon dt binding doc. >> >> - Remove unnecessary dependency on MMC_SDHCI from Xenon entry in >> Kconfig. >> >> - Move Xenon specific dt parse into a separate function. >> >> - Adjust warnings and condition check in Xenon PHY setting, to remove >> fragile hs200->hs400/hs400->hs200 sequence check function. >> >> - Enable PHY Slow Mode in MMC_TIMING_LEGACY timing if PHY Slow Mode is >> required in dts. >> >> - Add a patch allowing dts backwards compatible for the clock >> >> v4->v5: >> >> - Remove the patch to export sdhci_execute_tuning(). It is already >> exported in v4.10. >> >> - Introduce a patch adding a missing clock for the sdhci controller >> present on the CP master for A7K/A8K. There is no build dependency >> but obviously this patch is need to use the sdhci controller present >> on the CP part. >> >> - Adjust Xenon return setup, to avoid being overwritten by >> sdhci_add_host(). >> >> - Change Xenon register definition prefix to "XENON_". >> >> - Fix typos in Xenon driver and dt-binding docs. >> >> - Change compatible string "marvell,armada-7000-sdhci" to >> "marvell,armada-8k-sdhci". Actually the Armada 7K SoCs are a subset >> of the Armada 8K SoCs. Moreover, the use of the '000' is not >> consistent with all the other compatible string already used for the >> Armada 7K/8K family. >> >> - Added the Tested-by from Russell King on an Armada 8K based board. >> >> v3 -> v4: >> For this version a few change have been done: >> - fixes 2 bug reported by kbuild-bot >> - remove extra of_node_put() >> - convert 0 in false for function returning boolean >> >> - add a device tree node for the sdhci controller present on the CP >> master for A7K/A8K. It also led to rename the sdhci0 node on AP to >> ap_sdhci0 to make a distinction with the one present on CP master. >> >> v2 -> v3 >> I think that now most (if not all) the remarks had been taking into >> account since the second version. According to Ziji Hu, here are the >> following changes: >> " Changes in V3: >> Adjust and improve Xenon DT bindings. Move some caps setting from driver into >> DT. Use mmc-card sub-node to represent eMMC type. >> Remove PHY Sampling Fixed Delay Line scan in lower speed mode. >> Improve Xenon probe and ->init_card() functions. >> Export sdhci_enable_sdio_irq() and implement own SDIO IRQ control. >> Split PHY patch into two smaller patches. >> Temporarily remove AXI clock before its implementation is improved." >> >> Besides this changes I also >> - Removed the sdhci-xenon-phy.h and moved its content in the >> shc-xenon-phy.c file. >> - Fixed the tuning-count usage >> - Managed the error case for clk_prepare_enable >> >> For the record the change from v1 was: >> " Changes in V2: >> rebase on v4.9-rc2. >> Re-write Xenon bindings. Ajust Xenon DT property naming. >> Add a new DT property to indicate eMMC card type, instead of using >> variable card_candidate. >> Clear quirks SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 in Xenon platform data >> Add support to HS400 retuning." >> >> Thanks, >> >> Gregory >> >> Gregory CLEMENT (4): >> clk: apn806: Turn the eMMC clock as optional for dts backwards compatible >> arm64: dts: marvell: add eMMC support for Armada 37xx >> arm64: dts: marvell: add sdhci support for Armada 7K/8K >> arm64: configs: enable SDHCI driver for Xenon >> >> Hu Ziji (8): >> mmc: sdhci: Export sdhci_set_ios() from sdhci.c >> mmc: sdhci: Export sdhci_start_signal_voltage_switch() in sdhci.c >> mmc: sdhci: Export sdhci_enable_sdio_irq() from sdhci.c >> dt: bindings: Add bindings for Marvell Xenon SD Host Controller >> mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality >> mmc: sdhci-xenon: Add support to PHYs of Marvell Xenon SDHC >> mmc: sdhci-xenon: Add SoC PHY PAD voltage control >> MAINTAINERS: add entry for Marvell Xenon MMC Host Controller drivers >> >> Konstantin Porotchkin (1): >> clk: apn806: Add eMMC clock to system controller driver >> >> Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt | 170 +- >> MAINTAINERS | 7 +- >> arch/arm64/boot/dts/marvell/armada-3720-db.dts | 9 +- >> arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 11 +- >> arch/arm64/boot/dts/marvell/armada-7040-db.dts | 14 +- >> arch/arm64/boot/dts/marvell/armada-8040-db.dts | 12 +- >> arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 14 +- >> arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi | 11 +- >> arch/arm64/configs/defconfig | 1 +- >> drivers/clk/mvebu/ap806-system-controller.c | 21 +- >> drivers/mmc/host/Kconfig | 8 +- >> drivers/mmc/host/Makefile | 3 +- >> drivers/mmc/host/sdhci-xenon-phy.c | 835 +++++++- >> drivers/mmc/host/sdhci-xenon.c | 548 +++++- >> drivers/mmc/host/sdhci-xenon.h | 101 +- >> drivers/mmc/host/sdhci.c | 11 +- >> drivers/mmc/host/sdhci.h | 4 +- >> 17 files changed, 1774 insertions(+), 6 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt >> create mode 100644 drivers/mmc/host/sdhci-xenon-phy.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.h >> >> base-commit: a645cc1df4ff41ba54a2fb839962b8ff142121d9 >> -- >> git-series 0.9.1 > > > Thanks, applied patch 1->10 for next! 11->13 will have to go via the > SoC maintainer tree. Great, thanks! Patch 11 and 12 are now applied on mvebu/dt64 and patch 13 on mvebu/defconfig64. Gregory > > Kind regards > Uffe -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gregory CLEMENT Subject: Re: [PATCH v7 00/13] mmc: Add support to Marvell Xenon SD Host Controller Date: Tue, 11 Apr 2017 09:59:59 +0200 Message-ID: <87o9w3idc0.fsf@free-electrons.com> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: (Ulf Hansson's message of "Mon, 10 Apr 2017 17:14:29 +0200") Sender: linux-mmc-owner@vger.kernel.org To: Ulf Hansson Cc: Adrian Hunter , "linux-mmc@vger.kernel.org" , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Thomas Petazzoni , "linux-arm-kernel@lists.infradead.org" , Mike Turquette , Stephen Boyd , linux-clk , "linux-kernel@vger.kernel.org" , Rob Herring , "devicetree@vger.kernel.org" , Ziji Hu , Jimmy Xu , Jisheng Zhang , Nadav Haklai R List-Id: devicetree@vger.kernel.org Hi Ulf, On lun., avril 10 2017, Ulf Hansson wrote: > On 30 March 2017 at 17:22, Gregory CLEMENT > wrote: >> Hello, >> >> This the seventh version of the series adding support for the SDHCI >> Xenon controller. It can be currently found on the Armada 37xx and the >> Armada 7K/8K but will be also used in more Marvell SoC (and not only >> the mvebu ones actually). >> >> v6->v7: >> - Add comments on vqmmc and vmmc in examples in dt binding doc. >> >> - Fix all the issues pointed out by Ulf and Adrian: >> >> - Align the prefix of function and variable names. >> - Replace the if-else with switch statements when checking MMC_TIMING_* >> - Remove the spinlocks in set_ios. >> - Optimize the delay loop as Adrian patch does. >> - Add release of phy params structures >> >> - Add check of Vqmmc supply in Xenon signal voltage switch. If Vqmmc >> regulator doesn't exist, skip standard SD signal voltage regulator >> switch process. >> >> - Remove parse of child node mmc-card. Wait for a better solution. >> >> v5->v6: >> >> - Add a generic "mmc-card" parse in core layer. >> >> - Fix the spelling issues in Xenon dt binding doc and drivers. >> >> - Remove descriptions to common mmc properties from Xenon dt binding >> doc. >> >> - Split compatible string "marvell,armada-8k-sdhci" into >> "marvell,armada-ap806-sdhci" and "marvell,armada-cp110-sdhci". >> >> - Also updates the example in Xenon dt binding doc. >> >> - Remove unnecessary dependency on MMC_SDHCI from Xenon entry in >> Kconfig. >> >> - Move Xenon specific dt parse into a separate function. >> >> - Adjust warnings and condition check in Xenon PHY setting, to remove >> fragile hs200->hs400/hs400->hs200 sequence check function. >> >> - Enable PHY Slow Mode in MMC_TIMING_LEGACY timing if PHY Slow Mode is >> required in dts. >> >> - Add a patch allowing dts backwards compatible for the clock >> >> v4->v5: >> >> - Remove the patch to export sdhci_execute_tuning(). It is already >> exported in v4.10. >> >> - Introduce a patch adding a missing clock for the sdhci controller >> present on the CP master for A7K/A8K. There is no build dependency >> but obviously this patch is need to use the sdhci controller present >> on the CP part. >> >> - Adjust Xenon return setup, to avoid being overwritten by >> sdhci_add_host(). >> >> - Change Xenon register definition prefix to "XENON_". >> >> - Fix typos in Xenon driver and dt-binding docs. >> >> - Change compatible string "marvell,armada-7000-sdhci" to >> "marvell,armada-8k-sdhci". Actually the Armada 7K SoCs are a subset >> of the Armada 8K SoCs. Moreover, the use of the '000' is not >> consistent with all the other compatible string already used for the >> Armada 7K/8K family. >> >> - Added the Tested-by from Russell King on an Armada 8K based board. >> >> v3 -> v4: >> For this version a few change have been done: >> - fixes 2 bug reported by kbuild-bot >> - remove extra of_node_put() >> - convert 0 in false for function returning boolean >> >> - add a device tree node for the sdhci controller present on the CP >> master for A7K/A8K. It also led to rename the sdhci0 node on AP to >> ap_sdhci0 to make a distinction with the one present on CP master. >> >> v2 -> v3 >> I think that now most (if not all) the remarks had been taking into >> account since the second version. According to Ziji Hu, here are the >> following changes: >> " Changes in V3: >> Adjust and improve Xenon DT bindings. Move some caps setting from driver into >> DT. Use mmc-card sub-node to represent eMMC type. >> Remove PHY Sampling Fixed Delay Line scan in lower speed mode. >> Improve Xenon probe and ->init_card() functions. >> Export sdhci_enable_sdio_irq() and implement own SDIO IRQ control. >> Split PHY patch into two smaller patches. >> Temporarily remove AXI clock before its implementation is improved." >> >> Besides this changes I also >> - Removed the sdhci-xenon-phy.h and moved its content in the >> shc-xenon-phy.c file. >> - Fixed the tuning-count usage >> - Managed the error case for clk_prepare_enable >> >> For the record the change from v1 was: >> " Changes in V2: >> rebase on v4.9-rc2. >> Re-write Xenon bindings. Ajust Xenon DT property naming. >> Add a new DT property to indicate eMMC card type, instead of using >> variable card_candidate. >> Clear quirks SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 in Xenon platform data >> Add support to HS400 retuning." >> >> Thanks, >> >> Gregory >> >> Gregory CLEMENT (4): >> clk: apn806: Turn the eMMC clock as optional for dts backwards compatible >> arm64: dts: marvell: add eMMC support for Armada 37xx >> arm64: dts: marvell: add sdhci support for Armada 7K/8K >> arm64: configs: enable SDHCI driver for Xenon >> >> Hu Ziji (8): >> mmc: sdhci: Export sdhci_set_ios() from sdhci.c >> mmc: sdhci: Export sdhci_start_signal_voltage_switch() in sdhci.c >> mmc: sdhci: Export sdhci_enable_sdio_irq() from sdhci.c >> dt: bindings: Add bindings for Marvell Xenon SD Host Controller >> mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality >> mmc: sdhci-xenon: Add support to PHYs of Marvell Xenon SDHC >> mmc: sdhci-xenon: Add SoC PHY PAD voltage control >> MAINTAINERS: add entry for Marvell Xenon MMC Host Controller drivers >> >> Konstantin Porotchkin (1): >> clk: apn806: Add eMMC clock to system controller driver >> >> Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt | 170 +- >> MAINTAINERS | 7 +- >> arch/arm64/boot/dts/marvell/armada-3720-db.dts | 9 +- >> arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 11 +- >> arch/arm64/boot/dts/marvell/armada-7040-db.dts | 14 +- >> arch/arm64/boot/dts/marvell/armada-8040-db.dts | 12 +- >> arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 14 +- >> arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi | 11 +- >> arch/arm64/configs/defconfig | 1 +- >> drivers/clk/mvebu/ap806-system-controller.c | 21 +- >> drivers/mmc/host/Kconfig | 8 +- >> drivers/mmc/host/Makefile | 3 +- >> drivers/mmc/host/sdhci-xenon-phy.c | 835 +++++++- >> drivers/mmc/host/sdhci-xenon.c | 548 +++++- >> drivers/mmc/host/sdhci-xenon.h | 101 +- >> drivers/mmc/host/sdhci.c | 11 +- >> drivers/mmc/host/sdhci.h | 4 +- >> 17 files changed, 1774 insertions(+), 6 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt >> create mode 100644 drivers/mmc/host/sdhci-xenon-phy.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.h >> >> base-commit: a645cc1df4ff41ba54a2fb839962b8ff142121d9 >> -- >> git-series 0.9.1 > > > Thanks, applied patch 1->10 for next! 11->13 will have to go via the > SoC maintainer tree. Great, thanks! Patch 11 and 12 are now applied on mvebu/dt64 and patch 13 on mvebu/defconfig64. Gregory > > Kind regards > Uffe -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Gregory CLEMENT To: Ulf Hansson Cc: Adrian Hunter , "linux-mmc\@vger.kernel.org" , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Thomas Petazzoni , "linux-arm-kernel\@lists.infradead.org" , Mike Turquette , Stephen Boyd , linux-clk , "linux-kernel\@vger.kernel.org" , Rob Herring , "devicetree\@vger.kernel.org" , Ziji Hu , Jimmy Xu , Jisheng Zhang , Nadav Haklai , Ryan Gao , Doug Jones , Victor Gu , "Wei\(SOCP\) Liu" , Wilson Ding , Yehuda Yitschak , Ma rcin Wojtas , Hanna Hawa , Kostya Porotchkin Subject: Re: [PATCH v7 00/13] mmc: Add support to Marvell Xenon SD Host Controller References: Date: Tue, 11 Apr 2017 09:59:59 +0200 In-Reply-To: (Ulf Hansson's message of "Mon, 10 Apr 2017 17:14:29 +0200") Message-ID: <87o9w3idc0.fsf@free-electrons.com> MIME-Version: 1.0 Content-Type: text/plain List-ID: Hi Ulf, On lun., avril 10 2017, Ulf Hansson wrote: > On 30 March 2017 at 17:22, Gregory CLEMENT > wrote: >> Hello, >> >> This the seventh version of the series adding support for the SDHCI >> Xenon controller. It can be currently found on the Armada 37xx and the >> Armada 7K/8K but will be also used in more Marvell SoC (and not only >> the mvebu ones actually). >> >> v6->v7: >> - Add comments on vqmmc and vmmc in examples in dt binding doc. >> >> - Fix all the issues pointed out by Ulf and Adrian: >> >> - Align the prefix of function and variable names. >> - Replace the if-else with switch statements when checking MMC_TIMING_* >> - Remove the spinlocks in set_ios. >> - Optimize the delay loop as Adrian patch does. >> - Add release of phy params structures >> >> - Add check of Vqmmc supply in Xenon signal voltage switch. If Vqmmc >> regulator doesn't exist, skip standard SD signal voltage regulator >> switch process. >> >> - Remove parse of child node mmc-card. Wait for a better solution. >> >> v5->v6: >> >> - Add a generic "mmc-card" parse in core layer. >> >> - Fix the spelling issues in Xenon dt binding doc and drivers. >> >> - Remove descriptions to common mmc properties from Xenon dt binding >> doc. >> >> - Split compatible string "marvell,armada-8k-sdhci" into >> "marvell,armada-ap806-sdhci" and "marvell,armada-cp110-sdhci". >> >> - Also updates the example in Xenon dt binding doc. >> >> - Remove unnecessary dependency on MMC_SDHCI from Xenon entry in >> Kconfig. >> >> - Move Xenon specific dt parse into a separate function. >> >> - Adjust warnings and condition check in Xenon PHY setting, to remove >> fragile hs200->hs400/hs400->hs200 sequence check function. >> >> - Enable PHY Slow Mode in MMC_TIMING_LEGACY timing if PHY Slow Mode is >> required in dts. >> >> - Add a patch allowing dts backwards compatible for the clock >> >> v4->v5: >> >> - Remove the patch to export sdhci_execute_tuning(). It is already >> exported in v4.10. >> >> - Introduce a patch adding a missing clock for the sdhci controller >> present on the CP master for A7K/A8K. There is no build dependency >> but obviously this patch is need to use the sdhci controller present >> on the CP part. >> >> - Adjust Xenon return setup, to avoid being overwritten by >> sdhci_add_host(). >> >> - Change Xenon register definition prefix to "XENON_". >> >> - Fix typos in Xenon driver and dt-binding docs. >> >> - Change compatible string "marvell,armada-7000-sdhci" to >> "marvell,armada-8k-sdhci". Actually the Armada 7K SoCs are a subset >> of the Armada 8K SoCs. Moreover, the use of the '000' is not >> consistent with all the other compatible string already used for the >> Armada 7K/8K family. >> >> - Added the Tested-by from Russell King on an Armada 8K based board. >> >> v3 -> v4: >> For this version a few change have been done: >> - fixes 2 bug reported by kbuild-bot >> - remove extra of_node_put() >> - convert 0 in false for function returning boolean >> >> - add a device tree node for the sdhci controller present on the CP >> master for A7K/A8K. It also led to rename the sdhci0 node on AP to >> ap_sdhci0 to make a distinction with the one present on CP master. >> >> v2 -> v3 >> I think that now most (if not all) the remarks had been taking into >> account since the second version. According to Ziji Hu, here are the >> following changes: >> " Changes in V3: >> Adjust and improve Xenon DT bindings. Move some caps setting from driver into >> DT. Use mmc-card sub-node to represent eMMC type. >> Remove PHY Sampling Fixed Delay Line scan in lower speed mode. >> Improve Xenon probe and ->init_card() functions. >> Export sdhci_enable_sdio_irq() and implement own SDIO IRQ control. >> Split PHY patch into two smaller patches. >> Temporarily remove AXI clock before its implementation is improved." >> >> Besides this changes I also >> - Removed the sdhci-xenon-phy.h and moved its content in the >> shc-xenon-phy.c file. >> - Fixed the tuning-count usage >> - Managed the error case for clk_prepare_enable >> >> For the record the change from v1 was: >> " Changes in V2: >> rebase on v4.9-rc2. >> Re-write Xenon bindings. Ajust Xenon DT property naming. >> Add a new DT property to indicate eMMC card type, instead of using >> variable card_candidate. >> Clear quirks SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 in Xenon platform data >> Add support to HS400 retuning." >> >> Thanks, >> >> Gregory >> >> Gregory CLEMENT (4): >> clk: apn806: Turn the eMMC clock as optional for dts backwards compatible >> arm64: dts: marvell: add eMMC support for Armada 37xx >> arm64: dts: marvell: add sdhci support for Armada 7K/8K >> arm64: configs: enable SDHCI driver for Xenon >> >> Hu Ziji (8): >> mmc: sdhci: Export sdhci_set_ios() from sdhci.c >> mmc: sdhci: Export sdhci_start_signal_voltage_switch() in sdhci.c >> mmc: sdhci: Export sdhci_enable_sdio_irq() from sdhci.c >> dt: bindings: Add bindings for Marvell Xenon SD Host Controller >> mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality >> mmc: sdhci-xenon: Add support to PHYs of Marvell Xenon SDHC >> mmc: sdhci-xenon: Add SoC PHY PAD voltage control >> MAINTAINERS: add entry for Marvell Xenon MMC Host Controller drivers >> >> Konstantin Porotchkin (1): >> clk: apn806: Add eMMC clock to system controller driver >> >> Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt | 170 +- >> MAINTAINERS | 7 +- >> arch/arm64/boot/dts/marvell/armada-3720-db.dts | 9 +- >> arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 11 +- >> arch/arm64/boot/dts/marvell/armada-7040-db.dts | 14 +- >> arch/arm64/boot/dts/marvell/armada-8040-db.dts | 12 +- >> arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 14 +- >> arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi | 11 +- >> arch/arm64/configs/defconfig | 1 +- >> drivers/clk/mvebu/ap806-system-controller.c | 21 +- >> drivers/mmc/host/Kconfig | 8 +- >> drivers/mmc/host/Makefile | 3 +- >> drivers/mmc/host/sdhci-xenon-phy.c | 835 +++++++- >> drivers/mmc/host/sdhci-xenon.c | 548 +++++- >> drivers/mmc/host/sdhci-xenon.h | 101 +- >> drivers/mmc/host/sdhci.c | 11 +- >> drivers/mmc/host/sdhci.h | 4 +- >> 17 files changed, 1774 insertions(+), 6 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt >> create mode 100644 drivers/mmc/host/sdhci-xenon-phy.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.h >> >> base-commit: a645cc1df4ff41ba54a2fb839962b8ff142121d9 >> -- >> git-series 0.9.1 > > > Thanks, applied patch 1->10 for next! 11->13 will have to go via the > SoC maintainer tree. Great, thanks! Patch 11 and 12 are now applied on mvebu/dt64 and patch 13 on mvebu/defconfig64. Gregory > > Kind regards > Uffe -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: gregory.clement@free-electrons.com (Gregory CLEMENT) Date: Tue, 11 Apr 2017 09:59:59 +0200 Subject: [PATCH v7 00/13] mmc: Add support to Marvell Xenon SD Host Controller In-Reply-To: (Ulf Hansson's message of "Mon, 10 Apr 2017 17:14:29 +0200") References: Message-ID: <87o9w3idc0.fsf@free-electrons.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Ulf, On lun., avril 10 2017, Ulf Hansson wrote: > On 30 March 2017 at 17:22, Gregory CLEMENT > wrote: >> Hello, >> >> This the seventh version of the series adding support for the SDHCI >> Xenon controller. It can be currently found on the Armada 37xx and the >> Armada 7K/8K but will be also used in more Marvell SoC (and not only >> the mvebu ones actually). >> >> v6->v7: >> - Add comments on vqmmc and vmmc in examples in dt binding doc. >> >> - Fix all the issues pointed out by Ulf and Adrian: >> >> - Align the prefix of function and variable names. >> - Replace the if-else with switch statements when checking MMC_TIMING_* >> - Remove the spinlocks in set_ios. >> - Optimize the delay loop as Adrian patch does. >> - Add release of phy params structures >> >> - Add check of Vqmmc supply in Xenon signal voltage switch. If Vqmmc >> regulator doesn't exist, skip standard SD signal voltage regulator >> switch process. >> >> - Remove parse of child node mmc-card. Wait for a better solution. >> >> v5->v6: >> >> - Add a generic "mmc-card" parse in core layer. >> >> - Fix the spelling issues in Xenon dt binding doc and drivers. >> >> - Remove descriptions to common mmc properties from Xenon dt binding >> doc. >> >> - Split compatible string "marvell,armada-8k-sdhci" into >> "marvell,armada-ap806-sdhci" and "marvell,armada-cp110-sdhci". >> >> - Also updates the example in Xenon dt binding doc. >> >> - Remove unnecessary dependency on MMC_SDHCI from Xenon entry in >> Kconfig. >> >> - Move Xenon specific dt parse into a separate function. >> >> - Adjust warnings and condition check in Xenon PHY setting, to remove >> fragile hs200->hs400/hs400->hs200 sequence check function. >> >> - Enable PHY Slow Mode in MMC_TIMING_LEGACY timing if PHY Slow Mode is >> required in dts. >> >> - Add a patch allowing dts backwards compatible for the clock >> >> v4->v5: >> >> - Remove the patch to export sdhci_execute_tuning(). It is already >> exported in v4.10. >> >> - Introduce a patch adding a missing clock for the sdhci controller >> present on the CP master for A7K/A8K. There is no build dependency >> but obviously this patch is need to use the sdhci controller present >> on the CP part. >> >> - Adjust Xenon return setup, to avoid being overwritten by >> sdhci_add_host(). >> >> - Change Xenon register definition prefix to "XENON_". >> >> - Fix typos in Xenon driver and dt-binding docs. >> >> - Change compatible string "marvell,armada-7000-sdhci" to >> "marvell,armada-8k-sdhci". Actually the Armada 7K SoCs are a subset >> of the Armada 8K SoCs. Moreover, the use of the '000' is not >> consistent with all the other compatible string already used for the >> Armada 7K/8K family. >> >> - Added the Tested-by from Russell King on an Armada 8K based board. >> >> v3 -> v4: >> For this version a few change have been done: >> - fixes 2 bug reported by kbuild-bot >> - remove extra of_node_put() >> - convert 0 in false for function returning boolean >> >> - add a device tree node for the sdhci controller present on the CP >> master for A7K/A8K. It also led to rename the sdhci0 node on AP to >> ap_sdhci0 to make a distinction with the one present on CP master. >> >> v2 -> v3 >> I think that now most (if not all) the remarks had been taking into >> account since the second version. According to Ziji Hu, here are the >> following changes: >> " Changes in V3: >> Adjust and improve Xenon DT bindings. Move some caps setting from driver into >> DT. Use mmc-card sub-node to represent eMMC type. >> Remove PHY Sampling Fixed Delay Line scan in lower speed mode. >> Improve Xenon probe and ->init_card() functions. >> Export sdhci_enable_sdio_irq() and implement own SDIO IRQ control. >> Split PHY patch into two smaller patches. >> Temporarily remove AXI clock before its implementation is improved." >> >> Besides this changes I also >> - Removed the sdhci-xenon-phy.h and moved its content in the >> shc-xenon-phy.c file. >> - Fixed the tuning-count usage >> - Managed the error case for clk_prepare_enable >> >> For the record the change from v1 was: >> " Changes in V2: >> rebase on v4.9-rc2. >> Re-write Xenon bindings. Ajust Xenon DT property naming. >> Add a new DT property to indicate eMMC card type, instead of using >> variable card_candidate. >> Clear quirks SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 in Xenon platform data >> Add support to HS400 retuning." >> >> Thanks, >> >> Gregory >> >> Gregory CLEMENT (4): >> clk: apn806: Turn the eMMC clock as optional for dts backwards compatible >> arm64: dts: marvell: add eMMC support for Armada 37xx >> arm64: dts: marvell: add sdhci support for Armada 7K/8K >> arm64: configs: enable SDHCI driver for Xenon >> >> Hu Ziji (8): >> mmc: sdhci: Export sdhci_set_ios() from sdhci.c >> mmc: sdhci: Export sdhci_start_signal_voltage_switch() in sdhci.c >> mmc: sdhci: Export sdhci_enable_sdio_irq() from sdhci.c >> dt: bindings: Add bindings for Marvell Xenon SD Host Controller >> mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality >> mmc: sdhci-xenon: Add support to PHYs of Marvell Xenon SDHC >> mmc: sdhci-xenon: Add SoC PHY PAD voltage control >> MAINTAINERS: add entry for Marvell Xenon MMC Host Controller drivers >> >> Konstantin Porotchkin (1): >> clk: apn806: Add eMMC clock to system controller driver >> >> Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt | 170 +- >> MAINTAINERS | 7 +- >> arch/arm64/boot/dts/marvell/armada-3720-db.dts | 9 +- >> arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 11 +- >> arch/arm64/boot/dts/marvell/armada-7040-db.dts | 14 +- >> arch/arm64/boot/dts/marvell/armada-8040-db.dts | 12 +- >> arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 14 +- >> arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi | 11 +- >> arch/arm64/configs/defconfig | 1 +- >> drivers/clk/mvebu/ap806-system-controller.c | 21 +- >> drivers/mmc/host/Kconfig | 8 +- >> drivers/mmc/host/Makefile | 3 +- >> drivers/mmc/host/sdhci-xenon-phy.c | 835 +++++++- >> drivers/mmc/host/sdhci-xenon.c | 548 +++++- >> drivers/mmc/host/sdhci-xenon.h | 101 +- >> drivers/mmc/host/sdhci.c | 11 +- >> drivers/mmc/host/sdhci.h | 4 +- >> 17 files changed, 1774 insertions(+), 6 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/mmc/marvell,xenon-sdhci.txt >> create mode 100644 drivers/mmc/host/sdhci-xenon-phy.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.c >> create mode 100644 drivers/mmc/host/sdhci-xenon.h >> >> base-commit: a645cc1df4ff41ba54a2fb839962b8ff142121d9 >> -- >> git-series 0.9.1 > > > Thanks, applied patch 1->10 for next! 11->13 will have to go via the > SoC maintainer tree. Great, thanks! Patch 11 and 12 are now applied on mvebu/dt64 and patch 13 on mvebu/defconfig64. Gregory > > Kind regards > Uffe -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com