mscc-ocelot.txt 2.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Microsemi Ocelot network Switch
===============================

The Microsemi Ocelot network switch can be found on Microsemi SoCs (VSC7513,
VSC7514)

Required properties:
- compatible: Should be "mscc,vsc7514-switch"
- reg: Must contain an (offset, length) pair of the register set for each
  entry in reg-names.
- reg-names: Must include the following entries:
  - "sys"
  - "rew"
  - "qs"
15
  - "ptp" (optional due to backward compatibility)
16 17 18 19
  - "qsys"
  - "ana"
  - "portX" with X from 0 to the number of last port index available on that
    switch
20 21 22 23
- interrupts: Should contain the switch interrupts for frame extraction,
  frame injection and PTP ready.
- interrupt-names: should contain the interrupt names: "xtr", "inj". Can contain
  "ptp_rdy" which is optional due to backward compatibility.
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
- ethernet-ports: A container for child nodes representing switch ports.

The ethernet-ports container has the following properties

Required properties:

- #address-cells: Must be 1
- #size-cells: Must be 0

Each port node must have the following mandatory properties:
- reg: Describes the port address in the switch

Port nodes may also contain the following optional standardised
properties, described in binding documents:

- phy-handle: Phandle to a PHY on an MDIO bus. See
  Documentation/devicetree/bindings/net/ethernet.txt for details.

Example:

	switch@1010000 {
		compatible = "mscc,vsc7514-switch";
		reg = <0x1010000 0x10000>,
		      <0x1030000 0x10000>,
		      <0x1080000 0x100>,
49
		      <0x10e0000 0x10000>,
50 51 52 53 54 55 56 57 58 59 60 61 62
		      <0x11e0000 0x100>,
		      <0x11f0000 0x100>,
		      <0x1200000 0x100>,
		      <0x1210000 0x100>,
		      <0x1220000 0x100>,
		      <0x1230000 0x100>,
		      <0x1240000 0x100>,
		      <0x1250000 0x100>,
		      <0x1260000 0x100>,
		      <0x1270000 0x100>,
		      <0x1280000 0x100>,
		      <0x1800000 0x80000>,
		      <0x1880000 0x10000>;
63 64 65 66
		reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",
			    "port2", "port3", "port4", "port5", "port6",
			    "port7", "port8", "port9", "port10", "qsys",
			    "ana";
67 68
		interrupts = <18 21 22>;
		interrupt-names = "ptp_rdy", "xtr", "inj";
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

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

			port0: port@0 {
				reg = <0>;
				phy-handle = <&phy0>;
			};
			port1: port@1 {
				reg = <1>;
				phy-handle = <&phy1>;
			};
		};
	};