[U-Boot] M29W256GL + WEIM in uboot
Hello, Im new to all of this, but I 've been reading most of the post related to the M29w256 numonyx and the u-boot documentation without any success :( Im booting from MMC card and I want to parallel nor to be probed by cfi, but I have not succeeded since the uboot code freezes when at the beginning of the first flash_cmd_write in cfi_flash.c /* Issue FLASH reset command */ flash_cmd_reset(info); The CS0_BASE_ADDR has an start address matching #define WEIM_ARB_BASE_ADDR 0x0800 , however the range of the WEIM interface register settings are between 021B_8000 -- 021B_8098. Many board files has the WEIM CS0 as the start of the registers and I think this is why the NOR configuration is a matter of config settings like the ones below. #define CONFIG_SYS_FLASH_BASE CS0_BASE_ADDR #define CONFIG_SYS_MAX_FLASH_BANKS 1 #define CONFIG_SYS_MAX_FLASH_SECT 256 #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT #define CONFIG_SYS_FLASH_CFI_AMD_RESET 1 /* Monitor at beginning of flash */ #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE #define CONFIG_SYS_MONITOR_LEN 0x4 /* Reserve 256KiB */ #define CONFIG_ENV_SECT_SIZE 0x2 #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x4) /* Address and size of Redundant Environment Sector */ #define CONFIG_ENV_OFFSET_REDUND(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE If you could give me some help so that at least I could send write commands to the chip without hang pls... Regards, Francisco ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] M29W256GL + WEIM in uboot
On Mon, Feb 13, 2012 at 3:33 PM, Fabio Estevam feste...@gmail.com wrote: On Mon, Feb 13, 2012 at 6:30 PM, Francisco Muñoz francisco.miss...@gmail.com wrote: Hello, Im new to all of this, but I 've been reading most of the post related to the M29w256 numonyx and the u-boot documentation without any success :( Which SoC are you using and which board? Hey Fabio its me Francisco. Im with the im6X ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] M29W256GL + WEIM in uboot
On Mon, Feb 13, 2012 at 4:59 PM, Fabio Estevam feste...@gmail.com wrote: On Mon, Feb 13, 2012 at 7:39 PM, Francisco Muñoz francisco.miss...@gmail.com wrote: Im with the im6X Take a look for mx31ads.c as an example. You need to setup the chip select like in mxc_setup_weimcs() function. BTW, I don't see any current mx6 board with NOR in mainline U-boot. I already did the reset with this lines in the board/freescale/mx6q_boardsabreauto.c board_init() writel(0x00020001,WEIM_BASE_ADDR); writel(0x1C022000,WEIM_BASE_ADDR + 0x8); writel(0x0804a240,WEIM_BASE_ADDR + 0x10); However, the uboot code hangs when i runt on the board */ 1896 ulong flash_get_size (phys_addr_t base, int banknum) 1897 { 1898 flash_info_t *info = flash_info[banknum]; 1899 int i, j; 1900 flash_sect_t sect_cnt; 1901 phys_addr_t sector; 1902 unsigned long tmp; 1903 int size_ratio; 1904 uchar num_erase_regions; 1905 int erase_region_size; 1906 int erase_region_count; 1907 struct cfi_qry qry; 1908 unsigned long max_size; 1909 1910 memset(qry, 0, sizeof(qry)); 1911 1912 info-ext_addr = 0; 1913 info-cfi_version = 0; 1914 #ifdef CONFIG_SYS_FLASH_PROTECTION 1915 info-legacy_unlock = 0; 1916 #endif 1917 1918 info-start[0] = (ulong)map_physmem(base, info-portwidth, MAP_NOCACHE); 1919 printf(Estamos ok con el pointer malo %u \n,info-portwidth); 1920 if (flash_detect_cfi (info, qry)) It hangs in the reset commands cfi_flash.c Regards, Francisco ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot