[PATCH v2 12/14] mci: sdhci: add tuning support

2024-03-14 Thread Steffen Trumtrar
The arasan SDHCI driver doesn't use MMC tuning but SDHCI tuning. Both are not supported yet in barebox. Add SDHCI tuning support from linux v6.7. Signed-off-by: Steffen Trumtrar Signed-off-by: Ahmad Fatoum --- drivers/mci/sdhci.c | 275 +++-

[PATCH v2 13/14] mci: arasan-sdhci: add HS200 tuning support on ZynqMP

2024-03-14 Thread Steffen Trumtrar
The ZynpMP 8.9a has an Arasan IP core that supports HS200 tuning. Register the callback with the mci-core. Arasan uses the SDHCI tuning method. Signed-off-by: Steffen Trumtrar Reviewed-by: Ahmad Fatoum --- drivers/mci/arasan-sdhci.c | 62 +++--- 1 file

[PATCH v2 11/14] mci: mci-core: replace value with define

2024-03-14 Thread Steffen Trumtrar
Use the newly introduced define for High Speed timing mode instead of just '1'. Signed-off-by: Steffen Trumtrar --- drivers/mci/mci-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c index e825c91c80..ebfd3e9fb8 100644 ---

[PATCH v2 14/14] mci: sdhci: replace sdhci_wait_idle

2024-03-14 Thread Steffen Trumtrar
Linux uses a different sdhci_wait_idle function than what barebox currently does. For HS200 support, the linux version needs to be used. As currently only arasan-sdhci is tested with HS200, keep the old sdhci_wait_idle as sdhci_wait_idle_data and convert all users of it. Signed-off-by: Ahmad

[PATCH v2 02/14] zynqmp: firmware: add functions to set tap delay

2024-03-14 Thread Steffen Trumtrar
Add a function to set the tap delay for the clk phase of the sd host controller. Signed-off-by: Steffen Trumtrar Reviewed-by: Ahmad Fatoum --- arch/arm/mach-zynqmp/firmware-zynqmp.c | 42 ++ include/mach/zynqmp/firmware-zynqmp.h | 23 +++ 2

[PATCH v2 09/14] mci: core: parse more host capabilities from DT

2024-03-14 Thread Steffen Trumtrar
Port the linux v6.7 mmc host caps2 parsing. While at it, remove the ->no_sd and ->no_sdio. These are bits in the caps2 field. Signed-off-by: Steffen Trumtrar --- drivers/mci/mci-core.c | 36 ++-- include/mci.h | 32 ++-- 2

[PATCH v2 04/14] include: mci: sync mci_timing with linux

2024-03-14 Thread Steffen Trumtrar
The timings are used to check if mci_host->timing is equal to one of this values. Linux uses a different numbering. Adapt that for compatability. Signed-off-by: Steffen Trumtrar Reviewed-by: Ahmad Fatoum --- include/mci.h | 18 ++ 1 file changed, 10 insertions(+), 8

[PATCH v2 01/14] ARM: zynqmp: add sd_dll_reset call

2024-03-14 Thread Steffen Trumtrar
Add a function to reset DLL logic for SD devices. Signed-off-by: Steffen Trumtrar Reviewed-by: Ahmad Fatoum --- arch/arm/mach-zynqmp/firmware-zynqmp.c | 17 + 1 file changed, 17 insertions(+) diff --git a/arch/arm/mach-zynqmp/firmware-zynqmp.c

[PATCH v2 10/14] mci: mci-core: add HS200 support

2024-03-14 Thread Steffen Trumtrar
HS200 is a timing mode for eMMCs to work 8bit with 200MHz clocks. To be used, drivers need to set the correct drive strength, clock phases and then SDHCI can start tuning for HS200. Signed-off-by: Steffen Trumtrar --- drivers/mci/Kconfig| 7 ++ drivers/mci/mci-core.c | 257

[PATCH v2 07/14] mci: arasan: register sdcard/sampleclk

2024-03-14 Thread Steffen Trumtrar
Read and register the sampleclk and sdcardclk. They are needed later for HS200 tuning support. Signed-off-by: Steffen Trumtrar --- drivers/mci/arasan-sdhci.c | 316 + 1 file changed, 316 insertions(+) diff --git a/drivers/mci/arasan-sdhci.c

[PATCH v2 05/14] mci: arasan: read clk phases from DT

2024-03-14 Thread Steffen Trumtrar
Depending on the used SDHCI mode the clock phases are different. Import the helper function to get these values from the DT from linux v6.7. Signed-off-by: Steffen Trumtrar Reviewed-by: Ahmad Fatoum --- drivers/mci/arasan-sdhci.c | 121 + 1 file

[PATCH v2 00/14] mci: add HS200 support for eMMCs

2024-03-14 Thread Steffen Trumtrar
This series adds support for HS200 mode to mci-core and sdhci. As the host driver also needs to handle clock setup, pin control and host specific tuning, this series only adds HS200 support to the Arasan SDHCI driver. Tested on: ZynqMP Compile tested: for ZynqMP with/without CONFIG_MCI_TUNING

[PATCH v2 03/14] mci: arasan: implement 25MHz quirk for zynqmp

2024-03-14 Thread Steffen Trumtrar
The Arasan on the zynqmp in version 8.9a doesn't meet the timing requirements at 25MHz. It works at 19MHz instead. Add the quirk from linux kernel v6.8-rc4. Signed-off-by: Steffen Trumtrar Reviewed-by: Ahmad Fatoum --- drivers/mci/arasan-sdhci.c | 28 +++- 1 file

[PATCH v2 08/14] include: mci: add more EXT_CSD_CARD_TYPE_*

2024-03-14 Thread Steffen Trumtrar
Import missing EXT_CSD_CARD_TYPE_ defines from linux v6.7. EXT_CSD_CARD_TYPE_SDR_1_8V/1_2V is unused in barebox. Replace with the defines from linux. Signed-off-by: Steffen Trumtrar Reviewed-by: Ahmad Fatoum --- include/mci.h | 15 +-- 1 file changed, 13 insertions(+), 2

[PATCH v2 06/14] mci: core: save the set clock as actual_clock

2024-03-14 Thread Steffen Trumtrar
Linux mmc_host saves the actual_clock set on the HC. Do the same to use it later. Signed-off-by: Steffen Trumtrar --- drivers/mci/mci-core.c | 2 ++ include/mci.h | 1 + 2 files changed, 3 insertions(+) diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c index

Re: [PATCH 4/4] bootm: add global.bootm.provide_hostname option

2024-03-14 Thread Ahmad Fatoum
Hello Marco, Cc += Leonard On 13.03.24 20:45, Marco Felsch wrote: > + if (!barebox_hostname_is_valid(hostname)) { > + pr_err("Provided hostname is not compatible to systemd > hostname requirements\n"); > + ret = -EINVAL; > +