Skip to content

Commit

Permalink
[POWERPC] Start removing linux,network-index in favour of aliases
Browse files Browse the repository at this point in the history
This patch alters the bootwrapper for a number of machines (roubhly
all 4xx based cuboot or treeboot platforms) to use aliases instead of
the linux,network-index hack to work out which MAC address to attach
to which ethernet device node.

The now obsolete linux,network-index properties are removed from the
corresponding device trees.  This won't break backwards compatiblity,
because in cases where this fixup code is relevant, the device tree is
part of the kernel image.

The references to linux,network-index are removed from
booting-without-of.txt.  Not only is it now deprecated, but as a hack
applicable only when the device tree blob and fixup code were in the
same image, this property never belonged in booting-without-of.txt
which describes the interface between the kernel and firmware or
bootloaders which produce a device tree.  By the time the device tree
reaches the kernel, all the MAC addresses must be fully filled in.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
  • Loading branch information
David Gibson authored and Josh Boyer committed Mar 26, 2008
1 parent 54f53f2 commit ecc6cd7
Show file tree
Hide file tree
Showing 15 changed files with 12 additions and 37 deletions.
16 changes: 0 additions & 16 deletions Documentation/powerpc/booting-without-of.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1269,10 +1269,6 @@ platforms are moved over to use the flattened-device-tree model.

Recommended properties:

- linux,network-index : This is the intended "index" of this
network device. This is used by the bootwrapper to interpret
MAC addresses passed by the firmware when no information other
than indices is available to associate an address with a device.
- phy-connection-type : a string naming the controller/PHY interface type,
i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii",
"tbi", or "rtbi". This property is only really needed if the connection
Expand Down Expand Up @@ -1667,10 +1663,6 @@ platforms are moved over to use the flattened-device-tree model.
- phy-handle : The phandle for the PHY connected to this controller.

Recommended properties:
- linux,network-index : This is the intended "index" of this
network device. This is used by the bootwrapper to interpret
MAC addresses passed by the firmware when no information other
than indices is available to associate an address with a device.
- phy-connection-type : a string naming the controller/PHY interface type,
i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
Expand Down Expand Up @@ -1995,7 +1987,6 @@ platforms are moved over to use the flattened-device-tree model.
interrupts = <20 8>;
interrupt-parent = <&PIC>;
phy-handle = <&PHY0>;
linux,network-index = <0>;
fsl,cpm-command = <12000300>;
};

Expand Down Expand Up @@ -2217,12 +2208,6 @@ platforms are moved over to use the flattened-device-tree model.
EMAC, that is the content of the current (bogus) "phy-port"
property.

Recommended properties:
- linux,network-index : This is the intended "index" of this
network device. This is used by the bootwrapper to interpret
MAC addresses passed by the firmware when no information other
than indices is available to associate an address with a device.

Optional properties:
- phy-address : 1 cell, optional, MDIO address of the PHY. If absent,
a search is performed.
Expand All @@ -2246,7 +2231,6 @@ platforms are moved over to use the flattened-device-tree model.
Example:

EMAC0: ethernet@40000800 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-440gp", "ibm,emac";
interrupt-parent = <&UIC1>;
Expand Down
3 changes: 2 additions & 1 deletion arch/powerpc/boot/bamboo.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ static void bamboo_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
ibm4xx_sdram_fixup_memsize();
ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
dt_fixup_mac_addresses(bamboo_mac0, bamboo_mac1);
dt_fixup_mac_address_by_alias("ethernet0", bamboo_mac0);
dt_fixup_mac_address_by_alias("ethernet1", bamboo_mac1);
}

void bamboo_init(void *mac0, void *mac1)
Expand Down
3 changes: 2 additions & 1 deletion arch/powerpc/boot/cuboot-rainier.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ static void rainier_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
ibm4xx_denali_fixup_memsize();
dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr);
dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
}

void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
Expand Down
3 changes: 2 additions & 1 deletion arch/powerpc/boot/cuboot-sequoia.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ static void sequoia_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
ibm4xx_denali_fixup_memsize();
dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr);
dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
}

void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
Expand Down
3 changes: 2 additions & 1 deletion arch/powerpc/boot/cuboot-taishan.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ static void taishan_fixups(void)

ibm4xx_sdram_fixup_memsize();

dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr);
dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);

ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
}
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/boot/cuboot-warp.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ static void warp_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
ibm4xx_sdram_fixup_memsize();
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
dt_fixup_mac_addresses(&bd.bi_enetaddr);
dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
}


