Commit c6457e3b8bc79a97381cf7deffa08f7c5a24f86c

Authored by Sergey Lapin
Committed by Jean-Christophe PLAGNIOL-VILLARD
1 parent 4109df6f75
Exists in master and in 55 other branches 8qm-imx_v2020.04_5.4.70_2.3.0, emb_lf_v2022.04, emb_lf_v2023.04, imx_v2015.04_4.1.15_1.0.0_ga, pitx_8mp_lf_v2020.04, smarc-8m-android-10.0.0_2.6.0, smarc-8m-android-11.0.0_2.0.0, smarc-8mp-android-11.0.0_2.0.0, smarc-emmc-imx_v2014.04_3.10.53_1.1.0_ga, smarc-emmc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx-l5.0.0_1.0.0-ga, smarc-imx6_v2018.03_4.14.98_2.0.0_ga, smarc-imx7_v2017.03_4.9.11_1.0.0_ga, smarc-imx7_v2018.03_4.14.98_2.0.0_ga, smarc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx_v2015.04_4.1.15_1.0.0_ga, smarc-imx_v2017.03_4.9.11_1.0.0_ga, smarc-imx_v2017.03_4.9.88_2.0.0_ga, smarc-imx_v2017.03_o8.1.0_1.3.0_8m, smarc-imx_v2018.03_4.14.78_1.0.0_ga, smarc-m6.0.1_2.1.0-ga, smarc-n7.1.2_2.0.0-ga, smarc-rel_imx_4.1.15_2.0.0_ga, smarc_8m-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8m-imx_v2019.04_4.19.35_1.1.0, smarc_8m_00d0-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2019.04_4.19.35_1.1.0, smarc_8mm-imx_v2020.04_5.4.24_2.1.0, smarc_8mp_lf_v2020.04, smarc_8mq-imx_v2020.04_5.4.24_2.1.0, smarc_8mq_lf_v2020.04, ti-u-boot-2015.07, u-boot-2013.01.y, v2013.10, v2013.10-smarct33, v2013.10-smartmen, v2014.01, v2014.04, v2014.04-smarct33, v2014.04-smarct33-emmc, v2014.04-smartmen, v2014.07, v2014.07-smarct33, v2014.07-smartmen, v2015.07-smarct33, v2015.07-smarct33-emmc, v2015.07-smarct4x, v2016.05-dlt, v2016.05-smarct3x, v2016.05-smarct3x-emmc, v2016.05-smarct4x, v2017.01-smarct3x, v2017.01-smarct3x-emmc, v2017.01-smarct4x

DataFlash AT45DB021 support

Some boards based on AT91SAM926X-EK use smaller DF chips to keep
bootstrap, u-boot and its environment, using NAND or other external
storage for kernel and rootfs. This patch adds support for
small 1024x263 chip.

Signed-off-by: Sergey Lapin <slapin@ossfans.org>

Showing 2 changed files with 15 additions and 0 deletions Side-by-side Diff

drivers/mtd/dataflash.c
... ... @@ -54,6 +54,17 @@
54 54 &dataflash_info[i].Desc);
55 55  
56 56 switch (dfcode) {
  57 + case AT45DB021:
  58 + dataflash_info[i].Device.pages_number = 1024;
  59 + dataflash_info[i].Device.pages_size = 263;
  60 + dataflash_info[i].Device.page_offset = 9;
  61 + dataflash_info[i].Device.byte_mask = 0x300;
  62 + dataflash_info[i].Device.cs = cs[i].cs;
  63 + dataflash_info[i].Desc.DataFlash_state = IDLE;
  64 + dataflash_info[i].logical_address = cs[i].addr;
  65 + dataflash_info[i].id = dfcode;
  66 + found[i] += dfcode;;
  67 + break;
57 68 case AT45DB161:
58 69 dataflash_info[i].Device.pages_number = 4096;
59 70 dataflash_info[i].Device.pages_size = 528;
... ... @@ -178,6 +189,9 @@
178 189 if (dataflash_info[i].id != 0) {
179 190 printf("DataFlash:");
180 191 switch (dataflash_info[i].id) {
  192 + case AT45DB021:
  193 + printf("AT45DB021\n");
  194 + break;
181 195 case AT45DB161:
182 196 printf("AT45DB161\n");
183 197 break;
... ... @@ -137,6 +137,7 @@
137 137 /*-------------------------------------------------------------------------------------------------*/
138 138  
139 139 #define AT45DB161 0x2c
  140 +#define AT45DB021 0x14
140 141 #define AT45DB321 0x34
141 142 #define AT45DB642 0x3c
142 143 #define AT45DB128 0x10