[PATCH v2] mtd: spi-nor: atmel: add at25sf321 entry
Tudor Ambarus
tudor.ambarus at linaro.org
Tue Oct 29 06:35:03 PDT 2024
On 10/29/24 1:16 PM, Marcus Folkesson wrote:
> Hi Tudor,
>
Hi!
> On Tue, Oct 29, 2024 at 11:36:17AM +0000, Tudor Ambarus wrote:
>>
>>
>> On 10/29/24 11:23 AM, Marcus Folkesson wrote:
>>> Add entry for the at25sf321 32Mbit SPI flash.
>>>
>>> This flash is populated on a custom board and was tested at
>>> 10MHz frequency using the "ti,da830-spi" SPI controller.
>>>
>>
>> no sfdp for this one?
>
> No SFDP for this one!
>>
>>> Link:
>>> https://www.renesas.com/en/document/dst/at25sf321-datasheet?r=1608801
>>>
>>> Signed-off-by: Marcus Folkesson <marcus.folkesson at gmail.com>
>>> ---
>
> [...]
>
>>> diff --git a/drivers/mtd/spi-nor/atmel.c b/drivers/mtd/spi-nor/atmel.c
>>> index 45d1153a04a07b7c61f46b117311b24ab695038f..8285a16b253d54ae8c4a5302850244d2248aa755 100644
>>> --- a/drivers/mtd/spi-nor/atmel.c
>>> +++ b/drivers/mtd/spi-nor/atmel.c
>>> @@ -238,6 +238,11 @@ static const struct flash_info atmel_nor_parts[] = {
>>> .flags = SPI_NOR_HAS_LOCK,
>>> .no_sfdp_flags = SECT_4K,
>>> .fixups = &at25fs_nor_fixups
>>> + }, {
>>> + .id = SNOR_ID(0x1f, 0x87, 0x01),
>>> + .name = "at25sf321",
>>> + .size = SZ_4M,
>>> + .no_sfdp_flags = SECT_4K,
>>
>> it seems this flash supports dual and quad reads. Do you care to
>> add/test these modes?
>>
>> you'll need mtd-utils
>
> Sure, not sure how I test it though.
> I've added mtd-utils but I do not see any good parameters to set mode?
Ah, you can't specify the width at runtime.
In SPI NOR you need to update your flash entry to contain:
.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
then in your device tree you can set dual mode by doing
spi-tx-bus-width = <2>;
spi-rx-bus-width = <2>;
For quad you set the tx/rx widths to 4.
Do a cat /sys/kernel/debug/spi-nor/spi0.0/params to see what params get
set. You need to do the tests from
https://docs.kernel.org/driver-api/mtd/spi-nor.html, starting with
section "3 Dump debugfs data", for each of the dual/quad modes.
Cheers,
ta
More information about the linux-arm-kernel
mailing list