[RFC PATCH 4/4] ARM: at91/dt: sama5d2: add nand0 and nfc0 nodes

romain izard romain.izard at mobile-devices.fr
Wed Jan 13 01:41:28 PST 2016


2016-01-13 7:06 GMT+01:00 Yang, Wenyou <Wenyou.Yang at atmel.com>:
>
>> -----Original Message-----
>> From: linux-mtd [mailto:linux-mtd-bounces at lists.infradead.org] On Behalf Of
>> Romain Izard
>> Sent: 2016年1月12日 22:34
>> To: linux-mtd at lists.infradead.org; devicetree at vger.kernel.org
>> Cc: Wu, Josh <Josh.wu at atmel.com>; Romain Izard
>> <romain.izard.pro at gmail.com>; Ferre, Nicolas <Nicolas.FERRE at atmel.com>
>> Subject: [RFC PATCH 4/4] ARM: at91/dt: sama5d2: add nand0 and nfc0 nodes
>>
>> Both nodes are required to access NAND Flash memory. Additional settings will
>> be necessary at the board level to use it.
>>
>> Signed-off-by: Romain Izard <romain.izard.pro at gmail.com>
>> ---
>>  arch/arm/boot/dts/sama5d2.dtsi | 38
>> ++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi index
>> aee571448342..80420177ec1a 100644
>> --- a/arch/arm/boot/dts/sama5d2.dtsi
>> +++ b/arch/arm/boot/dts/sama5d2.dtsi
>> @@ -265,6 +265,44 @@
>>                       cache-level = <2>;
>>               };
>>
>> +             nand0: nand at 80000000 {
>> +                     compatible = "atmel,sama5d2-nand";
>> +                     #address-cells = <1>;
>> +                     #size-cells = <1>;
>> +                     ranges;
>> +                     reg = < /* EBI CS3 */
>> +                             0x80000000 0x08000000
>> +                             /* SMC PMECC regs */
>> +                             0xf8014070 0x00000490
>> +                             /* SMC PMECC Error Location regs */
>> +                             0xf8014500 0x00000200
>> +                             /* ROM Galois tables */
>> +                             0x00040000 0x00018000
>
> As there is no PMECC lookup table in ROM exported, remove this line.
>

>From what I see in the SAMA5D2 xplained board on my table, it is not the
case. Reading at addresses 0x40000 and 0x48000 from U-Boot, I see data
that looks identical to the Galois tables in the Atmel example code.

U-Boot> md.w 0x40000
00040000: ffff 0000 0001 03a6 0002 074c 03a7 18c0
00040010: 0003 1c66 074d 01ea 03a8 005d 18c1 0af2
00040020: 0004 0e98 1c67 183e 074e 1181 01eb 0403
00040030: 03a9 119c 005e 000d 18c2 0590 0af3 1877
00040040: 0005 1c1d 0e99 191d 1c68 0d6f 183f 0936
00040050: 074f 13d9 1182 1542 01ec 03b3 0404 1395
00040060: 03aa 1aaa 119d 123e 005f 1be4 000e 0bda
00040070: 18c3 07a9 0591 1d35 0af4 19ae 1878 1527

U-Boot> md.w 0x48000
00048000: ffff 0000 0001 0572 0002 0ae4 0573 015b
00048010: 0003 06cd 0ae5 1ad9 0574 012e 015c 1056
00048020: 0004 15c8 06ce 288d 0ae6 02b6 1ada 06a0
00048030: 0575 2ed2 012f 0c3f 015d 204b 1057 3812
00048040: 0005 3d84 15c9 0289 06cf 347d 288e 25bd
00048050: 0ae7 10d1 02b7 3444 1adb 11b1 06a1 109c
00048060: 0576 1c34 2ed3 1b3a 0130 2dff 0c40 2238
00048070: 015e 0c12 204c 3d67 1058 3f47 3813 0828


This location matches the information in the SAMA5D2 datasheet from
chapter 6, "Memories", but not the contradicting information from chapter
14, "Standard Boot Strategies".

>> +                             >;
>> +                     interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
>> +                     atmel,nand-addr-offset = <21>;
>> +                     atmel,nand-cmd-offset = <22>;
>> +                     atmel,nand-has-dma;
>> +                     atmel,has-pmecc;
>> +                     atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
>
> Ditto, remove this line.
>
>> +                     status = "disabled";
>> +
>> +                     nfc at 90000000 {
>> +                             compatible = "atmel,sama5d4-nfc";
>> +                             #address-cells = <1>;
>> +                             #size-cells = <1>;
>> +                             reg = < /* NFC Command Registers */
>> +                                     0xC0000000 0x08000000
>> +                                     /* NFC HSMC regs */
>> +                                     0xf8014000 0x00000070
>> +                                     /* NFC SRAM banks */
>> +                                     0x00100000 0x00100000
>> +                                     >;
>> +                             clocks = <&hsmc_clk>;
>> +                             atmel,write-by-sram;
>> +                     };
>> +             };
>> +
>>               sdmmc0: sdio-host at a0000000 {
>>                       compatible = "atmel,sama5d2-sdhci";
>>                       reg = <0xa0000000 0x300>;
>> --
>> 2.5.0
>>


Best regards
-- 
Romain Izard



More information about the linux-mtd mailing list