Expand Down
2 changes: 0 additions & 2 deletions arch/powerpc/boot/dts/bamboo.dts
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,6 @@
};

EMAC0: ethernet@ef600e00 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
interrupt-parent = <&UIC1>;
Expand All @@ -225,7 +224,6 @@
};

EMAC1: ethernet@ef600f00 {
linux,network-index = <1>;
device_type = "network";
compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
interrupt-parent = <&UIC1>;
Expand Down
2 changes: 0 additions & 2 deletions arch/powerpc/boot/dts/ebony.dts
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,6 @@
};

EMAC0: ethernet@40000800 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-440gp", "ibm,emac";
interrupt-parent = <&UIC1>;
Expand All @@ -261,7 +260,6 @@
zmii-channel = <0>;
};
EMAC1: ethernet@40000900 {
linux,network-index = <1>;
device_type = "network";
compatible = "ibm,emac-440gp", "ibm,emac";
interrupt-parent = <&UIC1>;
Expand Down
2 changes: 0 additions & 2 deletions arch/powerpc/boot/dts/rainier.dts
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,6 @@
};

EMAC0: ethernet@ef600e00 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
interrupt-parent = <&EMAC0>;
Expand Down Expand Up @@ -284,7 +283,6 @@
};

EMAC1: ethernet@ef600f00 {
linux,network-index = <1>;
device_type = "network";
compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
interrupt-parent = <&EMAC1>;
Expand Down
2 changes: 0 additions & 2 deletions arch/powerpc/boot/dts/sequoia.dts
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,6 @@
};

EMAC0: ethernet@ef600e00 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-440epx", "ibm,emac4";
interrupt-parent = <&EMAC0>;
Expand Down Expand Up @@ -299,7 +298,6 @@
};

EMAC1: ethernet@ef600f00 {
linux,network-index = <1>;
device_type = "network";
compatible = "ibm,emac-440epx", "ibm,emac4";
interrupt-parent = <&EMAC1>;
Expand Down
4 changes: 0 additions & 4 deletions arch/powerpc/boot/dts/taishan.dts
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,6 @@

EMAC0: ethernet@40000800 {
unused = <1>;
linux,network-index = <2>;
device_type = "network";
compatible = "ibm,emac-440gx", "ibm,emac4";
interrupt-parent = <&UIC1>;
Expand All @@ -256,7 +255,6 @@
};
EMAC1: ethernet@40000900 {
unused = <1>;
linux,network-index = <3>;
device_type = "network";
compatible = "ibm,emac-440gx", "ibm,emac4";
interrupt-parent = <&UIC1>;
Expand All @@ -277,7 +275,6 @@
};

EMAC2: ethernet@40000c00 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-440gx", "ibm,emac4";
interrupt-parent = <&UIC2>;
Expand All @@ -300,7 +297,6 @@
};

EMAC3: ethernet@40000e00 {
linux,network-index = <1>;
device_type = "network";
compatible = "ibm,emac-440gx", "ibm,emac4";
interrupt-parent = <&UIC2>;
Expand Down
1 change: 0 additions & 1 deletion arch/powerpc/boot/dts/walnut.dts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,6 @@
};

EMAC: ethernet@ef600800 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-405gp", "ibm,emac";
interrupt-parent = <&UIC0>;
Expand Down
1 change: 0 additions & 1 deletion arch/powerpc/boot/dts/warp.dts
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,6 @@
};

EMAC0: ethernet@ef600e00 {
linux,network-index = <0>;
device_type = "network";
compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
interrupt-parent = <&UIC1>;
Expand Down
3 changes: 2 additions & 1 deletion arch/powerpc/boot/ebony.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ static void ebony_fixups(void)

ibm440gp_fixup_clocks(sysclk, 6 * 1843200);
ibm4xx_sdram_fixup_memsize();
dt_fixup_mac_addresses(ebony_mac0, ebony_mac1);
dt_fixup_mac_address_by_alias("ethernet0", ebony_mac0);
dt_fixup_mac_address_by_alias("ethernet1", ebony_mac1);
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
ebony_flashsel_fixup();
}
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/boot/treeboot-walnut.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ static void walnut_fixups(void)
ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
ibm4xx_fixup_ebc_ranges("/plb/ebc");
walnut_flashsel_fixup();
dt_fixup_mac_addresses((u8 *) WALNUT_OPENBIOS_MAC_OFF);
dt_fixup_mac_address_by_alias("ethernet0", (u8 *) WALNUT_OPENBIOS_MAC_OFF);
}

void platform_init(void)
Expand Down

0 comments on commit ecc6cd7

Please sign in to comment.