From: Reinhard Meyer <u-boot@emk-elektronik.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] MTD/SPI/FLASH: add support for Ramtron FRAMs using SPI
Date: Thu, 26 Aug 2010 07:57:23 +0200 [thread overview]
Message-ID: <4C760243.6030102@emk-elektronik.de> (raw)
In-Reply-To: <201008252231.15014.vapier@gentoo.org>
Dear Mike Frysinger,
> i dont have a problem with going through the env as a hook, but it doesnt seem
> to scale. what if you have 2 fram devices and a winbond spi flash ? perhaps
> the name spec should be:
> fram_dev.<bus>.<cs>
>
> then you can signal that only certain<bus>.<cs> locations should get special
> treatment. and it wont inadvertently clobber other devices or detect devices
> that dont exist without explicit permission.
Makes sense.
>
>> +{
>> + struct ramtron_spi_fram *sn = to_ramtron_spi_fram(flash);
>> + u8 cmd[4];
>> + u8 cmd_len = 1;
>> + int ret;
>
> the majority of this function seems to match the write() func ... perhaps the
> body should be unified in a local static "setup" func and let gcc determine
> whether to inline its body ?
OK
> no space after "getenv". i'd also delay the call to the point where you
> actually check "device_name" ...
Right.
>> --- a/drivers/mtd/spi/spi_flash.c
>> +++ b/drivers/mtd/spi/spi_flash.c
>> @@ -116,6 +116,19 @@
>> goto err_claim_bus;
>> }
>>
>> +#ifdef CONFIG_SPI_FRAM_RAMTRON
>> + /*
>> + * not all RAMTRON FRAMs do have a READ_ID command,
>> + * let the ramtron code figure out details
>> + */
>> + flash = spi_fram_probe_ramtron(spi);
>> + if (flash) {
>> + spi_release_bus(spi);
>> + return flash;
>> + }
>> + /* if spi_fram_probe did not find anything, continue normal probe */
>> +#endif
>> +
>> /* Read the ID codes */
>> ret = spi_flash_cmd(spi, CMD_READ_ID,&idcode, sizeof(idcode));
>> if (ret)
>
> you hook early to handle extended idcode reads and for devices that dont
> respect the idcode command.
>
> for the first, we can extend the idcode length yet again, but perhaps this
> time temper it:
> #if defined(CONFIG_SPI_FRAM_RAMTRON)
> # define IDCODE_LEN 10
> #else
> # define IDCODE_LEN 5
> #endif
OK, see below. Can't we have it 10 generally? The impact should be negligible?
>
> for the second, what do you get back when you issue the idcode ? 0xff ? we
> already have a fall back case for this with stmicro, so perhaps we should
> generalize this further too. after the vendor id switch statement, we do:
If MISO has no pull-up the result is indeterminate, the chip simply lets MISO
float when it does not honor the read-id command.
I'll add a comment to that file that a pull-up is required for non-standard
devices to be detected. Otherwise, depending on random noise, a false
detection of a standard device is not entirely impossible.
On a side note: its beyond my comprehension why ramtron's newest and densest
variant FM25H20 has no read-id command (while all devices before that except
for the really old and small ones do have it)....
Reinhard
next prev parent reply other threads:[~2010-08-26 5:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-25 12:47 [U-Boot] [PATCH] MTD/SPI/FLASH: add support for Ramtron FRAMs using SPI Reinhard Meyer
2010-08-26 2:31 ` Mike Frysinger
2010-08-26 5:57 ` Reinhard Meyer [this message]
2010-08-26 6:12 ` Mike Frysinger
2010-08-26 6:24 ` Reinhard Meyer
2010-08-26 8:27 ` Reinhard Meyer
2010-08-26 9:11 ` Mike Frysinger
2010-08-26 20:00 ` Reinhard Meyer
2010-08-28 21:48 ` Mike Frysinger
2010-08-28 22:15 ` Reinhard Meyer
2010-08-28 22:26 ` Mike Frysinger
2010-08-28 23:17 ` Mike Frysinger
2010-08-28 23:45 ` Reinhard Meyer
2010-08-29 0:14 ` Mike Frysinger
2010-08-29 1:59 ` Reinhard Meyer
2010-08-29 2:26 ` Mike Frysinger
2010-08-29 3:35 ` Reinhard Meyer
2010-08-29 4:34 ` Mike Frysinger
2010-08-29 4:52 ` Reinhard Meyer
2010-09-07 20:12 ` Peter Tyser
2010-09-07 19:38 ` Wolfgang Denk
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=4C760243.6030102@emk-elektronik.de \
--to=u-boot@emk-elektronik.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.