mmc: exynos_dw_mmc: Convert to use livetree API
Update the driver to use livetree API instead of FDT one. No functional change. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
committed by
Minkyu Kang
parent
658a1b873a
commit
516f152d08
@@ -6,9 +6,7 @@
|
||||
|
||||
#include <clk.h>
|
||||
#include <dwmmc.h>
|
||||
#include <fdtdec.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <malloc.h>
|
||||
#include <errno.h>
|
||||
#include <asm/arch/dwmmc.h>
|
||||
@@ -226,18 +224,19 @@ static int do_dwmci_init(struct dwmci_host *host)
|
||||
#ifdef CONFIG_DM_MMC
|
||||
static int exynos_dwmmc_of_to_plat(struct udevice *dev)
|
||||
{
|
||||
const void *blob = gd->fdt_blob;
|
||||
struct dwmci_exynos_priv_data *priv = dev_get_priv(dev);
|
||||
struct dwmci_host *host = &priv->host;
|
||||
int node = dev_of_offset(dev);
|
||||
int err = 0;
|
||||
u32 timing[3];
|
||||
|
||||
#ifdef CONFIG_CPU_V7A
|
||||
const void *blob = gd->fdt_blob;
|
||||
int node = dev_of_offset(dev);
|
||||
|
||||
/* Extract device id for each mmc channel */
|
||||
host->dev_id = pinmux_decode_periph_id(blob, node);
|
||||
|
||||
host->dev_index = fdtdec_get_int(blob, node, "index", host->dev_id);
|
||||
host->dev_index = dev_read_u32_default(dev, "index", host->dev_id);
|
||||
if (host->dev_index == host->dev_id)
|
||||
host->dev_index = host->dev_id - PERIPH_ID_SDMMC0;
|
||||
|
||||
@@ -253,7 +252,7 @@ static int exynos_dwmmc_of_to_plat(struct udevice *dev)
|
||||
#endif
|
||||
|
||||
/* Get the bus width from the device node (Default is 4bit buswidth) */
|
||||
host->buswidth = fdtdec_get_int(blob, node, "samsung,bus-width", 4);
|
||||
host->buswidth = dev_read_u32_default(dev, "samsung,bus-width", 4);
|
||||
|
||||
/* Set the base address from the device node */
|
||||
host->ioaddr = dev_read_addr_ptr(dev);
|
||||
@@ -263,7 +262,7 @@ static int exynos_dwmmc_of_to_plat(struct udevice *dev)
|
||||
}
|
||||
|
||||
/* Extract the timing info from the node */
|
||||
err = fdtdec_get_int_array(blob, node, "samsung,timing", timing, 3);
|
||||
err = dev_read_u32_array(dev, "samsung,timing", timing, 3);
|
||||
if (err) {
|
||||
printf("DWMMC%d: Can't get sdr-timings for devider\n",
|
||||
host->dev_index);
|
||||
@@ -283,8 +282,8 @@ static int exynos_dwmmc_of_to_plat(struct udevice *dev)
|
||||
}
|
||||
|
||||
host->fifo_depth = dev_read_u32_default(dev, "fifo-depth", 0);
|
||||
host->bus_hz = fdtdec_get_int(blob, node, "bus_hz", 0);
|
||||
host->div = fdtdec_get_int(blob, node, "div", 0);
|
||||
host->bus_hz = dev_read_u32_default(dev, "bus_hz", 0);
|
||||
host->div = dev_read_u32_default(dev, "div", 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user