Microchip KSZ Series Ethernet switches
==================================

Required properties:

- compatible: For external switch chips, compatible string must be exactly one
  of the following:
  - "microchip,ksz9477"
  - "microchip,ksz9897"
  - "microchip,ksz9896"
  - "microchip,ksz9567"
  - "microchip,ksz8565"
  - "microchip,ksz9893"
  - "microchip,ksz9563"
  - "microchip,ksz8563"

Optional properties:

- reset-gpios		: Should be a gpio specifier for a reset line
- microchip,synclko-125 : Set if the output SYNCLKO frequency should be set to
			  125MHz instead of 25MHz.

See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
required and optional properties.

Examples:

Ethernet switch connected via SPI to the host, CPU port wired to eth0:

	eth0: ethernet@10001000 {
		fixed-link {
			speed = <1000>;
			full-duplex;
		};
	};

	spi1: spi@f8008000 {
		pinctrl-0 = <&pinctrl_spi_ksz>;
		cs-gpios = <&pioC 25 0>;
		id = <1>;

		ksz9477: ksz9477@0 {
			compatible = "microchip,ksz9477";
			reg = <0>;

			spi-max-frequency = <44000000>;
			spi-cpha;
			spi-cpol;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					label = "lan1";
				};
				port@1 {
					reg = <1>;
					label = "lan2";
				};
				port@2 {
					reg = <2>;
					label = "lan3";
				};
				port@3 {
					reg = <3>;
					label = "lan4";
				};
				port@4 {
					reg = <4>;
					label = "lan5";
				};
				port@5 {
					reg = <5>;
					label = "cpu";
					ethernet = <&eth0>;
					fixed-link {
						speed = <1000>;
						full-duplex;
					};
				};
			};
		};
		ksz8565: ksz8565@0 {
			compatible = "microchip,ksz8565";
			reg = <0>;

			spi-max-frequency = <44000000>;
			spi-cpha;
			spi-cpol;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					label = "lan1";
				};
				port@1 {
					reg = <1>;
					label = "lan2";
				};
				port@2 {
					reg = <2>;
					label = "lan3";
				};
				port@3 {
					reg = <3>;
					label = "lan4";
				};
				port@6 {
					reg = <6>;
					label = "cpu";
					ethernet = <&eth0>;
					fixed-link {
						speed = <1000>;
						full-duplex;
					};
				};
			};
		};
	};
