* [U-Boot-Users] Patch for NAND Booting on SMDK2410
@ 2004-01-09 14:18 Markus Pietrek
2004-01-09 16:09 ` Matt Matoushek
2004-02-08 20:16 ` Wolfgang Denk
0 siblings, 2 replies; 6+ messages in thread
From: Markus Pietrek @ 2004-01-09 14:18 UTC (permalink / raw)
To: u-boot
Hi folks,
here is a patch to enable U-Boot 1.0 to boot from NAND/SmartMedia cards.
smdk2410.h must include the line '#define CONFIG_BOOT_NAND 1" and the
resulting u-boot.bin must be copied to the first SmartMedia sectors (with a
JTAG tool for example). The first sector of the SmartMedia card should also
be marked as "Defect". With J33 and J34 closed the board should then boot
from SmartMedia.
This first version is very simple as U-Boot is linear on the SmartMedia and
don't allows a filesystem. Later version may include placing U-Boot on a
filesystem.
This patch also includes code for clearing the BSS segment. This is not the
same code Larsen submitted this morning :-(
Bye,
--
Markus Pietrek
FS Forth-Systeme GmbH
Phone: +49 (7667) 908 145, FAX +49 (7667) 908 221
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.gz
Type: application/x-gzip
Size: 1525 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20040109/c909c88d/attachment.bin
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot-Users] Patch for NAND Booting on SMDK2410
2004-01-09 14:18 [U-Boot-Users] Patch for NAND Booting on SMDK2410 Markus Pietrek
@ 2004-01-09 16:09 ` Matt Matoushek
2004-01-14 8:20 ` Markus Pietrek
2004-02-08 20:16 ` Wolfgang Denk
1 sibling, 1 reply; 6+ messages in thread
From: Matt Matoushek @ 2004-01-09 16:09 UTC (permalink / raw)
To: u-boot
Howdy Markus,
I've taken a look at your patch and board/smdk2410/nandboot.S appears to
be missing. Was it your intention to add this file, have I missed
something from earlier on in the list, or will I need to create this
myself?
Thanks.
--
Matt Matoushek
-----Original Message-----
From: u-boot-users-admin@lists.sourceforge.net
[mailto:u-boot-users-admin at lists.sourceforge.net] On Behalf Of Markus
Pietrek
Sent: Friday, January 09, 2004 8:18 AM
To: u-boot-users at lists.sourceforge.net
Cc: David M?ller (ELSOFT AG)
Subject: [U-Boot-Users] Patch for NAND Booting on SMDK2410
Hi folks,
here is a patch to enable U-Boot 1.0 to boot from NAND/SmartMedia cards.
smdk2410.h must include the line '#define CONFIG_BOOT_NAND 1" and the
resulting u-boot.bin must be copied to the first SmartMedia sectors
(with a
JTAG tool for example). The first sector of the SmartMedia card should
also
be marked as "Defect". With J33 and J34 closed the board should then
boot
from SmartMedia.
This first version is very simple as U-Boot is linear on the SmartMedia
and
don't allows a filesystem. Later version may include placing U-Boot on a
filesystem.
This patch also includes code for clearing the BSS segment. This is not
the
same code Larsen submitted this morning :-(
Bye,
--
Markus Pietrek
FS Forth-Systeme GmbH
Phone: +49 (7667) 908 145, FAX +49 (7667) 908 221
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot-Users] Patch for NAND Booting on SMDK2410
2004-01-09 16:09 ` Matt Matoushek
@ 2004-01-14 8:20 ` Markus Pietrek
2004-01-14 14:09 ` Matt Matoushek
0 siblings, 1 reply; 6+ messages in thread
From: Markus Pietrek @ 2004-01-14 8:20 UTC (permalink / raw)
To: u-boot
Hi,
> I've taken a look at your patch and board/smdk2410/nandboot.S appears to
> be missing. Was it your intention to add this file, have I missed
> something from earlier on in the list, or will I need to create this
> myself?
Oops, sorry. As this file didn't exist originally, my "cvs diff -c -D" must
have skipped this file. Here it is.
Bye,
--
Markus Pietrek
FS Forth-Systeme GmbH
Phone: +49 (7667) 908 145, FAX +49 (7667) 908 221
-------------- next part --------------
/***********************************************************************
*
* Copyright (C) 2003 by FS Forth-Systeme GmbH.
* All rights reserved.
*
* @Author: Markus Pietrek
* @Descr: Supports only 512 bytes media with no bad-block management
* @References: [1] S3C2410X User's Manual Rev. 1
* [2] Toshiba's NAND Flash Applications Design Guide Rev. 1.0
* [3] vivi/arch/s3c2420/head.S, Rev. 1.18 (initialization)
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#include <config.h>
#ifdef CONFIG_BOOT_NAND
.globl _nandboot
/***********************************************************************
* @Function: _nandboot (unsigned int unStartBlock,
* unsigned int* punDest, unsigned int unLength)
* @Return: always, no error handling
* @Descr: copies blocks from NAND to RAM (punDest) until unLength data has been
* read. unStartBlock
***********************************************************************/
#define rNF_BASE (0x4e000000)
#define oNF_CONF (0x00)
#define oNF_CMD (0x04)
#define oNF_ADDR (0x08)
#define oNF_DATA (0x0c)
#define oNF_STAT (0x10)
#define oNF_ECC (0x14)
#define vNF_CONF_RESET (0xf830) /* NAND Controller enable, enable chip,
TWRPH0 = 3 */
_nandboot:
ldr r6, =0x200 @ page size
mov r3, #rNF_BASE @ reset NAND Controller
ldr r4, =vNF_CONF_RESET
str r4, [r3, #oNF_CONF]
ldr r4, [r3, #oNF_CONF]
bic r4, r4, #0x800 @ enable chip
str r4, [r3, #oNF_CONF]
mov r4, #0xff @ send reset to NAND
strb r4, [r3, #oNF_CMD]
mov r4, #0 @ wait
1: add r4, r4, #0x1
cmp r4, #0xa
blt 1b
2: ldr r4, [r3, #oNF_STAT] @ wait ready
tst r4, #0x1
beq 2b
ldr r4, [r3, #oNF_CONF]
orr r4, r4, #0x800 @ disable chip
str r4, [r3, #oNF_CONF]
_nandboot_read_page:
@ read one page
ldr r4, [r3, #oNF_CONF]
bic r4, r4, #0x800 @ enable chip
str r4, [r3, #oNF_CONF]
mov r4, #0 @ wait
4:
add r4, r4, #0x1
cmp r4, #0xa
blt 4b
mov r4, #0x0 @ READ0
strb r4, [r3, #oNF_CMD]
mov r4, r0 @ ADDR
strb r4, [r3, #oNF_ADDR]
mov r4, r4, lsr #9
strb r4, [r3, #oNF_ADDR]
mov r4, r4, lsr #9
strb r4, [r3, #oNF_ADDR]
mov r4, r4, lsr #9
strb r4, [r3, #oNF_ADDR]
5:
ldr r4, [r3, #oNF_STAT] @ wait idle
tst r4, #0x1
beq 5b
@ copy at max 512 bytes
@ r2 is number of bytes overall left after this copy
@ r5 is number in page left
cmp r2, r6
subge r2, r2, r6
movge r5, r6
movlt r5, r2
movlt r2, #0
_nandboot_page_copy_to_mem:
@ copy page to memory
cmp r5, #0
beq 7f
sub r5, r5, #1
ldrb r4, [r3, #oNF_DATA]
strb r4, [r1], #1
b _nandboot_page_copy_to_mem
7:
ldr r4, [r3, #oNF_CONF]
orr r4, r4, #0x800 @ disable chip
str r4, [r3, #oNF_CONF]
cmp r2, #0
addne r0, r0, r6 @ select next page
bne _nandboot_read_page
@ finished, all bytes read
mov r4, #0
str r4, [r3, #oNF_CONF] @ disable NAND Controller
mov pc, lr
#endif /* CONFIG_BOOT_NAND */
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot-Users] Patch for NAND Booting on SMDK2410
2004-01-14 8:20 ` Markus Pietrek
@ 2004-01-14 14:09 ` Matt Matoushek
2004-01-15 8:48 ` Markus Pietrek
0 siblings, 1 reply; 6+ messages in thread
From: Matt Matoushek @ 2004-01-14 14:09 UTC (permalink / raw)
To: u-boot
Howdy Markus and u-boot users,
> Oops, sorry. As this file didn't exist originally, my "cvs diff -c -D"
> must have skipped this file. Here it is.
Thanks. That helps. Now I'm curious as to how you are using this new
functionality. I am developing a platform based on the s3c2410 and have
been using U-boot (booting from NOR) as a development boot-loader since
I can easily tftp new code, file systems, etc.
For production use I have intended on using a modification of the ADAM
boot-loader provided by Samsung, mainly because CFG_CMD_NAND isn't
implemented yet in U-boot for the smdk2410. The NAND boot patch gives
me a potential alternative.
Am I correct about status of CFG_CMD_NAND for u-boot and the smdk2410?
If I am correct, is there anyone out there working on this?
If so, would you like any help with that development?
--
Matt Matoushek
Invocon, Inc.
www.invocon.com
281-292-9903
mmatoushek at invocon.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot-Users] Patch for NAND Booting on SMDK2410
2004-01-14 14:09 ` Matt Matoushek
@ 2004-01-15 8:48 ` Markus Pietrek
0 siblings, 0 replies; 6+ messages in thread
From: Markus Pietrek @ 2004-01-15 8:48 UTC (permalink / raw)
To: u-boot
Hi Matt,
> Thanks. That helps. Now I'm curious as to how you are using this new
> functionality. I am developing a platform based on the s3c2410 and have
> been using U-boot (booting from NOR) as a development boot-loader since
> I can easily tftp new code, file systems, etc.
We are also developing a board based on the s3c2410 but intended to use only
NAND flash. With this patch I demonstrated that we are able to boot from it.
But I haven't started yet to port cmd_nand.c to the s3c2410 hardware nand
support feature. This will come up in about two months again.
cmd_nand.c though needs to be rewritten, mainly the commands NanD_Command,
NaND_Address, nand_write_ecc, nand_read_oob etc.
Bye,
--
Markus Pietrek
FS Forth-Systeme GmbH
Phone: +49 (7667) 908 145, FAX +49 (7667) 908 221
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot-Users] Patch for NAND Booting on SMDK2410
2004-01-09 14:18 [U-Boot-Users] Patch for NAND Booting on SMDK2410 Markus Pietrek
2004-01-09 16:09 ` Matt Matoushek
@ 2004-02-08 20:16 ` Wolfgang Denk
1 sibling, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2004-02-08 20:16 UTC (permalink / raw)
To: u-boot
Dear Markus,
in message <200401091518.14181.maillist@fsforth.de> you wrote:
>
> here is a patch to enable U-Boot 1.0 to boot from NAND/SmartMedia cards.
> smdk2410.h must include the line '#define CONFIG_BOOT_NAND 1" and the
> resulting u-boot.bin must be copied to the first SmartMedia sectors (with a
> JTAG tool for example). The first sector of the SmartMedia card should also
> be marked as "Defect". With J33 and J34 closed the board should then boot
> from SmartMedia.
>
> This first version is very simple as U-Boot is linear on the SmartMedia and
> don't allows a filesystem. Later version may include placing U-Boot on a
> filesystem.
>
> This patch also includes code for clearing the BSS segment. This is not the
> same code Larsen submitted this morning :-(
Can you please re-submit your patch after syncing against the CVS
tree? I checked in Anders Larsens patch, which broke yours. Please
make sure to include nandboot.S in the new patch.
Thanks a lot.
Best regards,
Wolfgang Denk
--
See us @ Embedded World, Nuremberg, Feb 17 - 19, Hall 12.0 Booth 440
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
Many Myths are based on truth
-- Spock, "The Way to Eden", stardate 5832.3
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-02-08 20:16 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-09 14:18 [U-Boot-Users] Patch for NAND Booting on SMDK2410 Markus Pietrek
2004-01-09 16:09 ` Matt Matoushek
2004-01-14 8:20 ` Markus Pietrek
2004-01-14 14:09 ` Matt Matoushek
2004-01-15 8:48 ` Markus Pietrek
2004-02-08 20:16 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox