On Mon, Oct 6, 2008 at 2:14 PM, Myles Watson <[EMAIL PROTECTED]> wrote:
> All right. I'd love to help fix it. Here's the relevant snippet from
> serengeti/dts
>
> /* guesses; we need a real lspci */
> [EMAIL PROTECTED],0 {
> /config/("northbridge/amd/k8/pci");
> [EMAIL PROTECTED],0 {
> /config/("southbridge/amd/amd8111/amd8111.dts");
> };
> [EMAIL PROTECTED],0 {
> /config/("southbridge/amd/amd8111/ide.dts");
> };
> [EMAIL PROTECTED],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");
[EMAIL PROTECTED],0{
};
- /* guesses; we need a real lspci */
[EMAIL PROTECTED],0 {
/config/("northbridge/amd/k8/pci");
- [EMAIL PROTECTED],0 {
+ [EMAIL PROTECTED],0 {
/config/("southbridge/amd/amd8111/amd8111.dts");
+ [EMAIL PROTECTED],0 {
+
/config/("southbridge/amd/amd8111/nic.dts");
+ };
};
[EMAIL PROTECTED],0 {
/config/("southbridge/amd/amd8111/ide.dts");
};
- [EMAIL PROTECTED],0 {
- /config/("southbridge/amd/amd8111/nic.dts");
- };
};
[EMAIL PROTECTED],0 {
/config/("northbridge/amd/k8/pci");
It still doesn't seem quite right. Segher?
ron
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot