[coreboot] v3 updates

ron minnich rminnich at gmail.com
Tue Oct 7 02:42:38 CEST 2008


On Mon, Oct 6, 2008 at 2:14 PM, Myles Watson <mylesgw at 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 at 18,0 {
>             /config/("northbridge/amd/k8/pci");
>             pci at 0,0 {
>                 /config/("southbridge/amd/amd8111/amd8111.dts");
>             };
>             pci at 4,0 {
>                 /config/("southbridge/amd/amd8111/ide.dts");
>             };
>             pci at 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 at 1,0{
 		};
-		/* guesses; we need a real lspci */
 		pci0 at 18,0 {
 			/config/("northbridge/amd/k8/pci");
-			pci at 0,0 {
+			pci at 0,0 {
 				/config/("southbridge/amd/amd8111/amd8111.dts");
+				pci at 1,0 {
+					/config/("southbridge/amd/amd8111/nic.dts");
+				};
 			};
 			pci at 4,0 {
 				/config/("southbridge/amd/amd8111/ide.dts");
 			};
-			pci at 5,0 {
-				/config/("southbridge/amd/amd8111/nic.dts");
-			};
 		};
 		pci1 at 18,0 {
 			/config/("northbridge/amd/k8/pci");

It still doesn't seem quite right. Segher?

ron




More information about the coreboot mailing list