public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Robert Kaiser <rob@sysgo.de>
To: "Alexander Melichenko" <AlexanderM@lrpeople.com>
Cc: mtd@infradead.org
Subject: Re: Elan SC520 - problem with MTD
Date: Mon, 23 Apr 2001 11:59:48 +0200	[thread overview]
Message-ID: <01042312512000.00451@rob> (raw)
In-Reply-To: <005801c0cbd3$2bdb3c60$4d02010a@lrpeople.com>

Hi Alexander,

On Mon, 23 Apr 2001 you wrote:
> Hello Robert!
> Thank You very much for Your help.
> I worked with kernel 2.2.18 but could not achieve a success.
> Now I use Linux kernel 2.4.0 and latest version MTD from CVS. After booting
> in /proc/mtd I see :
> dev:    size   erasesize  name
> mtd0: 00800000 00040000 "SC520CDP Flash Bank #0"
> mtd1: 00800000 00040000 "SC520CDP Flash Bank #1"
> 
> Das ist fantastik!
> It was a good present for me last week ( my son was born last week!).

Well, congratulations to you and your wife then!!

> Now I must place a kernel to a flash and booting from it.
> What steps should be undertaken to reach that result?

One Question: Do you want to keep the BIOS ?

If yes, then I have a working solution, but it is not very nice:

Some Background info: 

In order to persuade the BIOS to boot from the Flash, you have to enable it's
"disk" emulation:  the BIOS can treat each of the flash banks as an emulated
disk. So far so good, but: these "disk" functions are only accessible through
the BIOS int 13h call, thus, you can't access it from Linux.

Worse even, the BIOS insists on doing "wear levelling" (i.e. it tries to
distribute erases evenly over all flash blocks). It does this by remapping
flash blocks when they have seen to many write erases. Therefore,  if you
write a continuous stream of data to the flash using the BIOS int13h function,
the BIOS will scatter your data all over the flash memory in an unpredictable
way. There is no way (other than buying a customized BIOS from General
Software) to disable his wear levelling. So the bottom line is:

* If you want to use the BIOS to boot from Flash, you must enable it's Disk
  emulation.
* If you use the Disk emulation, you must do all accesses to the boot flash
  through the BIOS int 13h.
* Bootloaders can access the Flash through the BIOS, but Linux can't.

Thus you essentially have to sacrifice one of the two banks entirely for booting
a kernel from it. Quite a waste considering it has 8 MB. In order to get a
bootable (via the BIOS) flash "disk", the easiest way is to put a minimal DOS
system on it with your kernel and LOADLIN. You can then run LOADLIN
from AUTOEXEC.BAT to boot your Linux Kernel.

As I said, this is ugly, but it should work.

However, if you want to get rid of the BIOS, you have to write your own startup
code for the board, which is not a trivial task. Actually, I'm currently
working on something like that, but it is not ready for release yet and I'm
making only slow progress as I have about a hundred other things to do.
However, I believe, Vipin Malik has gotten this to work for himself. Maybe if
you ask him nicely...

Cheers

Rob

----------------------------------------------------------------
Robert Kaiser                         email: rkaiser@sysgo.de
SYSGO RTS GmbH
Am Pfaffenstein 14                    phone: (49) 6136 9948-762
D-55270 Klein-Winternheim / Germany   fax:   (49) 6136 9948-10


To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org

       reply	other threads:[~2001-04-23 10:51 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.21.0104161208120.12472-100000@dagobert.svc.sysgo.de>
     [not found] ` <01041713245700.01481@rob>
     [not found]   ` <005801c0cbd3$2bdb3c60$4d02010a@lrpeople.com>
2001-04-23  9:59     ` Robert Kaiser [this message]
2001-04-23 13:10       ` Elan SC520 - problem with MTD David Woodhouse
2001-04-23 13:45       ` Alex Lennon
2001-04-23 13:54         ` Robert Kaiser
2001-04-23 14:26           ` Alex Lennon
2001-04-23 14:43             ` Robert Kaiser
2001-04-23 23:07               ` Vipin Malik
2001-04-24  7:56                 ` Robert Kaiser
2001-04-24 12:28                   ` David Woodhouse
2001-04-24 14:07                     ` Ronald G Minnich
     [not found]                   ` <3AE5950D.D10C1F8B@daniel.com>
2001-04-27 12:03                     ` Boot kernel from flash on CDPSC520 w/o BIOS! Alexander Melichenko
2001-04-27 16:57                       ` Vipin Malik
2001-04-28  7:27                         ` Alexander Melichenko
2001-04-26 18:23 Elan SC520 - problem with MTD mark.langsdorf
     [not found] <Pine.LNX.4.21.0104151822270.6721-100000@dagobert.svc.sysgo.de>
2001-04-16  8:35 ` Alexander Melichenko
  -- strict thread matches above, loose matches on Subject: below --
2001-04-11  6:12 Alexander Melichenko
2001-04-11 12:22 ` Robert Kaiser
2001-04-11 14:33   ` Vipin Malik
2001-04-12  5:23   ` Alexander Melichenko
2001-04-17 13:38     ` David Woodhouse
2001-04-17 13:42       ` Robert Kaiser
2001-04-17 13:54         ` David Woodhouse
2001-04-17 13:58           ` Robert Kaiser
2001-04-17 14:08             ` David Woodhouse
2001-04-17 15:35               ` Vipin Malik
2001-04-17 16:26                 ` David Woodhouse
2001-04-17 16:47                   ` Vipin Malik
2001-04-17 22:16                     ` David Woodhouse
2001-04-19 18:11                       ` Robert Kaiser
2001-04-18 13:50                   ` Robert Kaiser
2001-04-18 13:14                 ` Robert Kaiser
2001-04-18 16:05                   ` Vipin Malik

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=01042312512000.00451@rob \
    --to=rob@sysgo.de \
    --cc=AlexanderM@lrpeople.com \
    --cc=mtd@infradead.org \
    /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