Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* Amlogic Meson DWMAC Ethernet controller

The device inherits all the properties of the dwmac/stmmac devices
described in the file stmmac.txt in the current directory with the
following changes.

Required properties on all platforms:

- compatible:	Depending on the platform this should be one of:
			- "amlogic,meson6-dwmac"
			- "amlogic,meson8b-dwmac"
			- "amlogic,meson-gxbb-dwmac"
		Additionally "snps,dwmac" and any applicable more
		detailed version number described in net/stmmac.txt
		should be used.

- reg:	The first register range should be the one of the DWMAC
	controller. The second range is is for the Amlogic specific
	configuration (for example the PRG_ETHERNET register range
	on Meson8b and newer)

Required properties on Meson8b and newer:
- clock-names:	Should contain the following:
		- "stmmaceth" - see stmmac.txt
		- "clkin0" - first parent clock of the internal mux
		- "clkin1" - second parent clock of the internal mux


Example for Meson6:

	ethmac: ethernet@c9410000 {
		compatible = "amlogic,meson6-dwmac", "snps,dwmac";
		reg = <0xc9410000 0x10000
		       0xc1108108 0x4>;
		interrupts = <0 8 1>;
		interrupt-names = "macirq";
		clocks = <&clk81>;
		clock-names = "stmmaceth";
	}

Example for GXBB:
	ethmac: ethernet@c9410000 {
		compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
		reg = <0x0 0xc9410000 0x0 0x10000>,
			<0x0 0xc8834540 0x0 0x8>;
		interrupts = <0 8 1>;
		interrupt-names = "macirq";
		clocks = <&clkc CLKID_ETH>,
				<&clkc CLKID_FCLK_DIV2>,
				<&clkc CLKID_MPLL2>;
		clock-names = "stmmaceth", "clkin0", "clkin1";
		phy-mode = "rgmii";
		status = "disabled";
	};