Thank you, Doctor Scott. I'm very grateful to you for you kindly help.
I'll try the way you suggested soon.
And, my code for light the led run as follows:
void set_led_a_red(void)
{
/*PDIRC: 0xfc010d40*/
/*PPARC: 0xfc010d44*/
/*PODRC: 0xfc010d4c*/
/*PDATC: 0xfc010d50*/
*((unsigned long *)(0xfb010d40)) |= 0x000000d4;
*((unsigned long *)(0xfb010d44)) &= ~0x000000d4;
*((unsigned long *)(0xfb010d4c)) &= ~0x000000d4;
*((unsigned long *)(0xfb010d50)) |= 0x00000004;
*((unsigned long *)(0xfb010d50)) &= ~0x00000010;
}
...
I put is in the file arch/power/kernel/setup_32.c, is this OK?
And I call it in the setup_common_caches as follows
...
bl set_led_a_red
mtspr SPRN_HID0, r8
bl set_led_a_green
I've tried to compile the kernel with enable the early debug prink. but it
output nothing. maybe I make some foolish mistake in configurate the
CPM UART early debug transmit descriptor address.
Thanks again. It really very kind of you to give me some suggestions.
2008/4/22 Scott Wood <[EMAIL PROTECTED]>:
> On Mon, Apr 21, 2008 at 11:06:28AM +0800, 张世乐 wrote:
> > Uncompressing Kernel Image ... OK
> > Booting using the fdt at 0x600000
> >
> > [nothing output and hanging here]
> >
> > I use the led on the board to trace the kernel fund it stop in the function
> >
> > setup_common_caches in arch/powerpc/kernel/cpu_setup_6xx.S
> >
> > Can you give me some ideas?
>
> That's probably not where it's actually stopping, but rather where caches
> are enabled without the MMU, thus making it difficult to access devices.
> You can try placing a dcbf after each write to the LED register, though
> this may perturb nearby registers.
>
> Have you tried enabling early debug printk?
>
> -Scott
>
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded