[U-Boot] [UBOOT PATCH v2 0/2] arm64: zynqmp: mmc: Moved mmc u-boot headers to the Kconfig

This series of patch moved mmc u-boot headers to the Kconfig and enabled it in respective defconfig.
These are the configs: -CONFIG_ZYNQ_SDHCI0 -CONFIG_ZYNQ_SDHCI1
-Changes in V2: - Added depends on MMC_SDHCI_ZYNQ - Branch: u-boot-microblaze/kconfig
Vipul Kumar (2): arm64: zynqmp: mmc: Added Kconfig support for CONFIG_ZYNQ_SDHCI0 arm64: zynqmp: mmc: Added Kconfig support for CONFIG_ZYNQ_SDHCI1
arch/arm/cpu/armv8/zynqmp/Kconfig | 12 ++++++++++++ configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 2 ++ configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig | 1 + configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h | 2 -- include/configs/xilinx_zynqmp_zc1751_xm019_dc5.h | 1 - include/configs/xilinx_zynqmp_zcu102.h | 1 - 9 files changed, 18 insertions(+), 4 deletions(-)
-- 2.7.4
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

This patch added Kconfig support for CONFIG_ZYNQ_SDHCI0 and enabled it in respective defconfig.
Signed-off-by: Vipul Kumar vipulk@xilinx.com Signed-off-by: Siva Durga Prasad Paladugu sivadur@xilinx.com --- - Changes in v2: - Added depends on MMC_SDHCI_ZYNQ - Branch: u-boot-microblaze/kconfig --- arch/arm/cpu/armv8/zynqmp/Kconfig | 6 ++++++ configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 + configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig | 1 + include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h | 1 - include/configs/xilinx_zynqmp_zc1751_xm019_dc5.h | 1 - 5 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/armv8/zynqmp/Kconfig b/arch/arm/cpu/armv8/zynqmp/Kconfig index 9e521ed..6eddea7 100644 --- a/arch/arm/cpu/armv8/zynqmp/Kconfig +++ b/arch/arm/cpu/armv8/zynqmp/Kconfig @@ -89,6 +89,12 @@ config ZYNQMP_PSU_INIT_ENABLED help Include psu_init to full u-boot. SPL include psu_init by default.
+config ZYNQ_SDHCI0 + bool "Xilinx SDHCI0 controller" + depends on MMC_SDHCI_ZYNQ + help + Enable the SDHCI0 controller for Xilinx ZynqMP. + config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED bool "Overwrite SPL bootmode" depends on SPL diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig index 7da0ca8..05d98c0 100644 --- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig +++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZC1751 xm015 dc1" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI0=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm015-dc1" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig index ac565ec..403cb7c 100644 --- a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig +++ b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig @@ -4,6 +4,7 @@ CONFIG_ARCH_ZYNQMP=y CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZC1751 xm019 dc5" +CONFIG_ZYNQ_SDHCI0=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm019-dc5" CONFIG_DEBUG_UART=y CONFIG_DISTRO_DEFAULTS=y diff --git a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h index e3797a8..7bcefad 100644 --- a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h +++ b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H #define __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H
-#define CONFIG_ZYNQ_SDHCI0 #define CONFIG_ZYNQ_SDHCI1 #define CONFIG_ZYNQMP_XHCI_LIST {ZYNQMP_USB0_XHCI_BASEADDR}
diff --git a/include/configs/xilinx_zynqmp_zc1751_xm019_dc5.h b/include/configs/xilinx_zynqmp_zc1751_xm019_dc5.h index 6a0e397..5aaf6c0 100644 --- a/include/configs/xilinx_zynqmp_zc1751_xm019_dc5.h +++ b/include/configs/xilinx_zynqmp_zc1751_xm019_dc5.h @@ -11,7 +11,6 @@ #ifndef __CONFIG_ZYNQMP_ZC1751_XM019_DC5_H #define __CONFIG_ZYNQMP_ZC1751_XM019_DC5_H
-#define CONFIG_ZYNQ_SDHCI0
#include <configs/xilinx_zynqmp.h>
-- 2.7.4
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
Signed-off-by: Vipul Kumar vipulk@xilinx.com Signed-off-by: Siva Durga Prasad Paladugu sivadur@xilinx.com --- - Changes in v2: - Added depends on MMC_SDHCI_ZYNQ - Branch: u-boot-microblaze/kconfig --- arch/arm/cpu/armv8/zynqmp/Kconfig | 6 ++++++ configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 + configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h | 1 - include/configs/xilinx_zynqmp_zcu102.h | 1 - 7 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/armv8/zynqmp/Kconfig b/arch/arm/cpu/armv8/zynqmp/Kconfig index 6eddea7..a903344 100644 --- a/arch/arm/cpu/armv8/zynqmp/Kconfig +++ b/arch/arm/cpu/armv8/zynqmp/Kconfig @@ -95,6 +95,12 @@ config ZYNQ_SDHCI0 help Enable the SDHCI0 controller for Xilinx ZynqMP.
+config ZYNQ_SDHCI1 + bool "Xilinx SDHCI1 controller" + depends on MMC_SDHCI_ZYNQ + help + Enable the SDHCI1 controller for Xilinx ZynqMP. + config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED bool "Overwrite SPL bootmode" depends on SPL diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig index 05d98c0..be0e37f 100644 --- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig +++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig @@ -6,6 +6,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZC1751 xm015 dc1" CONFIG_ZYNQMP_USB=y CONFIG_ZYNQ_SDHCI0=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm015-dc1" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig index 1df5b0b..67d3fa6 100644 --- a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig +++ b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 rev1.0" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-rev1.0" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_revA_defconfig b/configs/xilinx_zynqmp_zcu102_revA_defconfig index c8a8362..76f7993 100644 --- a/configs/xilinx_zynqmp_zcu102_revA_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revA_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 revA" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revA" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig index 8f85b5f..0624034 100644 --- a/configs/xilinx_zynqmp_zcu102_revB_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 revB" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revB" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h index 7bcefad..a415569 100644 --- a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h +++ b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H #define __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H
-#define CONFIG_ZYNQ_SDHCI1 #define CONFIG_ZYNQMP_XHCI_LIST {ZYNQMP_USB0_XHCI_BASEADDR}
#include <configs/xilinx_zynqmp.h> diff --git a/include/configs/xilinx_zynqmp_zcu102.h b/include/configs/xilinx_zynqmp_zcu102.h index 27d9d6a..097ac49 100644 --- a/include/configs/xilinx_zynqmp_zcu102.h +++ b/include/configs/xilinx_zynqmp_zcu102.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_ZCU102_H #define __CONFIG_ZYNQMP_ZCU102_H
-#define CONFIG_ZYNQ_SDHCI1 #define CONFIG_SYS_I2C_MAX_HOPS 1 #define CONFIG_SYS_NUM_I2C_BUSES 18 #define CONFIG_SYS_I2C_BUSES { \ -- 2.7.4
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote:
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
Best Regards, Jaehoon Chung
Signed-off-by: Vipul Kumar vipulk@xilinx.com Signed-off-by: Siva Durga Prasad Paladugu sivadur@xilinx.com
- Changes in v2:
- Added depends on MMC_SDHCI_ZYNQ
- Branch: u-boot-microblaze/kconfig
arch/arm/cpu/armv8/zynqmp/Kconfig | 6 ++++++ configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 + configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h | 1 - include/configs/xilinx_zynqmp_zcu102.h | 1 - 7 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/armv8/zynqmp/Kconfig b/arch/arm/cpu/armv8/zynqmp/Kconfig index 6eddea7..a903344 100644 --- a/arch/arm/cpu/armv8/zynqmp/Kconfig +++ b/arch/arm/cpu/armv8/zynqmp/Kconfig @@ -95,6 +95,12 @@ config ZYNQ_SDHCI0 help Enable the SDHCI0 controller for Xilinx ZynqMP.
+config ZYNQ_SDHCI1
bool "Xilinx SDHCI1 controller"
depends on MMC_SDHCI_ZYNQ
help
Enable the SDHCI1 controller for Xilinx ZynqMP.
config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED bool "Overwrite SPL bootmode" depends on SPL diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig index 05d98c0..be0e37f 100644 --- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig +++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig @@ -6,6 +6,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZC1751 xm015 dc1" CONFIG_ZYNQMP_USB=y CONFIG_ZYNQ_SDHCI0=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm015-dc1" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig index 1df5b0b..67d3fa6 100644 --- a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig +++ b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 rev1.0" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-rev1.0" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_revA_defconfig b/configs/xilinx_zynqmp_zcu102_revA_defconfig index c8a8362..76f7993 100644 --- a/configs/xilinx_zynqmp_zcu102_revA_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revA_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 revA" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revA" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig index 8f85b5f..0624034 100644 --- a/configs/xilinx_zynqmp_zcu102_revB_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 revB" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revB" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h index 7bcefad..a415569 100644 --- a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h +++ b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H #define __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H
-#define CONFIG_ZYNQ_SDHCI1 #define CONFIG_ZYNQMP_XHCI_LIST {ZYNQMP_USB0_XHCI_BASEADDR}
#include <configs/xilinx_zynqmp.h> diff --git a/include/configs/xilinx_zynqmp_zcu102.h b/include/configs/xilinx_zynqmp_zcu102.h index 27d9d6a..097ac49 100644 --- a/include/configs/xilinx_zynqmp_zcu102.h +++ b/include/configs/xilinx_zynqmp_zcu102.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_ZCU102_H #define __CONFIG_ZYNQMP_ZCU102_H
-#define CONFIG_ZYNQ_SDHCI1 #define CONFIG_SYS_I2C_MAX_HOPS 1 #define CONFIG_SYS_NUM_I2C_BUSES 18
#define CONFIG_SYS_I2C_BUSES { \
2.7.4
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

