summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@fitzsim.org>2019-05-17 08:17:07 -0400
committerTom Rini <trini@konsulko.com>2019-05-28 13:58:06 -0400
commit77934fdedfdd8a87d3b96c45b7bd540be60445d6 (patch)
tree1c9ed21bdf329e6eb0827dcfef9738f2c2abc1ee /board
parentd7cc0e4d7999b0b696ec4047420abf34a821ba29 (diff)
downloadu-boot-77934fdedfdd8a87d3b96c45b7bd540be60445d6.tar.gz
dm: arm: bcmstb: Enable driver model MMC support
For bcm7445 and bcm7260, this patch enables CONFIG_DM_MMC and updates the bcmstb SDHCI driver to use the new driver model. This allows removal of SDHCI configuration handling from bcmstb.c, and eliminates a board removal compile warning. Signed-off-by: Thomas Fitzsimmons <fitzsim@fitzsim.org> Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board')
-rw-r--r--board/broadcom/bcmstb/bcmstb.c65
1 files changed, 1 insertions, 64 deletions
diff --git a/board/broadcom/bcmstb/bcmstb.c b/board/broadcom/bcmstb/bcmstb.c
index 56328463ae..7f8e0f951d 100644
--- a/board/broadcom/bcmstb/bcmstb.c
+++ b/board/broadcom/bcmstb/bcmstb.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* (C) Copyright 2018 Cisco Systems, Inc.
+ * (C) Copyright 2019 Synamedia
*
* Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
*/
@@ -9,7 +10,6 @@
#include <common.h>
#include <asm/io.h>
#include <asm/bootm.h>
-#include <mach/sdhci.h>
#include <mach/timer.h>
#include <mmc.h>
#include <fdtdec.h>
@@ -80,69 +80,6 @@ void enable_caches(void)
*/
}
-static const phys_addr_t bcmstb_sdhci_address(u32 alias_index)
-{
- int node = 0;
- int ret = 0;
- char sdhci[16] = { 0 };
- const void *fdt = gd->fdt_blob;
- const char *path = NULL;
- struct fdt_resource resource = { 0 };
-
- if (!fdt) {
- printf("%s: Invalid gd->fdt_blob\n", __func__);
- return 0;
- }
-
- node = fdt_path_offset(fdt, "/aliases");
- if (node < 0) {
- printf("%s: Failed to find /aliases node\n", __func__);
- return 0;
- }
-
- sprintf(sdhci, "sdhci%d", alias_index);
- path = fdt_getprop(fdt, node, sdhci, NULL);
- if (!path) {
- printf("%s: Failed to find alias for %s\n", __func__, sdhci);
- return 0;
- }
-
- node = fdt_path_offset(fdt, path);
- if (node < 0) {
- printf("%s: Failed to resolve BCMSTB SDHCI alias\n", __func__);
- return 0;
- }
-
- ret = fdt_get_named_resource(fdt, node, "reg", "reg-names",
- "host", &resource);
- if (ret) {
- printf("%s: Failed to read BCMSTB SDHCI host resource\n",
- __func__);
- return 0;
- }
-
- return resource.start;
-}
-
-int board_mmc_init(bd_t *bis)
-{
- phys_addr_t sdhci_base_address = 0;
-
- sdhci_base_address = bcmstb_sdhci_address(CONFIG_BCMSTB_SDHCI_INDEX);
-
- if (!sdhci_base_address) {
- sdhci_base_address = BCMSTB_SDHCI_BASE;
- printf("%s: Assuming BCMSTB SDHCI address: 0x%p\n",
- __func__, (void *)sdhci_base_address);
- }
-
- debug("BCMSTB SDHCI base address: 0x%p\n", (void *)sdhci_base_address);
-
- bcmstb_sdhci_init(sdhci_base_address);
-
- return 0;
-}
-
int timer_init(void)
{
gd->arch.timer_rate_hz = readl(BCMSTB_TIMER_FREQUENCY);