cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mt7530.txt (7358B)


      1Mediatek MT7530 Ethernet switch
      2================================
      3
      4Required properties:
      5
      6- compatible: may be compatible = "mediatek,mt7530"
      7	or compatible = "mediatek,mt7621"
      8	or compatible = "mediatek,mt7531"
      9- #address-cells: Must be 1.
     10- #size-cells: Must be 0.
     11- mediatek,mcm: Boolean; if defined, indicates that either MT7530 is the part
     12	on multi-chip module belong to MT7623A has or the remotely standalone
     13	chip as the function MT7623N reference board provided for.
     14
     15If compatible mediatek,mt7530 is set then the following properties are required
     16
     17- core-supply: Phandle to the regulator node necessary for the core power.
     18- io-supply: Phandle to the regulator node necessary for the I/O power.
     19	See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt
     20	for details for the regulator setup on these boards.
     21
     22If the property mediatek,mcm isn't defined, following property is required
     23
     24- reset-gpios: Should be a gpio specifier for a reset line.
     25
     26Else, following properties are required
     27
     28- resets : Phandle pointing to the system reset controller with
     29	line index for the ethsys.
     30- reset-names : Should be set to "mcm".
     31
     32Required properties for the child nodes within ports container:
     33
     34- reg: Port address described must be 6 for CPU port and from 0 to 5 for
     35	user ports.
     36- phy-mode: String, the following values are acceptable for port labeled
     37	"cpu":
     38	If compatible mediatek,mt7530 or mediatek,mt7621 is set,
     39	must be either "trgmii" or "rgmii"
     40	If compatible mediatek,mt7531 is set,
     41	must be either "sgmii", "1000base-x" or "2500base-x"
     42
     43Port 5 of mt7530 and mt7621 switch is muxed between:
     441. GMAC5: GMAC5 can interface with another external MAC or PHY.
     452. PHY of port 0 or port 4: PHY interfaces with an external MAC like 2nd GMAC
     46   of the SOC. Used in many setups where port 0/4 becomes the WAN port.
     47   Note: On a MT7621 SOC with integrated switch: 2nd GMAC can only connected to
     48	 GMAC5 when the gpios for RGMII2 (GPIO 22-33) are not used and not
     49	 connected to external component!
     50
     51Port 5 modes/configurations:
     521. Port 5 is disabled and isolated: An external phy can interface to the 2nd
     53   GMAC of the SOC.
     54   In the case of a build-in MT7530 switch, port 5 shares the RGMII bus with 2nd
     55   GMAC and an optional external phy. Mind the GPIO/pinctl settings of the SOC!
     562. Port 5 is muxed to PHY of port 0/4: Port 0/4 interfaces with 2nd GMAC.
     57   It is a simple MAC to PHY interface, port 5 needs to be setup for xMII mode
     58   and RGMII delay.
     593. Port 5 is muxed to GMAC5 and can interface to an external phy.
     60   Port 5 becomes an extra switch port.
     61   Only works on platform where external phy TX<->RX lines are swapped.
     62   Like in the Ubiquiti ER-X-SFP.
     634. Port 5 is muxed to GMAC5 and interfaces with the 2nd GAMC as 2nd CPU port.
     64   Currently a 2nd CPU port is not supported by DSA code.
     65
     66Depending on how the external PHY is wired:
     671. normal: The PHY can only connect to 2nd GMAC but not to the switch
     682. swapped: RGMII TX, RX are swapped; external phy interface with the switch as
     69   a ethernet port. But can't interface to the 2nd GMAC.
     70
     71Based on the DT the port 5 mode is configured.
     72
     73Driver tries to lookup the phy-handle of the 2nd GMAC of the master device.
     74When phy-handle matches PHY of port 0 or 4 then port 5 set-up as mode 2.
     75phy-mode must be set, see also example 2 below!
     76 * mt7621: phy-mode = "rgmii-txid";
     77 * mt7623: phy-mode = "rgmii";
     78
     79Optional properties:
     80
     81- gpio-controller: Boolean; if defined, MT7530's LED controller will run on
     82	GPIO mode.
     83- #gpio-cells: Must be 2 if gpio-controller is defined.
     84- interrupt-controller: Boolean; Enables the internal interrupt controller.
     85
     86If interrupt-controller is defined, the following properties are required.
     87
     88- #interrupt-cells: Must be 1.
     89- interrupts: Parent interrupt for the interrupt controller.
     90
     91See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
     92required, optional properties and how the integrated switch subnodes must
     93be specified.
     94
     95Example:
     96
     97	&mdio0 {
     98		switch@0 {
     99			compatible = "mediatek,mt7530";
    100			#address-cells = <1>;
    101			#size-cells = <0>;
    102			reg = <0>;
    103
    104			core-supply = <&mt6323_vpa_reg>;
    105			io-supply = <&mt6323_vemc3v3_reg>;
    106			reset-gpios = <&pio 33 0>;
    107
    108			ports {
    109				#address-cells = <1>;
    110				#size-cells = <0>;
    111				reg = <0>;
    112				port@0 {
    113					reg = <0>;
    114					label = "lan0";
    115				};
    116
    117				port@1 {
    118					reg = <1>;
    119					label = "lan1";
    120				};
    121
    122				port@2 {
    123					reg = <2>;
    124					label = "lan2";
    125				};
    126
    127				port@3 {
    128					reg = <3>;
    129					label = "lan3";
    130				};
    131
    132				port@4 {
    133					reg = <4>;
    134					label = "wan";
    135				};
    136
    137				port@6 {
    138					reg = <6>;
    139					label = "cpu";
    140					ethernet = <&gmac0>;
    141					phy-mode = "trgmii";
    142					fixed-link {
    143						speed = <1000>;
    144						full-duplex;
    145					};
    146				};
    147			};
    148		};
    149	};
    150
    151Example 2: MT7621: Port 4 is WAN port: 2nd GMAC -> Port 5 -> PHY port 4.
    152
    153&eth {
    154	gmac0: mac@0 {
    155		compatible = "mediatek,eth-mac";
    156		reg = <0>;
    157		phy-mode = "rgmii";
    158
    159		fixed-link {
    160			speed = <1000>;
    161			full-duplex;
    162			pause;
    163		};
    164	};
    165
    166	gmac1: mac@1 {
    167		compatible = "mediatek,eth-mac";
    168		reg = <1>;
    169		phy-mode = "rgmii-txid";
    170		phy-handle = <&phy4>;
    171	};
    172
    173	mdio: mdio-bus {
    174		#address-cells = <1>;
    175		#size-cells = <0>;
    176
    177		/* Internal phy */
    178		phy4: ethernet-phy@4 {
    179			reg = <4>;
    180		};
    181
    182		mt7530: switch@1f {
    183			compatible = "mediatek,mt7621";
    184			#address-cells = <1>;
    185			#size-cells = <0>;
    186			reg = <0x1f>;
    187			pinctrl-names = "default";
    188			mediatek,mcm;
    189
    190			resets = <&rstctrl 2>;
    191			reset-names = "mcm";
    192
    193			ports {
    194				#address-cells = <1>;
    195				#size-cells = <0>;
    196
    197				port@0 {
    198					reg = <0>;
    199					label = "lan0";
    200				};
    201
    202				port@1 {
    203					reg = <1>;
    204					label = "lan1";
    205				};
    206
    207				port@2 {
    208					reg = <2>;
    209					label = "lan2";
    210				};
    211
    212				port@3 {
    213					reg = <3>;
    214					label = "lan3";
    215				};
    216
    217/* Commented out. Port 4 is handled by 2nd GMAC.
    218				port@4 {
    219					reg = <4>;
    220					label = "lan4";
    221				};
    222*/
    223
    224				cpu_port0: port@6 {
    225					reg = <6>;
    226					label = "cpu";
    227					ethernet = <&gmac0>;
    228					phy-mode = "rgmii";
    229
    230					fixed-link {
    231						speed = <1000>;
    232						full-duplex;
    233						pause;
    234					};
    235				};
    236			};
    237		};
    238	};
    239};
    240
    241Example 3: MT7621: Port 5 is connected to external PHY: Port 5 -> external PHY.
    242
    243&eth {
    244	gmac0: mac@0 {
    245		compatible = "mediatek,eth-mac";
    246		reg = <0>;
    247		phy-mode = "rgmii";
    248
    249		fixed-link {
    250			speed = <1000>;
    251			full-duplex;
    252			pause;
    253		};
    254	};
    255
    256	mdio: mdio-bus {
    257		#address-cells = <1>;
    258		#size-cells = <0>;
    259
    260		/* External phy */
    261		ephy5: ethernet-phy@7 {
    262			reg = <7>;
    263		};
    264
    265		mt7530: switch@1f {
    266			compatible = "mediatek,mt7621";
    267			#address-cells = <1>;
    268			#size-cells = <0>;
    269			reg = <0x1f>;
    270			pinctrl-names = "default";
    271			mediatek,mcm;
    272
    273			resets = <&rstctrl 2>;
    274			reset-names = "mcm";
    275
    276			ports {
    277				#address-cells = <1>;
    278				#size-cells = <0>;
    279
    280				port@0 {
    281					reg = <0>;
    282					label = "lan0";
    283				};
    284
    285				port@1 {
    286					reg = <1>;
    287					label = "lan1";
    288				};
    289
    290				port@2 {
    291					reg = <2>;
    292					label = "lan2";
    293				};
    294
    295				port@3 {
    296					reg = <3>;
    297					label = "lan3";
    298				};
    299
    300				port@4 {
    301					reg = <4>;
    302					label = "lan4";
    303				};
    304
    305				port@5 {
    306					reg = <5>;
    307					label = "lan5";
    308					phy-mode = "rgmii";
    309					phy-handle = <&ephy5>;
    310				};
    311
    312				cpu_port0: port@6 {
    313					reg = <6>;
    314					label = "cpu";
    315					ethernet = <&gmac0>;
    316					phy-mode = "rgmii";
    317
    318					fixed-link {
    319						speed = <1000>;
    320						full-duplex;
    321						pause;
    322					};
    323				};
    324			};
    325		};
    326	};
    327};