Subject: Re: Device tree question

From: "Steven A. Falco" <[email-masked]>
Date: Mon, 11 Aug 2008 10:05:11 -0400

Benjamin Herrenschmidt wrote:
> On Thu, 2008-08-07 at 15:56 -0400, Steven A. Falco wrote:
>   
>> I have added a compact flash to the external bus of a Sequoia
>> (PPC440EPx) evaluation board.  It is wired to CS1, and U-boot is set to
>> configure CS1 to be at address 0xc1000000.  U-boot can access the
>> device, and reports the correct partition table, etc. so I believe the
>> hardware is ok.
>>
>> I've created a device-tree entry under the EBC0 section of the
>> sequoia.dts file:
>>
>>                 pata@1,0 {
>>                     compatible = "harris,hydra_temp-pata", "ata-generic";
>>                     bank-width = <2>;
>>                     reg = <1 0 20 1 80 20>;
>>                     reg-shift = <4>;
>>                     pio-mode = <4>;
>>                     interrupts = <27 4>;
>>                     interrupt-parent = <&UIC0>;
>>                 };
>>             };
>>
>> This seems to be correct, because if I turn on debug in prom_parse, I
>> see a translation that looks reasonable:
>>     
>
> Did you check that the resulting physical address was indeed where you
> device is supposed to be addressed ?
>
> Ben
>   

They were wrong - I misinterpreted the reg-shift to be like the "stride"
used by u-boot.  But u-boot uses it as a multiplier, and reg-shift is
truly a shift.  So, I changed the shift to "2", and now the addresses
are correct.  I'm still having problems, but I'll start a new thread,
because the new problem concerns interrupts.

    Thanks,
    Steve