From 77934fdedfdd8a87d3b96c45b7bd540be60445d6 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Fri, 17 May 2019 08:17:07 -0400 Subject: 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 Reviewed-by: Stefan Roese --- board/broadcom/bcmstb/bcmstb.c | 65 +----------------------------------------- 1 file changed, 1 insertion(+), 64 deletions(-) (limited to 'board/broadcom') diff --git a/board/broadcom/bcmstb/bcmstb.c b/board/broadcom/bcmstb/bcmstb.c index 5632846..7f8e0f9 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 */ @@ -9,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -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); -- cgit v1.1