mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.6 KiB
111 lines
2.6 KiB
Qualcomm Technologies EMAC Gigabit Ethernet Controller |
|
|
|
This network controller consists of two devices: a MAC and an SGMII |
|
internal PHY. Each device is represented by a device tree node. A phandle |
|
connects the MAC node to its corresponding internal phy node. Another |
|
phandle points to the external PHY node. |
|
|
|
Required properties: |
|
|
|
MAC node: |
|
- compatible : Should be "qcom,fsm9900-emac". |
|
- reg : Offset and length of the register regions for the device |
|
- interrupts : Interrupt number used by this controller |
|
- mac-address : The 6-byte MAC address. If present, it is the default |
|
MAC address. |
|
- internal-phy : phandle to the internal PHY node |
|
- phy-handle : phandle the the external PHY node |
|
|
|
Internal PHY node: |
|
- compatible : Should be "qcom,fsm9900-emac-sgmii" or "qcom,qdf2432-emac-sgmii". |
|
- reg : Offset and length of the register region(s) for the device |
|
- interrupts : Interrupt number used by this controller |
|
|
|
The external phy child node: |
|
- reg : The phy address |
|
|
|
Example: |
|
|
|
FSM9900: |
|
|
|
soc { |
|
#address-cells = <1>; |
|
#size-cells = <1>; |
|
|
|
emac0: ethernet@feb20000 { |
|
compatible = "qcom,fsm9900-emac"; |
|
reg = <0xfeb20000 0x10000>, |
|
<0xfeb36000 0x1000>; |
|
interrupts = <76>; |
|
|
|
clocks = <&gcc 0>, <&gcc 1>, <&gcc 3>, <&gcc 4>, <&gcc 5>, |
|
<&gcc 6>, <&gcc 7>; |
|
clock-names = "axi_clk", "cfg_ahb_clk", "high_speed_clk", |
|
"mdio_clk", "tx_clk", "rx_clk", "sys_clk"; |
|
|
|
internal-phy = <&emac_sgmii>; |
|
|
|
phy-handle = <&phy0>; |
|
|
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
phy0: ethernet-phy@0 { |
|
reg = <0>; |
|
}; |
|
|
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&mdio_pins_a>; |
|
}; |
|
|
|
emac_sgmii: ethernet@feb38000 { |
|
compatible = "qcom,fsm9900-emac-sgmii"; |
|
reg = <0xfeb38000 0x1000>; |
|
interrupts = <80>; |
|
}; |
|
|
|
tlmm: pinctrl@fd510000 { |
|
compatible = "qcom,fsm9900-pinctrl"; |
|
|
|
mdio_pins_a: mdio { |
|
state { |
|
pins = "gpio123", "gpio124"; |
|
function = "mdio"; |
|
}; |
|
}; |
|
}; |
|
|
|
|
|
QDF2432: |
|
|
|
soc { |
|
#address-cells = <2>; |
|
#size-cells = <2>; |
|
|
|
emac0: ethernet@38800000 { |
|
compatible = "qcom,fsm9900-emac"; |
|
reg = <0x0 0x38800000 0x0 0x10000>, |
|
<0x0 0x38816000 0x0 0x1000>; |
|
interrupts = <0 256 4>; |
|
|
|
clocks = <&gcc 0>, <&gcc 1>, <&gcc 3>, <&gcc 4>, <&gcc 5>, |
|
<&gcc 6>, <&gcc 7>; |
|
clock-names = "axi_clk", "cfg_ahb_clk", "high_speed_clk", |
|
"mdio_clk", "tx_clk", "rx_clk", "sys_clk"; |
|
|
|
internal-phy = <&emac_sgmii>; |
|
|
|
phy-handle = <&phy0>; |
|
|
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
phy0: ethernet-phy@4 { |
|
reg = <4>; |
|
}; |
|
}; |
|
|
|
emac_sgmii: ethernet@410400 { |
|
compatible = "qcom,qdf2432-emac-sgmii"; |
|
reg = <0x0 0x00410400 0x0 0xc00>, /* Base address */ |
|
<0x0 0x00410000 0x0 0x400>; /* Per-lane digital */ |
|
interrupts = <0 254 1>; |
|
};
|
|
|