Hi Jaehoon,
-----Original Message----- From: Jaehoon Chung [mailto:jh80.chung@samsung.com] Sent: Wednesday, February 28, 2018 1:13 PM To: Vipul Kumar vipulk@xilinx.com; u-boot@lists.denx.de Cc: Vipul Kumar vipulk@xilinx.com; michal.simek@xilinx.com; Siva Durga Prasad Paladugu sivadur@xilinx.com Subject: Re: [U-Boot] [UBOOT PATCH v2 2/2] arm64: zynqmp: mmc: Added Kconfig support for CONFIG_ZYNQ_SDHCI1
Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote:
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
Even though CONFIG_ZYNQ_SDHCI0 is not enabled anywhere, this particular code in zynqmp.c and spl.c will be needed if any of the custom boards have both SDHCI0 and SDHCI1 enabled as ZynqMP has two sd controllers.
Thanks, Vipul.
Best Regards, Jaehoon Chung
Signed-off-by: Vipul Kumar vipulk@xilinx.com Signed-off-by: Siva Durga Prasad Paladugu sivadur@xilinx.com
- Changes in v2:
- Added depends on MMC_SDHCI_ZYNQ
- Branch: u-boot-microblaze/kconfig
arch/arm/cpu/armv8/zynqmp/Kconfig | 6 ++++++ configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 + configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h | 1 - include/configs/xilinx_zynqmp_zcu102.h | 1 - 7 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/armv8/zynqmp/Kconfig b/arch/arm/cpu/armv8/zynqmp/Kconfig index 6eddea7..a903344 100644 --- a/arch/arm/cpu/armv8/zynqmp/Kconfig +++ b/arch/arm/cpu/armv8/zynqmp/Kconfig @@ -95,6 +95,12 @@ config ZYNQ_SDHCI0 help Enable the SDHCI0 controller for Xilinx ZynqMP.
+config ZYNQ_SDHCI1
bool "Xilinx SDHCI1 controller"
depends on MMC_SDHCI_ZYNQ
help
Enable the SDHCI1 controller for Xilinx ZynqMP.
config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED bool "Overwrite SPL bootmode" depends on SPL diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig index 05d98c0..be0e37f 100644 --- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig +++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig @@ -6,6 +6,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x8000
CONFIG_IDENT_STRING="
Xilinx ZynqMP ZC1751 xm015 dc1" CONFIG_ZYNQMP_USB=y CONFIG_ZYNQ_SDHCI0=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm015-dc1" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig index 1df5b0b..67d3fa6 100644 --- a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig +++ b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 rev1.0" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-rev1.0" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_revA_defconfig b/configs/xilinx_zynqmp_zcu102_revA_defconfig index c8a8362..76f7993 100644 --- a/configs/xilinx_zynqmp_zcu102_revA_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revA_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 revA" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revA" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig index 8f85b5f..0624034 100644 --- a/configs/xilinx_zynqmp_zcu102_revB_defconfig +++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig @@ -5,6 +5,7 @@ CONFIG_SYS_TEXT_BASE=0x8000000 CONFIG_SYS_MALLOC_F_LEN=0x8000 CONFIG_IDENT_STRING=" Xilinx ZynqMP ZCU102 revB" CONFIG_ZYNQMP_USB=y +CONFIG_ZYNQ_SDHCI1=y CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revB" CONFIG_DEBUG_UART=y CONFIG_AHCI=y diff --git a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h index 7bcefad..a415569 100644 --- a/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h +++ b/include/configs/xilinx_zynqmp_zc1751_xm015_dc1.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H #define __CONFIG_ZYNQMP_ZC1751_XM015_DC1_H
-#define CONFIG_ZYNQ_SDHCI1 #define CONFIG_ZYNQMP_XHCI_LIST {ZYNQMP_USB0_XHCI_BASEADDR}
#include <configs/xilinx_zynqmp.h> diff --git a/include/configs/xilinx_zynqmp_zcu102.h b/include/configs/xilinx_zynqmp_zcu102.h index 27d9d6a..097ac49 100644 --- a/include/configs/xilinx_zynqmp_zcu102.h +++ b/include/configs/xilinx_zynqmp_zcu102.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_ZCU102_H #define __CONFIG_ZYNQMP_ZCU102_H
-#define CONFIG_ZYNQ_SDHCI1 #define CONFIG_SYS_I2C_MAX_HOPS 1 #define CONFIG_SYS_NUM_I2C_BUSES 18
#define CONFIG_SYS_I2C_BUSES { \
2.7.4
This email and any attachments are intended for the sole use of the named
recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On 28.2.2018 08:42, Jaehoon Chung wrote:
Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote:
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
you are right. Dependency should be
config ZYNQ_SDHCI1 ... depends on ZYNQ_SDHCI0
Do you agree?
Thanks, Michal

On 03/02/2018 12:13 AM, Michal Simek wrote:
On 28.2.2018 08:42, Jaehoon Chung wrote:
Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote:
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
you are right. Dependency should be
config ZYNQ_SDHCI1 ... depends on ZYNQ_SDHCI0
Hmm. I didn't check fully, but it seems that it's possible to use only one config. I will check in more detail. After that, resend the email. :)
Best regards, Jaehoon Chung
afft Do you agree?
Thanks, Michal

On 2.3.2018 07:27, Jaehoon Chung wrote:
On 03/02/2018 12:13 AM, Michal Simek wrote:
On 28.2.2018 08:42, Jaehoon Chung wrote:
Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote:
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
you are right. Dependency should be
config ZYNQ_SDHCI1 ... depends on ZYNQ_SDHCI0
Hmm. I didn't check fully, but it seems that it's possible to use only one config. I will check in more detail. After that, resend the email. :)
I can't also see any issue with using just one symbol with proper name.
M

On 03/02/2018 04:44 PM, Michal Simek wrote:
On 2.3.2018 07:27, Jaehoon Chung wrote:
On 03/02/2018 12:13 AM, Michal Simek wrote:
On 28.2.2018 08:42, Jaehoon Chung wrote:
Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote:
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
you are right. Dependency should be
config ZYNQ_SDHCI1 ... depends on ZYNQ_SDHCI0
Hmm. I didn't check fully, but it seems that it's possible to use only one config. I will check in more detail. After that, resend the email. :)
I can't also see any issue with using just one symbol with proper name.
Maybe you know more than me about zynq boards. In SPL, it seems that it needs to add some config in spl.c for distinguishing boot device. But in not SPL, if zynq boards are supported the device-tree, then can you use the below concept?
commit 02ad33aa3a84821c8d9a6c4f167f143f6248b084 Author: Jaehoon Chung jh80.chung@samsung.com Date: Thu Feb 2 13:41:14 2017 +0900
mmc: mmc-uclass: use the fixed devnum with alias node
If there are alias nodes as "mmc", use the devnum as alias index number. This patch is for fixing a problem of Exynos4 series. Problem is the below thing.
Current legacy mode: EXYNOS DWMMC: 0, SAMSUNG SDHCI: 1
After using DM: SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1
Dev index is swapped. Then u-boot can't find the kernel image..because it is already set to 0 as mmcdev. If change from legacy to DM, also needs to touch all exynos4 config file. For using simply, just supporting the fixed devnum with alias node is better than it.
Usage: alaise { .... mmc0 = &sdhci2; /* eMMC */ mmc1 = &sdhci1; /* SD */ ... }
Best Regards, Jaehoon Chung
M

