From e44e3482bdb4d0ebde2d8b41830ac2cdb07948fb Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Fri, 28 Aug 2015 09:58:54 +0800 Subject: Add qemu 2.4.0 Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5 Signed-off-by: Yang Zhang --- qemu/roms/u-boot/drivers/mtd/ftsmc020.c | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 qemu/roms/u-boot/drivers/mtd/ftsmc020.c (limited to 'qemu/roms/u-boot/drivers/mtd/ftsmc020.c') diff --git a/qemu/roms/u-boot/drivers/mtd/ftsmc020.c b/qemu/roms/u-boot/drivers/mtd/ftsmc020.c new file mode 100644 index 000000000..e2e808227 --- /dev/null +++ b/qemu/roms/u-boot/drivers/mtd/ftsmc020.c @@ -0,0 +1,38 @@ +/* + * (C) Copyright 2009 Faraday Technology + * Po-Yu Chuang + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include + +struct ftsmc020_config { + unsigned int config; + unsigned int timing; +}; + +static void ftsmc020_setup_bank(unsigned int bank, struct ftsmc020_config *cfg) +{ + struct ftsmc020 *smc = (struct ftsmc020 *)CONFIG_FTSMC020_BASE; + + if (bank > 3) { + printf("bank # %u invalid\n", bank); + return; + } + + writel(cfg->config, &smc->bank[bank].cr); + writel(cfg->timing, &smc->bank[bank].tpr); +} + +void ftsmc020_init(void) +{ + struct ftsmc020_config config[] = CONFIG_SYS_FTSMC020_CONFIGS; + int i; + + for (i = 0; i < ARRAY_SIZE(config); i++) + ftsmc020_setup_bank(i, &config[i]); +} -- cgit