# Powerpc and ioremap

- List: linuxppc-dev
- 4 messages, 2 authors
- Page: https://ratatoskr.run/linuxppc-dev/2008/08/9444289/t

## Powerpc and ioremap

- From: Sébastien Chrétien \<hidden\>
- Date: 2008-08-07 09:54:21 
- Message: https://ratatoskr.run/linuxppc-dev/2008/08/9444289.md

```text
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 ?
```

## Re: Powerpc and ioremap

- From: Juergen Beisert \<hidden\>
- Date: 2008-08-07 10:24:12 
- Message: https://ratatoskr.run/linuxppc-dev/2008/08/9444299.md

```text
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
```

## Re: Powerpc and ioremap

- From: Sébastien Chrétien \<hidden\>
- Date: 2008-08-07 12:15:26 
- Message: https://ratatoskr.run/linuxppc-dev/2008/08/9444300.md

```text
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 [ref]:
>
> Am Donnerstag, 7. August 2008 11:54 schrieb Sébastien Chrétien:
>
> > 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);
>
>
> 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
>
```

## Re: Powerpc and ioremap

- From: Sébastien Chrétien \<hidden\>
- Date: 2008-08-07 12:56:53 
- Message: https://ratatoskr.run/linuxppc-dev/2008/08/9444302.md

```text
Can we call ioremap() during udbg_early_init ?

2008/8/7, Sébastien Chrétien [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 [ref]:
>>
>> Am Donnerstag, 7. August 2008 11:54 schrieb Sébastien Chrétien:
>>
>> > 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);
>>
>>
>> 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
>>
>
>
```
