[PATCH 1/3] ARM: imx: vining2000: Clean up uSDHC4 setup

Stefano Babic sbabic at denx.de
Wed Jan 15 13:40:15 CET 2020


On 15/01/20 11:27, Marek Vasut wrote:
> Simplify the uSDHC4 eMMC controller setup. This is the only eMMC
> present on the system and only controller that is used, so drop
> the extra logic.
> 
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> Cc: Silvio Fricke <silvio.fricke at softing.com>
> Cc: Stefano Babic <sbabic at denx.de>
> ---
>  board/softing/vining_2000/vining_2000.c | 27 ++++---------------------
>  1 file changed, 4 insertions(+), 23 deletions(-)
> 
> diff --git a/board/softing/vining_2000/vining_2000.c b/board/softing/vining_2000/vining_2000.c
> index ef914b13a1..6dc3fc8b50 100644
> --- a/board/softing/vining_2000/vining_2000.c
> +++ b/board/softing/vining_2000/vining_2000.c
> @@ -427,8 +427,6 @@ void board_preboot_os(void)
>  #include <spl.h>
>  #include <asm/arch/mx6-ddr.h>
>  
> -static struct fsl_esdhc_cfg usdhc_cfg = { USDHC4_BASE_ADDR };
> -
>  static iomux_v3_cfg_t const pcie_pads[] = {
>  	MX6_PAD_NAND_DATA02__GPIO4_IO_6 | MUX_PAD_CTRL(GPIO_PAD_CTRL),
>  };
> @@ -461,30 +459,13 @@ static void vining2000_spl_setup_iomux_uart(void)
>  	imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads));
>  }
>  
> +static struct fsl_esdhc_cfg usdhc_cfg = { USDHC4_BASE_ADDR };
> +
>  int board_mmc_init(bd_t *bis)
>  {
> -	struct src *src_regs = (struct src *)SRC_BASE_ADDR;
> -	u32 val;
> -	u32 port;
> -
> -	val = readl(&src_regs->sbmr1);
> -
> -	if ((val & 0xc0) != 0x40) {
> -		printf("Not boot from USDHC!\n");
> -		return -EINVAL;
> -	}
> -
> -	port = (val >> 11) & 0x3;
> -	printf("port %d\n", port);
> -	switch (port) {
> -	case 3:
> -		imx_iomux_v3_setup_multiple_pads(
> -			usdhc4_pads, ARRAY_SIZE(usdhc4_pads));
> -		usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
> -		usdhc_cfg.esdhc_base = USDHC4_BASE_ADDR;
> -		break;
> -	}
> +	imx_iomux_v3_setup_multiple_pads(usdhc4_pads, ARRAY_SIZE(usdhc4_pads));
>  
> +	usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
>  	gd->arch.sdhc_clk = usdhc_cfg.sdhc_clk;
>  	return fsl_esdhc_initialize(bis, &usdhc_cfg);
>  }
> 

Reviewed-by: Stefano Babic <sbabic at denx.de>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list