Hi Michal, On Wed, Jul 11, 2012 at 8:18 AM, Michal Simek <mon...@monstr.eu> wrote:
> On 07/10/2012 11:04 PM, Simon Glass wrote: > >> Hi Mich >> >> >> On Tue, Jul 10, 2012 at 11:34 AM, Michal Simek <mon...@monstr.eu <mailto: >> mon...@monstr.eu>> wrote: >> >> On 07/09/2012 11:32 PM, Simon Glass wrote: >> >> Hi Michal, >> >> >> On Mon, Jul 9, 2012 at 2:20 AM, Michal Simek >> <mon...@monstr.eu<mailto: >> mon...@monstr.eu> <mailto:mon...@monstr.eu <mailto:mon...@monstr.eu>>> >> wrote: >> >> Read configuration from DTB. >> >> Signed-off-by: Michal Simek <mon...@monstr.eu <mailto: >> mon...@monstr.eu> <mailto:mon...@monstr.eu <mailto:mon...@monstr.eu>>> >> >> >> --- >> arch/microblaze/cpu/timer.c | 25 >> +++++++++++++++++++++++++ >> 1 files changed, 25 insertions(+), 0 deletions(-) >> >> diff --git a/arch/microblaze/cpu/timer.c >> b/arch/microblaze/cpu/timer.c >> index dfaaaf5..91ca42b 100644 >> --- a/arch/microblaze/cpu/timer.c >> +++ b/arch/microblaze/cpu/timer.c >> @@ -25,6 +25,9 @@ >> #include <common.h> >> #include <asm/microblaze_timer.h> >> #include <asm/microblaze_intc.h> >> +#include <fdtdec.h> >> + >> +DECLARE_GLOBAL_DATA_PTR; >> >> volatile int timestamp = 0; >> microblaze_timer_t *tmr; >> @@ -62,11 +65,33 @@ int timer_init (void) >> u32 preload = 0; >> u32 ret = 0; >> >> +#ifndef CONFIG_OF_CONTROL >> >> >> Maybe make this #ifdef and put the fdt code first? >> >> #if defined(CONFIG_SYS_TIMER_0___**ADDR) && >> defined(CONFIG_SYS_INTC_0_NUM) >> >> preload = XILINX_CLOCK_FREQ / CONFIG_SYS_HZ; >> irq = CONFIG_SYS_TIMER_0_IRQ; >> tmr = (microblaze_timer_t *) >> (CONFIG_SYS_TIMER_0_ADDR); >> #endif >> +#else >> + int temp; >> + int offset = 0; >> >> >> Can remove =0 I think. >> >> + >> + offset = fdt_node_offset_by_compatible(**__gd->fdt_blob, >> offset, >> >> + "xlnx,xps-timer-1.00.a"); >> >> >> >> ok. It must be initialized because offset is passed as argument to >> the next function. >> For interrupt code is fine to add there zero but for timer I would >> keep there offset >> because system can contain more timers and we can change it to while >> loop soon. >> >> Yes, well maybe then: >> >> + offset = fdt_node_offset_by_compatible(**__gd->fdt_blob, 0, >> > > Both options just works. I can look at asm dump to see which solution is > faster > and better to use. I doubt there will be any difference there, but OK. > > Thanks, > Michal > > > > > -- > Michal Simek, Ing. (M.Eng) > w: www.monstr.eu p: +42-0-721842854 > Maintainer of Linux kernel 2.6 Microblaze Linux - > http://www.monstr.eu/fdt/ > Microblaze U-BOOT custodian >
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot