1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright 2013 Broadcom Corporation.
8 #include <linux/errno.h>
9 #include <asm/arch/sysmap.h>
10 #include <asm/kona-common/clk.h>
13 /* Enable appropriate clocks for an SDIO port */
14 int clk_sdio_enable(void *base, u32 rate, u32 *actual_ratep)
24 case CONFIG_SYS_SDIO_BASE0:
25 clkstr = CONFIG_SYS_SDIO0 "_clk";
26 ahbstr = CONFIG_SYS_SDIO0 "_ahb_clk";
27 slpstr = CONFIG_SYS_SDIO0 "_sleep_clk";
29 case CONFIG_SYS_SDIO_BASE1:
30 clkstr = CONFIG_SYS_SDIO1 "_clk";
31 ahbstr = CONFIG_SYS_SDIO1 "_ahb_clk";
32 slpstr = CONFIG_SYS_SDIO1 "_sleep_clk";
34 case CONFIG_SYS_SDIO_BASE2:
35 clkstr = CONFIG_SYS_SDIO2 "_clk";
36 ahbstr = CONFIG_SYS_SDIO2 "_ahb_clk";
37 slpstr = CONFIG_SYS_SDIO2 "_sleep_clk";
39 case CONFIG_SYS_SDIO_BASE3:
40 clkstr = CONFIG_SYS_SDIO3 "_clk";
41 ahbstr = CONFIG_SYS_SDIO3 "_ahb_clk";
42 slpstr = CONFIG_SYS_SDIO3 "_sleep_clk";
45 printf("%s: base 0x%p not found\n", __func__, base);
49 ret = clk_get_and_enable(ahbstr);
53 ret = clk_get_and_enable(slpstr);
59 ret = clk_set_rate(c, rate);
67 printf("%s: Couldn't find %s\n", __func__, clkstr);