Broadcom Unimac Module (UNIMAC) Driver

The UNIMAC Modules (UNIMAC) are sub-blocks within various functional
blocks in the SoC that provides functionality of a MAC by common register interface
for encapsulating higher-level frames into frames appropriate for the transmission
medium.

Required properties:

- compatible:
    Must be "brcm,unimac"

- reg:
    Defines the base and range of the I/O address space of the device
    containing the UNIMAC registers.

- interrupts:
    The interrupt of the device containing the UNIMAC.

- mbdma_reg_offset:
    Defines the MBDMA device register offset.

- unimac_reg_offset:
    Defines the UNIMAC device register offset.

- id_string:
    A string human-readable name for the UNIMAC device.

- skip_mbdma_init:
	Indicates unimac interface to skip MBDMA initialization.

- mbdma_use_scb:
	Indicates to use SCB bus instead of the UBUS for DDR access.

- mbdma_burst_size:
	Defines the number of data longwords(64b) transferred in each Ubus burst.

- mbdma_channel0_rx_macid:
    Defines the MBDMA RX Channel0 MacID, which used to create LAN Rx Message.

- mbdma_channel0_tx_macid:
    Defines the MBDMA TX Channel0 MacID, which used to create Tx Status message

- mbdma_channel1_rx_macid:
    Defines the MBDMA RX Channel1 MacID, which used to create LAN Rx Message.

- mbdma_channel1_tx_macid:
    Defines the MBDMA TX Channel1 MacID, which used to create Tx Status message

- rgmii_id_mode_disable:
	Defines RGMII Internal Delay (ID) mode disable.RGMII transmit clock edges are centered
	in the middle of transmitted data valid window. When set, RGMII transmit clock edges
	are aligned with the data.

- tx_clk_dly:
	This field specifies RGMII TX_CLK delay with respect to Tx data.

- rx_clk_dly:
	This field specifies RGMII RX_CLK delay with respect to Rx data.

BCM3390 example:

	wan_unimac: unimac@d0400000 {
		compatible = "brcm,unimac";
		reg = <0x0 0xd0400000 0x0 0x20000>;
		interrupts = <0 121 0>,
			     <0 122 0>;
		mbdma_reg_offset = <0x0>;
		unimac_reg_offset = <0x600>;
		mdio_reg_offset = <0x62c>;
		id_string = "unimac0";
		mbdma_use_scb = <0>;
		mbdma_burst_size = <128>; /* B0 bug limits SCB max burst */
		external_phy = <1>;
	};

BCM3384 example:

	unimac@12c00000 {
		compatible = "brcm,unimac";
		reg = <0x12c00000 0x20000>;
		mbdma_reg_offset = <0x0>;
		unimac_reg_offset = <0x600>;
		id_string = "unimac0";
		mbdma_use_scb = <0x0>;
		mbdma_burst_size = <64>;
		external_phy = <1>;
		mbdma_channel0_rx_macid = <1>;
		mbdma_channel0_tx_macid = <1>;
		mbdma_channel1_rx_macid = <0>;
		mbdma_channel1_tx_macid = <0>;
		rgmii_id_mode_disable = <0>;
		tx_clk_dly = <0x8>;
		rx_clk_dly = <0x8>;
	};
