<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Benjamin Herrenschmidt wrote:
<blockquote cite="mid:1218267682.24157.366.camel@pasglop" type="cite">
  <pre wrap="">On Thu, 2008-08-07 at 15:56 -0400, Steven A. Falco wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">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 = &lt;2&gt;;
                    reg = &lt;1 0 20 1 80 20&gt;;
                    reg-shift = &lt;4&gt;;
                    pio-mode = &lt;4&gt;;
                    interrupts = &lt;27 4&gt;;
                    interrupt-parent = &lt;&amp;UIC0&gt;;
                };
            };

This seems to be correct, because if I turn on debug in prom_parse, I
see a translation that looks reasonable:
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Did you check that the resulting physical address was indeed where you
device is supposed to be addressed ?

Ben
  </pre>
</blockquote>
<br>
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.<br>
<br>
    Thanks,<br>
    Steve<br>
<br>
</body>
</html>