mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
736b1c9c95
The two device tree files octeon_3xxx.dts and octeon_68xx.dts are trimmed by code in a subsequent patch to reflect the hardware actually present on the board. To this end several properties that are not part of the declared bindings are added to aid in trimming off unwanted nodes. Since the device tree and the code that trims it are bound into the kernel binary, these 'marker' properties never escape into the wild, and are purely an implementation detail of the kernel early boot process. This is done for backwards compatibility with existing boards (identified by a board type enumeration value by their bootloaders). New boards will always pass a device tree from the bootloader, the built-in trees are ignored in this case. Signed-off-by: David Daney <david.daney@cavium.com> Cc: linux-mips@linux-mips.org Cc: devicetree-discuss@lists.ozlabs.org Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Rob Herring <rob.herring@calxeda.com> Cc: linux-kernel@vger.kernel.org Cc: David Daney <david.daney@cavium.com> Patchwork: https://patchwork.linux-mips.org/patch/3937/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
99 lines
2.5 KiB
Plaintext
99 lines
2.5 KiB
Plaintext
* PIP Ethernet nexus.
|
|
|
|
The PIP Ethernet nexus can control several data packet input/output
|
|
devices. The devices have a two level grouping scheme. There may be
|
|
several interfaces, and each interface may have several ports. These
|
|
ports might be an individual Ethernet PHY.
|
|
|
|
|
|
Properties for the PIP nexus:
|
|
- compatible: "cavium,octeon-3860-pip"
|
|
|
|
Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
|
|
|
|
- reg: The base address of the PIP's register bank.
|
|
|
|
- #address-cells: Must be <1>.
|
|
|
|
- #size-cells: Must be <0>.
|
|
|
|
Properties for PIP interfaces which is a child the PIP nexus:
|
|
- compatible: "cavium,octeon-3860-pip-interface"
|
|
|
|
Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
|
|
|
|
- reg: The interface number.
|
|
|
|
- #address-cells: Must be <1>.
|
|
|
|
- #size-cells: Must be <0>.
|
|
|
|
Properties for PIP port which is a child the PIP interface:
|
|
- compatible: "cavium,octeon-3860-pip-port"
|
|
|
|
Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
|
|
|
|
- reg: The port number within the interface group.
|
|
|
|
- mac-address: Optional, the MAC address to assign to the device.
|
|
|
|
- local-mac-address: Optional, the MAC address to assign to the device
|
|
if mac-address is not specified.
|
|
|
|
- phy-handle: Optional, a phandle for the PHY device connected to this device.
|
|
|
|
Example:
|
|
|
|
pip@11800a0000000 {
|
|
compatible = "cavium,octeon-3860-pip";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x11800 0xa0000000 0x0 0x2000>;
|
|
|
|
interface@0 {
|
|
compatible = "cavium,octeon-3860-pip-interface";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0>; /* interface */
|
|
|
|
ethernet@0 {
|
|
compatible = "cavium,octeon-3860-pip-port";
|
|
reg = <0x0>; /* Port */
|
|
local-mac-address = [ 00 0f b7 10 63 60 ];
|
|
phy-handle = <&phy2>;
|
|
};
|
|
ethernet@1 {
|
|
compatible = "cavium,octeon-3860-pip-port";
|
|
reg = <0x1>; /* Port */
|
|
local-mac-address = [ 00 0f b7 10 63 61 ];
|
|
phy-handle = <&phy3>;
|
|
};
|
|
ethernet@2 {
|
|
compatible = "cavium,octeon-3860-pip-port";
|
|
reg = <0x2>; /* Port */
|
|
local-mac-address = [ 00 0f b7 10 63 62 ];
|
|
phy-handle = <&phy4>;
|
|
};
|
|
ethernet@3 {
|
|
compatible = "cavium,octeon-3860-pip-port";
|
|
reg = <0x3>; /* Port */
|
|
local-mac-address = [ 00 0f b7 10 63 63 ];
|
|
phy-handle = <&phy5>;
|
|
};
|
|
};
|
|
|
|
interface@1 {
|
|
compatible = "cavium,octeon-3860-pip-interface";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <1>; /* interface */
|
|
|
|
ethernet@0 {
|
|
compatible = "cavium,octeon-3860-pip-port";
|
|
reg = <0x0>; /* Port */
|
|
local-mac-address = [ 00 0f b7 10 63 64 ];
|
|
phy-handle = <&phy6>;
|
|
};
|
|
};
|
|
};
|