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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox