123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- 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>;
- };
|