On Mon, Oct 6, 2008 at 2:14 PM, Myles Watson mylesgw@gmail.com wrote:
All right. I'd love to help fix it. Here's the relevant snippet from serengeti/dts
/* guesses; we need a real lspci */ pci0@18,0 { /config/("northbridge/amd/k8/pci"); pci@0,0 { /config/("southbridge/amd/amd8111/amd8111.dts"); }; pci@4,0 { /config/("southbridge/amd/amd8111/ide.dts"); }; pci@5,0 { /config/("southbridge/amd/amd8111/nic.dts"); }; };
from amd8111.dts:
{ device_operations = "amd8111"; };
from amd8111/ide.dts:
{ device_operations = "amd8111_ide"; ide0_enable = "0"; ide1_enable = "1"; };
from amd8111/nic.dts:
{ device_operations = "amd8111_nic"; phy_lowreset = "0"; };
I see that the device_operations structures get used, but I don't see how there are parameters being passed here. I'm sorry to be so clueless, I don't understand the meaning of the dts yet.
There are no parameters to pass on some things, so that is one issue. You need these dts nodes in there to make the connection to the data structure for the device_operations. This is a change in v3: no linker sets, so arrays of structs that were created by the linker in v2 are now created by the device tree compiler in v3 (which means you can browse these structs with, e.g., kscope; the arrays of structs were invisible in v2 as they were created by the linker).
Here is a proposed change to dts. I've forgotten all I ever knew about the 8111 so I am pretty sure this is incomplete, but it's something like what we want.
Index: mainboard/amd/serengeti/dts =================================================================== --- mainboard/amd/serengeti/dts (revision 904) +++ mainboard/amd/serengeti/dts (working copy) @@ -28,18 +28,17 @@ /config/("northbridge/amd/k8/domain"); pci@1,0{ }; - /* guesses; we need a real lspci */ pci0@18,0 { /config/("northbridge/amd/k8/pci"); - pci@0,0 { + pci@0,0 { /config/("southbridge/amd/amd8111/amd8111.dts"); + pci@1,0 { + /config/("southbridge/amd/amd8111/nic.dts"); + }; }; pci@4,0 { /config/("southbridge/amd/amd8111/ide.dts"); }; - pci@5,0 { - /config/("southbridge/amd/amd8111/nic.dts"); - }; }; pci1@18,0 { /config/("northbridge/amd/k8/pci");
It still doesn't seem quite right. Segher?
ron