Documentation / devicetree / bindings / net / ftgmac100.txt


Based on kernel version 6.5. Page generated on 2023-08-29 08:56 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
* Faraday Technology FTGMAC100 gigabit ethernet controller

Required properties:
- compatible: "faraday,ftgmac100"

  Must also contain one of these if used as part of an Aspeed AST2400
  or 2500 family SoC as they have some subtle tweaks to the
  implementation:

     - "aspeed,ast2400-mac"
     - "aspeed,ast2500-mac"
     - "aspeed,ast2600-mac"

- reg: Address and length of the register set for the device
- interrupts: Should contain ethernet controller interrupt

Optional properties:
- phy-handle: See ethernet.txt file in the same directory.
- phy-mode: See ethernet.txt file in the same directory. If the property is
  absent, "rgmii" is assumed. Supported values are "rgmii*" and "rmii" for
  aspeed parts. Other (unknown) parts will accept any value.
- use-ncsi: Use the NC-SI stack instead of an MDIO PHY. Currently assumes
  rmii (100bT) but kept as a separate property in case NC-SI grows support
  for a gigabit link.
- no-hw-checksum: Used to disable HW checksum support. Here for backward
  compatibility as the driver now should have correct defaults based on
  the SoC.
- clocks: In accordance with the generic clock bindings. Must describe the MAC
  IP clock, and optionally an RMII RCLK gate for the AST2500/AST2600. The
  required MAC clock must be the first cell.
- clock-names:

      - "MACCLK": The MAC IP clock
      - "RCLK": Clock gate for the RMII RCLK

Optional subnodes:
- mdio: See mdio.txt file in the same directory.

Example:

	mac0: ethernet@1e660000 {
		compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
		reg = <0x1e660000 0x180>;
		interrupts = <2>;
		use-ncsi;
	};

Example with phy-handle:

	mac1: ethernet@1e680000 {
		compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
		reg = <0x1e680000 0x180>;
		interrupts = <2>;

		phy-handle = <&phy>;
		phy-mode = "rgmii";

		mdio {
			#address-cells = <1>;
			#size-cells = <0>;

			phy: ethernet-phy@1 {
				compatible = "ethernet-phy-ieee802.3-c22";
				reg = <1>;
			};
		};
	};