u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Dinh Nguyen <dinguyen@opensource.altera.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 17/35] arm: socfpga: mmc: Pick the clock from clock manager
Date: Tue, 16 Sep 2014 10:52:27 -0500	[thread overview]
Message-ID: <54185CBB.7020105@opensource.altera.com> (raw)
In-Reply-To: <1410779188-6880-18-git-send-email-marex@denx.de>

On 09/15/2014 06:06 AM, Marek Vasut wrote:
> From: Pavel Machek <pavel@denx.de>
> 
> Make the SoCFPGA MMC stub pick clock via the clock manager
> frequency accessors instead of hard-coding the frequency.
> 
> Also fix calloc() misuse.
> 
> Signed-off-by: Pavel Machek <pavel@denx.de>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Chin Liang See <clsee@altera.com>
> Cc: Dinh Nguyen <dinguyen@altera.com>
> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> Cc: Tom Rini <trini@ti.com>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: Pavel Machek <pavel@denx.de>
> ---
>  drivers/mmc/socfpga_dw_mmc.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mmc/socfpga_dw_mmc.c b/drivers/mmc/socfpga_dw_mmc.c
> index 1f96382..eb69aed 100644
> --- a/drivers/mmc/socfpga_dw_mmc.c
> +++ b/drivers/mmc/socfpga_dw_mmc.c
> @@ -7,6 +7,7 @@
>  #include <common.h>
>  #include <malloc.h>
>  #include <dwmmc.h>
> +#include <errno.h>
>  #include <asm/arch/dwmmc.h>
>  #include <asm/arch/clock_manager.h>
>  #include <asm/arch/system_manager.h>
> @@ -44,12 +45,18 @@ static void socfpga_dwmci_clksel(struct dwmci_host *host)
>  int socfpga_dwmmc_init(u32 regbase, int bus_width, int index)
>  {
>  	struct dwmci_host *host;
> +	unsigned long clk = cm_get_mmc_controller_clk_hz();
> +
> +	if (clk == 0) {
> +		printf("%s: MMC clock is zero!", __func__);
> +		return -EINVAL;
> +	}
>  
>  	/* calloc for zero init */
> -	host = calloc(sizeof(struct dwmci_host), 1);
> +	host = calloc(1, sizeof(struct dwmci_host));
>  	if (!host) {
> -		printf("dwmci_host calloc fail!\n");
> -		return -1;
> +		printf("%s: calloc() failed!\n", __func__);
> +		return -ENOMEM;
>  	}
>  
>  	host->name = "SOCFPGA DWMMC";
> @@ -58,7 +65,7 @@ int socfpga_dwmmc_init(u32 regbase, int bus_width, int index)
>  	host->clksel = socfpga_dwmci_clksel;
>  	host->dev_index = index;
>  	/* fixed clock divide by 4 which due to the SDMMC wrapper */
> -	host->bus_hz = CONFIG_SOCFPGA_DWMMC_BUS_HZ;
> +	host->bus_hz = clk;
>  	host->fifoth_val = MSIZE(0x2) |
>  		RX_WMARK(CONFIG_SOCFPGA_DWMMC_FIFO_DEPTH / 2 - 1) |
>  		TX_WMARK(CONFIG_SOCFPGA_DWMMC_FIFO_DEPTH / 2);
> 

Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>

Thanks..

  reply	other threads:[~2014-09-16 15:52 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-15 11:05 [U-Boot] [PATCH 00/35][RFC] arm: socfpga: Usability fixes Marek Vasut
2014-09-15 11:05 ` [U-Boot] [PATCH 01/35] net: Remove unused CONFIG_DW_SEARCH_PHY from configs Marek Vasut
2014-09-15 15:34   ` Dinh Nguyen
2014-09-16 13:56     ` Marek Vasut
2014-09-15 11:05 ` [U-Boot] [PATCH 02/35] net: phy: Cleanup drivers/net/phy/micrel.c Marek Vasut
2014-09-15 11:05 ` [U-Boot] [PATCH 03/35] net: dwc: Fix cache alignment issues Marek Vasut
2014-09-15 15:40   ` Dinh Nguyen
2014-09-15 17:25     ` Marek Vasut
2014-09-15 11:05 ` [U-Boot] [PATCH 04/35] net: dwc: Make the cache handling less cryptic Marek Vasut
2014-09-16 13:10   ` Pavel Machek
2014-09-16 13:10   ` Pavel Machek
2014-09-16 13:11   ` Pavel Machek
2014-09-16 13:13   ` Pavel Machek
2014-09-16 13:13   ` Pavel Machek
2014-09-16 13:14   ` Pavel Machek
2014-09-16 13:16   ` Pavel Machek
2014-09-16 13:16   ` Pavel Machek
2014-09-16 18:10     ` Marek Vasut
2014-09-16 22:03       ` Dinh Nguyen
2014-09-16 22:12         ` Marek Vasut
2014-09-15 11:05 ` [U-Boot] [PATCH 05/35] mmc: dw_mmc: cleanups Marek Vasut
2014-09-15 16:00   ` Dinh Nguyen
2014-09-15 17:25     ` Marek Vasut
2014-09-15 11:05 ` [U-Boot] [PATCH 06/35] mmc: dw_mmc: Fix cache alignment issue Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 07/35] tools: socfpga: Add socfpga preloader signing to mkimage Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 08/35] arm: socfpga: Complete the list of base addresses Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 09/35] arm: socfpga: Clean up base address file Marek Vasut
2014-09-16 13:12   ` Pavel Machek
2014-09-15 11:06 ` [U-Boot] [PATCH 10/35] arm: socfpga: Add watchdog disable for socfpga Marek Vasut
2014-09-15 16:28   ` Dinh Nguyen
2014-09-16 13:58     ` Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 11/35] arm: socfpga: sysmgr: Clean up system manager Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 12/35] arm: socfpga: clock: Implant order into bit definitions Marek Vasut
2014-09-15 15:26   ` Wolfgang Denk
2014-09-15 21:21     ` Pavel Machek
2014-09-15 21:48       ` Marek Vasut
2014-09-16  8:18         ` Wolfgang Denk
2014-09-16 21:59           ` Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 13/35] arm: socfpga: clock: Drop nonsense inlining from clock manager code Marek Vasut
2014-09-15 19:25   ` Dinh Nguyen
2014-09-16 17:31     ` Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 14/35] arm: socfpga: clock: Add missing stubs into board file Marek Vasut
2014-09-15 19:27   ` Dinh Nguyen
2014-09-18 15:10   ` Pavel Machek
2014-09-15 11:06 ` [U-Boot] [PATCH 15/35] arm: socfpga: clock: Add code to read clock configuration Marek Vasut
2014-09-15 20:09   ` Dinh Nguyen
2014-09-16 18:09     ` Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 16/35] arm: socfpga: clock: Trim down code duplication Marek Vasut
2014-09-16 15:38   ` Dinh Nguyen
2014-09-18 15:12   ` Pavel Machek
2014-09-15 11:06 ` [U-Boot] [PATCH 17/35] arm: socfpga: mmc: Pick the clock from clock manager Marek Vasut
2014-09-16 15:52   ` Dinh Nguyen [this message]
2014-09-15 11:06 ` [U-Boot] [PATCH 18/35] arm: socfpga: timer: Pull the timer reload value from config file Marek Vasut
2014-09-15 21:25   ` Pavel Machek
2014-09-16 15:55   ` Dinh Nguyen
2014-09-15 11:06 ` [U-Boot] [PATCH 19/35] arm: socfpga: reset: Add EMAC reset functions Marek Vasut
2014-09-15 21:26   ` Pavel Machek
2014-09-15 11:06 ` [U-Boot] [PATCH 20/35] arm: socfpga: misc: Add proper ethernet initialization Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 21/35] arm: socfpga: misc: Add SD controller init Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 22/35] arm: socfpga: misc: Align print_cpuinfo() output Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 23/35] arm: socfpga: board: Correctly set ATAG position Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 24/35] arm: socfpga: board: Align checkboard() output Marek Vasut
2014-09-15 21:28   ` Pavel Machek
2014-09-15 11:06 ` [U-Boot] [PATCH 25/35] arm: socfpga: fpga: Add SoCFPGA FPGA programming interface Marek Vasut
2014-09-15 15:41   ` Wolfgang Denk
2014-09-16 18:18     ` Marek Vasut
2014-09-16  9:42   ` Michal Simek
2014-09-16 10:12     ` Marek Vasut
2014-09-16 10:33       ` Michal Simek
2014-09-16 20:15         ` Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 26/35] arm: socfpga: reset: Add function to reset FPGA bridges Marek Vasut
2014-09-15 21:31   ` Pavel Machek
2014-09-15 11:06 ` [U-Boot] [PATCH 27/35] arm: socfpga: sysmgr: Add FPGA bits into system manager Marek Vasut
2014-09-15 11:06 ` [U-Boot] [PATCH 28/35] arm: cache: Add support for write-allocate D-Cache Marek Vasut
2014-09-15 21:34   ` Pavel Machek
2014-09-15 11:06 ` [U-Boot] [PATCH 29/35] arm: socfpga: cache: Define cacheline size Marek Vasut
2014-09-15 21:35   ` Pavel Machek
2014-09-15 11:59 ` [U-Boot] [PATCH 30/35] arm: socfpga: cache: Enable D-Cache Marek Vasut
2014-09-15 21:39   ` Pavel Machek
2014-09-15 17:17 ` [U-Boot] [PATCH 31/35] arm: socfpga: cache: Enable PL310 L2 cache Marek Vasut
2014-09-15 17:17 ` [U-Boot] [PATCH 32/35] arm: socfpga: scu: Add SCU register file Marek Vasut
2014-09-15 17:17 ` [U-Boot] [PATCH 33/35] arm: socfpga: nic301: Add NIC-301 GPV " Marek Vasut
2014-09-15 17:17 ` [U-Boot] [PATCH 34/35] arm: socfpga: pl310: Map SDRAM to 0x0 Marek Vasut
2014-09-15 17:18 ` [U-Boot] [PATCH 35/35] arm: socfpga: nic301: Add NIC-301 configuration code Marek Vasut
2014-09-16 13:18 ` [U-Boot] [PATCH 00/35][RFC] arm: socfpga: Usability fixes Pavel Machek
2014-09-16 16:28   ` Dinh Nguyen
2014-09-16 20:43     ` Marek Vasut
2014-09-16 21:29       ` dinguyen
2014-09-16 21:55         ` Marek Vasut
2014-09-16 22:29           ` Dinh Nguyen
2014-09-16 23:52             ` Marek Vasut
2014-09-17 11:07               ` Chin Liang See
2014-09-17 12:35                 ` Marek Vasut
2014-09-17 14:11                 ` Wolfgang Denk
2014-09-19  9:44                   ` Chin Liang See
2014-09-19 11:12                     ` Marek Vasut
2014-09-19 12:06                       ` Marek Vasut
2014-09-17  5:33           ` Wolfgang Denk
2014-09-16 21:35       ` dinguyen
2014-09-16 21:46         ` Marek Vasut
2014-09-16 22:20           ` Dinh Nguyen
2014-09-16 23:52             ` Marek Vasut
2014-09-18 15:19         ` Pavel Machek
2014-09-17 11:29 ` Chin Liang See
2014-09-17 11:52   ` Marek Vasut
2014-09-17 12:00     ` Chin Liang See
2014-09-17 12:39       ` Marek Vasut
2014-09-19  9:32         ` Chin Liang See
2014-09-19 10:36           ` Chin Liang See
2014-09-19 11:11             ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54185CBB.7020105@opensource.altera.com \
    --to=dinguyen@opensource.altera.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).