
David Gibson wrote:
On Wed, Aug 20, 2008 at 09:45:04PM -0400, Jerry Van Baren wrote:
gvb.uboot@gmail.com wrote:
The following changesets resynchronize u-boot with the master libfdt.
Best regards, gvb
First results using aliases with David's libfdt improvements...
These are the aliases:
=> fdt p /aliases aliases { ethernet0 = "/qe@e0100000/ucc@2000"; ethernet1 = "/qe@e0100000/ucc@3000"; serial0 = "/soc8360@e0000000/serial@4500"; serial1 = "/soc8360@e0000000/serial@4600"; pci0 = "/pci@e0008500"; };
Dereference an alias by not using the '/' prefix per OF conventions:
=> fdt print ethernet0 ucc@2000 { device_type = "network"; compatible = "ucc_geth"; cell-index = <0x1>; reg = <0x2000 0x200>; interrupts = <0x20>; interrupt-parent = <0x2>; local-mac-address = [00 00 00 00 00 00]; rx-clock-name = "none"; tx-clock-name = "clk9"; phy-handle = <0x3>; phy-connection-type = "rgmii-id"; pio-handle = <0x4>; };
Whooo-heeee!
Dereference the ethernet0 alias and print a property:
=> fdt print ethernet0/phy-connection-type libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
Uh... didn't I talk you out of this broken path-to-property stuff way back when?
Dang, you are quick. I just realized that myself. The alias dereference *IS* working as expected.
As you point out, the proper syntax is path <space> property: => fdt print ethernet0 phy-connection-type device_type = "network"
which works just fine.
Thanks! gvb