From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Schwingen Date: Thu, 23 Dec 2010 10:33:19 +0100 Subject: [U-Boot] Fixing IXP42x boards - some general questions Message-ID: <4D13175F.8030207@discworld.dascon.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, I am in the process of fixing the actux-* boards, which were broken by the introduction of ARM relocation. However, it seems the IPX platform is broken beyond those problems introduced by relocation support, so I have some general questions on how things are supposed to work. I have a working set of patches for actux-3, but I want to make sure I use the right approach before fixing the other boards and submitting patches. Startup code. Is the following correct? - code starts from flash, with TEXT_BASE = start of flash, ie. the code is linked to flash addresses. - DATA/BSS are behind the text segment in flash, so the code may not write RAM variables until relocation - code in flash sets up RAM, copies + relocates u-boot to RAM, and continues there Timer system. - For IXP, there are two variants of the timer system - one using interrupts, and one without interrupts. Both do not work currently. I have patches that fix the non-interrupt version, changing CONFIG_SYS_HZ from 66666666 to 1000, bringing it in line with what most other ARM platforms do. What is the preferred way of handling timers? Should CONFIG_SYS_HZ be 1000 or rather the timer clock? What about interrupts? Use them or avoid them? What about the Intel reference board (IXDP425)? Previously, I used that one as a reference on how things should be done, but it looks broken, too. I can prepare patches for IXDP425, but I can't currently test them (we should have one at work, but that might take some time). cu Michael