Powerpc and ioremap
From: Sébastien Chrétien <hidden>
Date: 2008-08-07 09:54:21
4 messages, 2 authors, 2008-08-07 · open the first message on its own page
From: Sébastien Chrétien <hidden>
Date: 2008-08-07 09:54:21
Hello,
I am trying to port linux on my Powerpc Board. I have used Linux 2.6.26 and
gcc 3.4.5.
I have used Uboot 1.2.
Linux seems running from _start to udbg_early_init(). That's why I
develloped a udbg_driver.
It must write in a register which is located at 0x2001b044. So I wrote :
void __iomem *p;
p=ioremap(0x2001b044,4);
iowrite32('O',p);
iowrite32('K',p);
But when he exectuted ioremap, he looped in the __delay function.
Can you help me to solve this probleme ?
From: Juergen Beisert <hidden>
Date: 2008-08-07 10:24:12
Am Donnerstag, 7. August 2008 11:54 schrieb S=E9bastien Chr=E9tien:
Hello, I am trying to port linux on my Powerpc Board. I have used Linux 2.6.26 a=
nd
gcc 3.4.5.
I have used Uboot 1.2.
Linux seems running from _start to udbg_early_init(). That's why I
develloped a udbg_driver.
It must write in a register which is located at 0x2001b044. So I wrote :
void __iomem *p;
p=3Dioremap(0x2001b044,4);
iowrite32('O',p);
iowrite32('K',p);
try
p=3Dioremap(0x2001b000, 0x1000);
iowrite32('O',p + 0x44);
iowrite32('K',p + 0x44);
instead.
jbe
=2D-=20
Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Hannoversche Str. 2, 31134 Hildesheim, Germany
Phone: +49-5121-206917-7 | Fax: +49-5121-206917-9
From: Sébastien Chrétien <hidden>
Date: 2008-08-07 12:15:26
Thanks for your answer. But it doesn't work. I think ioremap create a kernel panic. But I can't see because i have no UART ready. Is there a way in order to trace the failure ? 2008/8/7, Juergen Beisert [off-list ref]:
Am Donnerstag, 7. August 2008 11:54 schrieb Sébastien Chrétien:quoted
Hello, I am trying to port linux on my Powerpc Board. I have used Linux 2.6.26andquoted
gcc 3.4.5. I have used Uboot 1.2. Linux seems running from _start to udbg_early_init(). That's why I develloped a udbg_driver. It must write in a register which is located at 0x2001b044. So I wrote : void __iomem *p; p=ioremap(0x2001b044,4); iowrite32('O',p); iowrite32('K',p);try p=ioremap(0x2001b000, 0x1000); iowrite32('O',p + 0x44); iowrite32('K',p + 0x44); instead. jbe -- Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de Pengutronix - Linux Solutions for Science and Industry Handelsregister: Amtsgericht Hildesheim, HRA 2686 Hannoversche Str. 2, 31134 Hildesheim, Germany Phone: +49-5121-206917-7 | Fax: +49-5121-206917-9
From: Sébastien Chrétien <hidden>
Date: 2008-08-07 12:56:53
Can we call ioremap() during udbg_early_init ? 2008/8/7, Sébastien Chrétien [off-list ref]:
Thanks for your answer. But it doesn't work. I think ioremap create a kernel panic. But I can't see because i have no UART ready. Is there a way in order to trace the failure ? 2008/8/7, Juergen Beisert [off-list ref]:quoted
Am Donnerstag, 7. August 2008 11:54 schrieb Sébastien Chrétien:quoted
Hello, I am trying to port linux on my Powerpc Board. I have used Linux 2.6.26andquoted
gcc 3.4.5. I have used Uboot 1.2. Linux seems running from _start to udbg_early_init(). That's why I develloped a udbg_driver. It must write in a register which is located at 0x2001b044. So I wrote : void __iomem *p; p=ioremap(0x2001b044,4); iowrite32('O',p); iowrite32('K',p);try p=ioremap(0x2001b000, 0x1000); iowrite32('O',p + 0x44); iowrite32('K',p + 0x44); instead. jbe -- Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de Pengutronix - Linux Solutions for Science and Industry