On 2.3.2018 10:01, Jaehoon Chung wrote:
On 03/02/2018 04:44 PM, Michal Simek wrote:
On 2.3.2018 07:27, Jaehoon Chung wrote:
On 03/02/2018 12:13 AM, Michal Simek wrote:
On 28.2.2018 08:42, Jaehoon Chung wrote:
Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote:
This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
you are right. Dependency should be
config ZYNQ_SDHCI1 ... depends on ZYNQ_SDHCI0
Hmm. I didn't check fully, but it seems that it's possible to use only one config. I will check in more detail. After that, resend the email. :)
I can't also see any issue with using just one symbol with proper name.
Maybe you know more than me about zynq boards. In SPL, it seems that it needs to add some config in spl.c for distinguishing boot device. But in not SPL, if zynq boards are supported the device-tree, then can you use the below concept?
commit 02ad33aa3a84821c8d9a6c4f167f143f6248b084 Author: Jaehoon Chung jh80.chung@samsung.com Date: Thu Feb 2 13:41:14 2017 +0900
mmc: mmc-uclass: use the fixed devnum with alias node If there are alias nodes as "mmc", use the devnum as alias index number. This patch is for fixing a problem of Exynos4 series. Problem is the below thing. Current legacy mode: EXYNOS DWMMC: 0, SAMSUNG SDHCI: 1 After using DM: SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1 Dev index is swapped. Then u-boot can't find the kernel image..because it is already set to 0 as mmcdev. If change from legacy to DM, also needs to touch all exynos4 config file. For using simply, just supporting the fixed devnum with alias node is better than it. Usage: alaise { .... mmc0 = &sdhci2; /* eMMC */ mmc1 = &sdhci1; /* SD */ ... }
Chips are supporting booting from SD0 or SD1 controller.
#define SD_MODE 0x00000003 /* sd 0 */ #define SD_MODE1 0x00000005 /* sd 1 */ #define EMMC_MODE 0x00000006 #define SD1_LSHFT_MODE 0x0000000E /* SD1 Level shifter */
It means on systems which has only sd0 or sd1 we are setting up alias as mmc0 = &sdhci0; (sd0) or mmc0 = &sdhci1; (sd1)
It means dev 0 is used all the time.
In case of system with both controllers on the same board you need to have two aliases. Normally like this. mmc0 = &sdhci0; (sd0) mmc1 = &sdhci1; (sd1)
In case you choose to boot from sd1 default behavior should be that all images are on sd1 that's why boot device needs to be setup. When you load the same u-boot to sd0 it should boot from sd0.
Changing aliases for certain boot mode configuration should just work but that's not intention. Normally the same boot files can be loaded to sd, qspi, nand, jtag, you setup boot mode and they should primary boot from that boot device and that's what that logic is about.
Thanks, Michal

On 03/02/2018 06:18 PM, Michal Simek wrote:
On 2.3.2018 10:01, Jaehoon Chung wrote:
On 03/02/2018 04:44 PM, Michal Simek wrote:
On 2.3.2018 07:27, Jaehoon Chung wrote:
On 03/02/2018 12:13 AM, Michal Simek wrote:
On 28.2.2018 08:42, Jaehoon Chung wrote:
Hi,
On 02/28/2018 03:28 PM, Vipul Kumar wrote: > This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and > enabled it in defconfig.
I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. It's used in zynqmp.c and spl.c ..like below..
#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) .... #endif
If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs.
If i missed something, let me know, plz.
you are right. Dependency should be
config ZYNQ_SDHCI1 ... depends on ZYNQ_SDHCI0
Hmm. I didn't check fully, but it seems that it's possible to use only one config. I will check in more detail. After that, resend the email. :)
I can't also see any issue with using just one symbol with proper name.
Maybe you know more than me about zynq boards. In SPL, it seems that it needs to add some config in spl.c for distinguishing boot device. But in not SPL, if zynq boards are supported the device-tree, then can you use the below concept?
commit 02ad33aa3a84821c8d9a6c4f167f143f6248b084 Author: Jaehoon Chung jh80.chung@samsung.com Date: Thu Feb 2 13:41:14 2017 +0900
mmc: mmc-uclass: use the fixed devnum with alias node If there are alias nodes as "mmc", use the devnum as alias index number. This patch is for fixing a problem of Exynos4 series. Problem is the below thing. Current legacy mode: EXYNOS DWMMC: 0, SAMSUNG SDHCI: 1 After using DM: SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1 Dev index is swapped. Then u-boot can't find the kernel image..because it is already set to 0 as mmcdev. If change from legacy to DM, also needs to touch all exynos4 config file. For using simply, just supporting the fixed devnum with alias node is better than it. Usage: alaise { .... mmc0 = &sdhci2; /* eMMC */ mmc1 = &sdhci1; /* SD */ ... }
Chips are supporting booting from SD0 or SD1 controller.
#define SD_MODE 0x00000003 /* sd 0 */ #define SD_MODE1 0x00000005 /* sd 1 */ #define EMMC_MODE 0x00000006 #define SD1_LSHFT_MODE 0x0000000E /* SD1 Level shifter */
It means on systems which has only sd0 or sd1 we are setting up alias as mmc0 = &sdhci0; (sd0) or mmc0 = &sdhci1; (sd1)
It means dev 0 is used all the time.
In case of system with both controllers on the same board you need to have two aliases. Normally like this. mmc0 = &sdhci0; (sd0) mmc1 = &sdhci1; (sd1)
In case you choose to boot from sd1 default behavior should be that all images are on sd1 that's why boot device needs to be setup. When you load the same u-boot to sd0 it should boot from sd0.
Changing aliases for certain boot mode configuration should just work but that's not intention. Normally the same boot files can be loaded to sd, qspi, nand, jtag, you setup boot mode and they should primary boot from that boot device and that's what that logic is about.
Thanks for explaining this. I understood what purpose those configs are used.
Best Regards, Jaehoon Chung
Thanks, Michal

On 5.3.2018 10:38, Jaehoon Chung wrote:
On 03/02/2018 06:18 PM, Michal Simek wrote:
On 2.3.2018 10:01, Jaehoon Chung wrote:
On 03/02/2018 04:44 PM, Michal Simek wrote:
On 2.3.2018 07:27, Jaehoon Chung wrote:
On 03/02/2018 12:13 AM, Michal Simek wrote:
On 28.2.2018 08:42, Jaehoon Chung wrote: > Hi, > > On 02/28/2018 03:28 PM, Vipul Kumar wrote: >> This patch added Kconfig support for CONFIG_ZYNQ_SDHCI1 and >> enabled it in defconfig. > > I think that CONFIG_ZYNQ_SDHCI1 is meaningful when CONFIG_ZYNQ_SDHCI0 is enabled. > It's used in zynqmp.c and spl.c ..like below.. > > #if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1) > .... > #endif > > If CONFIG_ZYNQ_SDHCI0 isn't enabled, doesn't it need to set CONFIG_ZYNQ_SDHCI1 in defconfigs. > > If i missed something, let me know, plz.
you are right. Dependency should be
config ZYNQ_SDHCI1 ... depends on ZYNQ_SDHCI0
Hmm. I didn't check fully, but it seems that it's possible to use only one config. I will check in more detail. After that, resend the email. :)
I can't also see any issue with using just one symbol with proper name.
Maybe you know more than me about zynq boards. In SPL, it seems that it needs to add some config in spl.c for distinguishing boot device. But in not SPL, if zynq boards are supported the device-tree, then can you use the below concept?
commit 02ad33aa3a84821c8d9a6c4f167f143f6248b084 Author: Jaehoon Chung jh80.chung@samsung.com Date: Thu Feb 2 13:41:14 2017 +0900
mmc: mmc-uclass: use the fixed devnum with alias node If there are alias nodes as "mmc", use the devnum as alias index number. This patch is for fixing a problem of Exynos4 series. Problem is the below thing. Current legacy mode: EXYNOS DWMMC: 0, SAMSUNG SDHCI: 1 After using DM: SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1 Dev index is swapped. Then u-boot can't find the kernel image..because it is already set to 0 as mmcdev. If change from legacy to DM, also needs to touch all exynos4 config file. For using simply, just supporting the fixed devnum with alias node is better than it. Usage: alaise { .... mmc0 = &sdhci2; /* eMMC */ mmc1 = &sdhci1; /* SD */ ... }
Chips are supporting booting from SD0 or SD1 controller.
#define SD_MODE 0x00000003 /* sd 0 */ #define SD_MODE1 0x00000005 /* sd 1 */ #define EMMC_MODE 0x00000006 #define SD1_LSHFT_MODE 0x0000000E /* SD1 Level shifter */
It means on systems which has only sd0 or sd1 we are setting up alias as mmc0 = &sdhci0; (sd0) or mmc0 = &sdhci1; (sd1)
It means dev 0 is used all the time.
In case of system with both controllers on the same board you need to have two aliases. Normally like this. mmc0 = &sdhci0; (sd0) mmc1 = &sdhci1; (sd1)
In case you choose to boot from sd1 default behavior should be that all images are on sd1 that's why boot device needs to be setup. When you load the same u-boot to sd0 it should boot from sd0.
Changing aliases for certain boot mode configuration should just work but that's not intention. Normally the same boot files can be loaded to sd, qspi, nand, jtag, you setup boot mode and they should primary boot from that boot device and that's what that logic is about.
Thanks for explaining this. I understood what purpose those configs are used.
Good. Vipul: Please send v2 with proper dependency or new symbol which describe that configuration better.
Thanks, Michal
participants (4)
-
Jaehoon Chung
-
Michal Simek
-
Vipul Kumar
-
Vipul Kumar