STMicroelectronics STM32 / MCU DWMAC glue layer controller

This file documents platform glue layer for stmmac.
Please see stmmac.txt for the other unchanged properties.

The device node has following properties.

Required properties:
- compatible:  For MCU family should be "st,stm32-dwmac" to select glue, and
	       "snps,dwmac-3.50a" to select IP version.
	       For MPU family should be "st,stm32mp1-dwmac" to select
	       glue, and "snps,dwmac-4.20a" to select IP version.
- clocks: Must contain a phandle for each entry in clock-names.
- clock-names: Should be "stmmaceth" for the host clock.
	       Should be "mac-clk-tx" for the MAC TX clock.
	       Should be "mac-clk-rx" for the MAC RX clock.
	       For MPU family need to add also "ethstp" for power mode clock and,
	                                       "syscfg-clk" for SYSCFG clock.
- interrupt-names: Should contain a list of interrupt names corresponding to
           the interrupts in the interrupts property, if available.
		   Should be "macirq" for the main MAC IRQ
		   Should be "eth_wake_irq" for the IT which wake up system
- st,syscon : Should be phandle/offset pair. The phandle to the syscon node which
	       encompases the glue register, and the offset of the control register.

Optional properties:
- clock-names:     For MPU family "mac-clk-ck" for PHY without quartz
- st,int-phyclk (boolean) :  valid only where PHY do not have quartz and need to be clock
	           by RCC

Example:

	ethernet@40028000 {
		compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
		reg = <0x40028000 0x8000>;
		reg-names = "stmmaceth";
		interrupts = <0 61 0>, <0 62 0>;
		interrupt-names = "macirq", "eth_wake_irq";
		clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
		clocks = <&rcc 0 25>, <&rcc 0 26>, <&rcc 0 27>;
		st,syscon = <&syscfg 0x4>;
		snps,pbl = <8>;
		snps,mixed-burst;
		dma-ranges;
	};
