DTS question - MPC5200b

Grant Likely grant.likely at secretlab.ca
Wed Feb 13 05:28:01 EST 2008


On Feb 12, 2008 10:37 AM, Nick <ndroogh at rogers.com> wrote:
> Hi,
>
> I need some help.  I am trying to access timer 7 on the MPC5200B
> processor.  I have the DTS file setup like this
>
>         gpt at 670 {    // General Purpose Timer
>           device_type = "gpt";
>             compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>             cell-index = <7>;
>             reg = <670 10>;
>             interrupts = <1 10 0>;
>             interrupt-parent = <&mpc5200_pic>;
>         };
>
> I have timers 0 to 6 defined the same way except the cell-index reflects
> the timer number.
>
> In my platform file where I am doing my board setup, I tried the  following.
>
> timer7 = mpc52xx_find_and_map ("mpc5200b-gpt");

Don't use find_and_map; it was a stupid API that I never should have written.

Instead, use for_each_compatible_node() or for_each_matching_node() to
iterate over them until you find the one with the correct reg address.

Then you can use of_iomap() to map the device registers.

> How do I specify the timer based on the cell-index?

Match on the reg property instead of cell-index; I'll probably be
dropping the cell-index property from future 5200 device trees because
it just ends up duplicating information already provided by reg.

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.



More information about the Linuxppc-dev mailing list