forked from Minki/linux
[POWERPC] Start removing linux,network-index in favour of aliases
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>
This commit is contained in:
parent
54f53f2b94
commit
ecc6cd73b7
@ -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
|
||||
@ -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),
|
||||
@ -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>;
|
||||
};
|
||||
|
||||
@ -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.
|
||||
@ -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>;
|
||||
|
@ -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)
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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>;
|
||||
@ -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>;
|
||||
|
@ -241,7 +241,6 @@
|
||||
};
|
||||
|
||||
EMAC0: ethernet@40000800 {
|
||||
linux,network-index = <0>;
|
||||
device_type = "network";
|
||||
compatible = "ibm,emac-440gp", "ibm,emac";
|
||||
interrupt-parent = <&UIC1>;
|
||||
@ -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>;
|
||||
|
@ -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>;
|
||||
@ -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>;
|
||||
|
@ -269,7 +269,6 @@
|
||||
};
|
||||
|
||||
EMAC0: ethernet@ef600e00 {
|
||||
linux,network-index = <0>;
|
||||
device_type = "network";
|
||||
compatible = "ibm,emac-440epx", "ibm,emac4";
|
||||
interrupt-parent = <&EMAC0>;
|
||||
@ -299,7 +298,6 @@
|
||||
};
|
||||
|
||||
EMAC1: ethernet@ef600f00 {
|
||||
linux,network-index = <1>;
|
||||
device_type = "network";
|
||||
compatible = "ibm,emac-440epx", "ibm,emac4";
|
||||
interrupt-parent = <&EMAC1>;
|
||||
|
@ -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>;
|
||||
@ -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>;
|
||||
@ -277,7 +275,6 @@
|
||||
};
|
||||
|
||||
EMAC2: ethernet@40000c00 {
|
||||
linux,network-index = <0>;
|
||||
device_type = "network";
|
||||
compatible = "ibm,emac-440gx", "ibm,emac4";
|
||||
interrupt-parent = <&UIC2>;
|
||||
@ -300,7 +297,6 @@
|
||||
};
|
||||
|
||||
EMAC3: ethernet@40000e00 {
|
||||
linux,network-index = <1>;
|
||||
device_type = "network";
|
||||
compatible = "ibm,emac-440gx", "ibm,emac4";
|
||||
interrupt-parent = <&UIC2>;
|
||||
|
@ -125,7 +125,6 @@
|
||||
};
|
||||
|
||||
EMAC: ethernet@ef600800 {
|
||||
linux,network-index = <0>;
|
||||
device_type = "network";
|
||||
compatible = "ibm,emac-405gp", "ibm,emac";
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -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>;
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user