11bd4fe43Sopenharmony_ciroot { 21bd4fe43Sopenharmony_ci platform { 31bd4fe43Sopenharmony_ci mtd_config { 41bd4fe43Sopenharmony_ci template mtd_controller { 51bd4fe43Sopenharmony_ci match_attr = ""; 61bd4fe43Sopenharmony_ci regBase = 0x10000000; 71bd4fe43Sopenharmony_ci regSize = 0xe0; 81bd4fe43Sopenharmony_ci memBase = 0x14000000; 91bd4fe43Sopenharmony_ci memSize = 0x1000000; 101bd4fe43Sopenharmony_ci } 111bd4fe43Sopenharmony_ci controller_0x00 :: mtd_controller { 121bd4fe43Sopenharmony_ci match_attr = "hifmc100_config"; 131bd4fe43Sopenharmony_ci regBase = 0x10000000; 141bd4fe43Sopenharmony_ci regSize = 0xe0; 151bd4fe43Sopenharmony_ci memBase = 0x14000000; 161bd4fe43Sopenharmony_ci memSize = 0x1000000; 171bd4fe43Sopenharmony_ci spi_nand_dev_table { 181bd4fe43Sopenharmony_ci template spinand_device { 191bd4fe43Sopenharmony_ci template spinand_op { 201bd4fe43Sopenharmony_ci if_type = 0x0; 211bd4fe43Sopenharmony_ci cmd = 0x0; 221bd4fe43Sopenharmony_ci dummy = 0x0; 231bd4fe43Sopenharmony_ci size = 0x0; 241bd4fe43Sopenharmony_ci clock = 0x0; 251bd4fe43Sopenharmony_ci } 261bd4fe43Sopenharmony_ci name = "unkown"; 271bd4fe43Sopenharmony_ci id = [0x0, 0x0]; 281bd4fe43Sopenharmony_ci chip_size = 0x1000000; // 16M 291bd4fe43Sopenharmony_ci block_size = 0x10000; // 64K 301bd4fe43Sopenharmony_ci page_size = 2048; // 2K 311bd4fe43Sopenharmony_ci oob_size = 64; 321bd4fe43Sopenharmony_ci qe_support = 0; 331bd4fe43Sopenharmony_ci erase_op :: spinand_op { 341bd4fe43Sopenharmony_ci } 351bd4fe43Sopenharmony_ci write_op :: spinand_op { 361bd4fe43Sopenharmony_ci } 371bd4fe43Sopenharmony_ci read_op :: spinand_op { 381bd4fe43Sopenharmony_ci } 391bd4fe43Sopenharmony_ci } 401bd4fe43Sopenharmony_ci DS35Q2GAXXX:: spinand_device { 411bd4fe43Sopenharmony_ci name = "DS35Q2GAXXX"; 421bd4fe43Sopenharmony_ci id = [0xe5, 0x72]; 431bd4fe43Sopenharmony_ci chip_size = 0x10000000; // 256M 441bd4fe43Sopenharmony_ci block_size = 0x20000; // 128K 451bd4fe43Sopenharmony_ci page_size = 2048; // 2K 461bd4fe43Sopenharmony_ci oob_size = 64; 471bd4fe43Sopenharmony_ci qe_support = 1; 481bd4fe43Sopenharmony_ci read_op { 491bd4fe43Sopenharmony_ci if_type = 0x3; // spi if read quad 501bd4fe43Sopenharmony_ci cmd = 0x6b; // spi cmd read quad 511bd4fe43Sopenharmony_ci dummy = 1; 521bd4fe43Sopenharmony_ci size = 0xffffffff; // infinite 531bd4fe43Sopenharmony_ci clock = 104; 541bd4fe43Sopenharmony_ci } 551bd4fe43Sopenharmony_ci write_op { 561bd4fe43Sopenharmony_ci if_type = 0x3; // spi if write quad 571bd4fe43Sopenharmony_ci cmd = 0x32; // spi cmd write quad 581bd4fe43Sopenharmony_ci dummy = 0x0; 591bd4fe43Sopenharmony_ci size = 256; 601bd4fe43Sopenharmony_ci clock = 104; 611bd4fe43Sopenharmony_ci } 621bd4fe43Sopenharmony_ci erase_op { 631bd4fe43Sopenharmony_ci if_type = 0x0; // spi if std erase 641bd4fe43Sopenharmony_ci cmd = 0xd8; // spi cmd se 64k 651bd4fe43Sopenharmony_ci dummy = 0x0; 661bd4fe43Sopenharmony_ci size = 0x20000; // 128k 671bd4fe43Sopenharmony_ci clock = 104; 681bd4fe43Sopenharmony_ci } 691bd4fe43Sopenharmony_ci } 701bd4fe43Sopenharmony_ci } 711bd4fe43Sopenharmony_ci spi_nor_dev_table { 721bd4fe43Sopenharmony_ci template spinor_device { 731bd4fe43Sopenharmony_ci template spinor_op { 741bd4fe43Sopenharmony_ci if_type = 0x0; 751bd4fe43Sopenharmony_ci cmd = 0x0; 761bd4fe43Sopenharmony_ci dummy = 0x0; 771bd4fe43Sopenharmony_ci size = 0x0; 781bd4fe43Sopenharmony_ci clock = 0x0; 791bd4fe43Sopenharmony_ci } 801bd4fe43Sopenharmony_ci name = "unkown"; 811bd4fe43Sopenharmony_ci id = [0x0, 0x0, 0x0]; 821bd4fe43Sopenharmony_ci chip_size = 0x1000000; // 16M 831bd4fe43Sopenharmony_ci block_size = 0x10000; // 64K 841bd4fe43Sopenharmony_ci addr_cycle = 3; 851bd4fe43Sopenharmony_ci qe_support = 0; 861bd4fe43Sopenharmony_ci erase_op :: spinor_op { 871bd4fe43Sopenharmony_ci } 881bd4fe43Sopenharmony_ci write_op :: spinor_op { 891bd4fe43Sopenharmony_ci } 901bd4fe43Sopenharmony_ci read_op :: spinor_op { 911bd4fe43Sopenharmony_ci } 921bd4fe43Sopenharmony_ci } 931bd4fe43Sopenharmony_ci xm25qh128a :: spinor_device { 941bd4fe43Sopenharmony_ci name = "xm25qh128a"; 951bd4fe43Sopenharmony_ci id = [0x20, 0x70, 0x18]; 961bd4fe43Sopenharmony_ci chip_size = 0x1000000; // 16M 971bd4fe43Sopenharmony_ci block_size = 0x10000; // 64K 981bd4fe43Sopenharmony_ci addr_cycle = 3; 991bd4fe43Sopenharmony_ci qe_support = 1; 1001bd4fe43Sopenharmony_ci erase_op { 1011bd4fe43Sopenharmony_ci if_type = 0x0; // spi if std erase 1021bd4fe43Sopenharmony_ci cmd = 0xd8; // spi cmd se 64k 1031bd4fe43Sopenharmony_ci dummy = 0x0; 1041bd4fe43Sopenharmony_ci size = 0x10000; // 64k 1051bd4fe43Sopenharmony_ci clock = 104; 1061bd4fe43Sopenharmony_ci } 1071bd4fe43Sopenharmony_ci write_op { 1081bd4fe43Sopenharmony_ci if_type = 0x0; // spi if write std 1091bd4fe43Sopenharmony_ci cmd = 0x2; // spi cmd write std 1101bd4fe43Sopenharmony_ci dummy = 0x0; 1111bd4fe43Sopenharmony_ci size = 256; 1121bd4fe43Sopenharmony_ci clock = 104; 1131bd4fe43Sopenharmony_ci } 1141bd4fe43Sopenharmony_ci read_op { 1151bd4fe43Sopenharmony_ci if_type = 0x2; // spi if read dual addr 1161bd4fe43Sopenharmony_ci cmd = 0xbb; // spi cmd read dual addr 1171bd4fe43Sopenharmony_ci dummy = 0x1; 1181bd4fe43Sopenharmony_ci size = 0xffffffff; 1191bd4fe43Sopenharmony_ci clock = 104; 1201bd4fe43Sopenharmony_ci } 1211bd4fe43Sopenharmony_ci } 1221bd4fe43Sopenharmony_ci } 1231bd4fe43Sopenharmony_ci } 1241bd4fe43Sopenharmony_ci } 1251bd4fe43Sopenharmony_ci } 1261bd4fe43Sopenharmony_ci} 127