From mboxrd@z Thu Jan 1 00:00:00 1970 From: Angelo Dureghello Date: Thu, 22 Nov 2012 15:38:15 +0100 Subject: [U-Boot] common/xyzmodem.c, ymodem, slow behavior receiving bytes In-Reply-To: <20121119225824.2144420078E@gemini.denx.de> References: <20121110134007.GA5009@angel3> <20121113001651.GA21177@angel3> <20121113070919.796A02002E1@gemini.denx.de> <20121114094706.GA5697@angel3> <20121114110545.5603520050D@gemini.denx.de> <20121119215454.GA7107@angel3> <20121119225824.2144420078E@gemini.denx.de> Message-ID: <20121122143812.GA16163@angel3> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, Nov 19, 2012 at 11:58:24PM +0100, Wolfgang Denk wrote: Dear Wolfgang and All, > I'm glad my initial suspicions were right. Can you please post some > hints / patches what needs to be fixed, and where? Sorry for the late reply. I damaged a gpio port of the board and still re-soldering a better one for my tests. Issues was related to my "board.h" only, and maybe related to mcf5307 support, that i am trying add to u-boot. mcf5307 seems to have someway a special case for the cache. It has a 8KB unified instruction+data cache, that seems to be the same, and this is quite oddly, of V.2 mcf5249. As a first point, my board.h was not configuring any sdram cache-enabled address area. This was probably causing a very slow non-cached code execution and non-cached data read/write. In this case execution is a bit faster changing -Os to -O2. So i enabled the sdram cache with: #define CONFIG_SYS_CACHELINE_SIZE 16 #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ CONFIG_SYS_INIT_RAM_SIZE - 8) #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ CONFIG_SYS_INIT_RAM_SIZE - 4) #define CONFIG_SYS_ICACHE_INV (CF_CACR_CINVA) #define CONFIG_SYS_CACHE_ACR0 (CF_ACR_CM_WT | CF_ACR_SM_ALL | \ CF_ACR_EN) #define CONFIG_SYS_CACHE_ICACR (CF_CACR_DCM_P | CF_CACR_ESB | \ CF_CACR_EC) Still, had to use "write-through", becouse "copyback" need also a "flush" (m68k "cpushl") that is still not iplemented in u-boot for m68k (it seems to be a to-do). Finally, i had to remove every mask from ACR (CF_ADDRMASK(x) macro) since was causing for my case a complete block after cache initialization. For this, i looked uClinu cache init, but still have to understand clearly why the mask setup block the boot. I will clarify this as soon i have a new board running and will post back. Best Regards, Angelo Dureghello