From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/6] nand: denali: add Denali NAND driver for SPL
Date: Fri, 4 Jul 2014 16:34:11 +0200 [thread overview]
Message-ID: <201407041634.11523.marex@denx.de> (raw)
In-Reply-To: <1404469158-22703-2-git-send-email-yamada.m@jp.panasonic.com>
On Friday, July 04, 2014 at 12:19:13 PM, Masahiro Yamada wrote:
> The SPL-mode driver for Denali(Cadence) NAND Flash Memory Controller IP.
>
> This driver requires two CONFIG macros:
> - CONFIG_NAND_DENALI
> Define to enable this driver.
> - CONFIG_SYS_NAND_BAD_BLOCK_POS
> Specify bad block mark position in the oob space. Typically 0.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Cc: Chin Liang See <clsee@altera.com>
> Cc: Scott Wood <scottwood@freescale.com>
[...]
> +static void read_data_from_flash_mem(uint8_t *buf, int len)
> +{
> + int i;
> + uint32_t *buf32;
> +
> + /* transfer the data from the flash */
> + buf32 = (uint32_t *)buf;
> + for (i = 0; i < len / 4; i++)
> + *buf32++ = readl(denali_flash_mem + INDEX_DATA_REG);
Won't this trigger unaligned access if $buf is not aligned to 4-byte boundary ?
> +}
> +
> +int denali_send_pipeline_cmd(int page, int ecc_en, int access_type)
> +{
> + uint32_t addr, cmd;
> + static uint32_t page_count = 1;
> +
> + writel(ecc_en, denali_flash_reg + ECC_ENABLE);
> +
> + /* clear all bits of intr_status. */
> + writel(0xffff, denali_flash_reg + INTR_STATUS(flash_bank));
> +
> + addr = BANK(flash_bank) | page;
> +
> + /* setup the acccess type */
> + cmd = MODE_10 | addr;
> + index_addr(cmd, access_type);
> +
> + /* setup the pipeline command */
> + index_addr(cmd, 0x2000 | page_count);
Magic value 0x2000 should be fixed here.
> + cmd = MODE_01 | addr;
> + writel(cmd, denali_flash_mem + INDEX_CTRL_REG);
Somehow, eventually, this should be migrated to "struct" based register access
instead of such offset computation. If you feel like doing it, that'd be nice
;-)
> + return wait_for_irq(INTR_STATUS__LOAD_COMP);
> +}
[...]
Thanks!
next prev parent reply other threads:[~2014-07-04 14:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-04 10:19 [U-Boot] [PATCH 0/6] Add support for Panasonic UniPhier SoCs/boards Masahiro Yamada
2014-07-04 10:19 ` [U-Boot] [PATCH 1/6] nand: denali: add Denali NAND driver for SPL Masahiro Yamada
2014-07-04 14:34 ` Marek Vasut [this message]
2014-07-10 10:06 ` Masahiro Yamada
2014-07-10 10:10 ` Marek Vasut
2014-07-10 10:52 ` Masahiro Yamada
2014-07-10 11:30 ` Marek Vasut
2014-07-11 2:19 ` Masahiro Yamada
2014-07-04 10:19 ` [U-Boot] [PATCH 2/6] serial: add UniPhier serial driver Masahiro Yamada
2014-07-04 14:40 ` Marek Vasut
2014-07-10 10:06 ` Masahiro Yamada
2014-07-10 10:14 ` Marek Vasut
2014-07-10 11:31 ` Masahiro Yamada
2014-07-10 12:37 ` Marek Vasut
2014-07-11 5:37 ` Masahiro Yamada
2014-07-11 8:07 ` Marek Vasut
2014-07-04 10:19 ` [U-Boot] [PATCH 3/6] arm: uniphier: add UniPhier SoC suppurt code Masahiro Yamada
2014-08-20 9:31 ` Albert ARIBAUD
2014-08-21 11:27 ` Masahiro Yamada
2014-07-04 10:19 ` [U-Boot] [PATCH 4/6] arm: uniphier: add UniPhier config headers Masahiro Yamada
2014-07-04 10:19 ` [U-Boot] [PATCH 5/6] arm: uniphier: add board entries to boards.cfg Masahiro Yamada
2014-07-04 10:19 ` [U-Boot] [PATCH 6/6] git-mailrc: add me as the maintainer of UniPhier SoCs Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201407041634.11523.marex@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox