This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5K2E04:可以#39;t 检测具有两个 CS siginals 的2GB nand。

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/601169/linux-am5k2e04-can-t-detect-2gb-nand-which-has-two-cs-siginals

器件型号:AM5K2E04

工具/软件:Linux

我们使用 MT29F16G08AJADAWP 作为我们具有两个 CS 信号的 nand 芯片。 我们修改了 k2e SDK 中的器件树、如下所示:

aemif{(&A)
   cs0{
      #address-cells =<2>;
      大小单元格=<1>;
      时钟范围;
      范围;

      TI、cs-chipselect =<0>;
      /*以纳秒为单位的所有时序*/
      TI、cs-min-c翻转-ns =<12>;
      ti、cs-read-hold-ns =<6>;
      ti、cs 读取选通-ns =<23>;
      TI、cs-read-setup-ns =<9>;
      TI、cs-write-hold-ns =<8>;
      ti、cs-write-strobe -ns =<23>;
      TI、cs-write-setup-ns =<8>;

      NAND@0、0x0{
         兼容="ti、keystone-nand"、"ti、davinci-nand";
         #address-cells =<1>;
         大小单元格=<1>;
         REG =<0 0x4000000
                              1 0 0x00000100>;

         TI、Davinci-chipselect =<0>;
         TI、Davinci-mask-ale =<0x2000>;
         TI、Davinci-mask-cle =<0x4000>;
         TI、Davinci-mask-chipsel =<0>;
         NAND-ECC-MODE ="HW";
         TI、Davinci-ECC-BITS =<4>;
         闪存上的 NAND-BBT;

         分区@0{
            标签="u-boot";
            寄存器=<0x0 0x100000>;
            只读;
         };

         分区@100000{
            标签="params";
            REG =<0x100000 0x80000>;
            只读;
         };

         分区@180000{
            标签="ubifs";
            REG =<0x180000 0x3FE80000>;
         };
      };
   };
   CS1{
      #address-cells =<2>;
      大小单元格=<1>;
      时钟范围;
      范围;

      TI、cs-chipselect =<1>;
      /*以纳秒为单位的所有时序*/
      TI、cs-min-c翻转-ns =<12>;
      ti、cs-read-hold-ns =<6>;
      ti、cs 读取选通-ns =<23>;
      TI、cs-read-setup-ns =<9>;
      TI、cs-write-hold-ns =<8>;
      ti、cs-write-strobe -ns =<23>;
      TI、cs-write-setup-ns =<8>;

      NAND@0、0x4000000{
         兼容="ti、keystone-nand"、"ti、davinci-nand";
         #address-cells =<1>;
         大小单元格=<1>;
         寄存器=<0 0x4000000 0x4000000
                               1 0 0x00000100>;

         TI、Davinci-chipselect =<1>;
         TI、Davinci-mask-ale =<0x2000>;
         TI、Davinci-mask-cle =<0x4000>;
         TI、Davinci-mask-chipsel =<0>;
         NAND-ECC-MODE ="HW";
         TI、Davinci-ECC-BITS =<4>;
         闪存上的 NAND-BBT;

         分区@40000000{
            标签="nand2";
            REG =<0x40000000 0x40000000>;
            
         };
      };
   };
};

当我们刻录 Nand 并启动内核时,会出现错误 :nand: device found,Manufacturer ID: 0x2C,Chip ID: 0xd3
[17.057983]  和:Micron MT29F16G08AJADAWP
[17.062086]  nand:2048 MIB、SLC、擦除大小:128 KiB、页面大小:2048、OOB 大小:64
[17.070063]  第1048512页、版本0x01中发现错误的块表
[17.076513]  在第1048448页、版本0x01中找到错误的块表
[17.082999]  nand_Read_BBT:0x000024820000处的块错误
[17.088258]  在 MTD 器件30000000.nand 上找到3个部件分区
[17.094362]  在"30000000.nand"上创建3个 MTD 分区:
[17.099783]  0x000000000000 0x000000100000:“u-boot”
[17.105530]0x000000100000-0x000000180000  :"params"
[17.111217]0x000000180000-0x000040000000  :"ubifs"
[17.117544]  DaVinci_nand 30000000。nand:控制器修订版2.5
[17.123883]  DaVinci_nand:探测34000000.nand 失败、出现错误-16
[17.131063]  平台 snd-so-dummy:设置 dma_pfn_offset00780000
[17.138020]  NET:注册协议系列10.
[17.143121]  SIT:IPv6 over IPv4隧道驱动程序
[17.148172]  NET:注册协议系列17.
[17.152775]  注册的密钥类型 DNS_旋 变传感器
[17.157174]  正在注册 SWP/SWPB 仿真处理程序
[17.163238]  ubi0:连接 mtd4
[17.354977]  (NULL net_device):链路断开
[17.359168]  (NULL net_device):链路断开
[17.363357]  (NULL net_device):链路断开
[17.36757]  (NULL net_device):链路已断开
[17.371746]  (NULL net_device):链路断开
[17.375944]  (NULL net_device):链路断开
[21.454044]  ubi0错误:SCAN_PEB:PEB 8176中的错误图像序列号1864223580,预期为1078639942
[21.463471]  擦除计数器报头转储:
[21.467235]   魔术         0x55424923
[21.470987]   版本       1
[21.473954]   EC            1.
[21.476933]   vid_hdr_offset 2048
[21.480162]   DATA_OFFSET   4096
[21.483391]   图像序列     1864223580
[21.487152]   HDR_CRC       0xf63135e2
[21.490903]  擦除计数器头六转储:
[21.497589]  ubi0错误:ubi_attach_MTD_dev:无法连接 mtd4,错误-22
[21.504663]  UBI 错误:无法连接 mtd4
[21.508661]  hctosys:无法打开 RTC 器件(rtc0)
[21.524950]  ALSA 器件列表:
[21.527933]    未找到声卡。
[21.531787]  UBIFS 错误(pid:1):无法打开“ubi0:rootfs”,错误-19VFS:无法打开根设备“ubi0:rootfs”或未知块(0、0):错误-19


我们如何正确修改器件树。