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..
next prev parent 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).