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

ibm,emac.txt (8014B)


      1    4xx/Axon EMAC ethernet nodes
      2
      3    The EMAC ethernet controller in IBM and AMCC 4xx chips, and also
      4    the Axon bridge.  To operate this needs to interact with a this
      5    special McMAL DMA controller, and sometimes an RGMII or ZMII
      6    interface.  In addition to the nodes and properties described
      7    below, the node for the OPB bus on which the EMAC sits must have a
      8    correct clock-frequency property.
      9
     10      i) The EMAC node itself
     11
     12    Required properties:
     13    - device_type       : "network"
     14
     15    - compatible        : compatible list, contains 2 entries, first is
     16			  "ibm,emac-CHIP" where CHIP is the host ASIC (440gx,
     17			  405gp, Axon) and second is either "ibm,emac" or
     18			  "ibm,emac4".  For Axon, thus, we have: "ibm,emac-axon",
     19			  "ibm,emac4"
     20    - interrupts        : <interrupt mapping for EMAC IRQ and WOL IRQ>
     21    - reg               : <registers mapping>
     22    - local-mac-address : 6 bytes, MAC address
     23    - mal-device        : phandle of the associated McMAL node
     24    - mal-tx-channel    : 1 cell, index of the tx channel on McMAL associated
     25			  with this EMAC
     26    - mal-rx-channel    : 1 cell, index of the rx channel on McMAL associated
     27			  with this EMAC
     28    - cell-index        : 1 cell, hardware index of the EMAC cell on a given
     29			  ASIC (typically 0x0 and 0x1 for EMAC0 and EMAC1 on
     30			  each Axon chip)
     31    - max-frame-size    : 1 cell, maximum frame size supported in bytes
     32    - rx-fifo-size      : 1 cell, Rx fifo size in bytes for 10 and 100 Mb/sec
     33			  operations.
     34			  For Axon, 2048
     35    - tx-fifo-size      : 1 cell, Tx fifo size in bytes for 10 and 100 Mb/sec
     36			  operations.
     37			  For Axon, 2048.
     38    - fifo-entry-size   : 1 cell, size of a fifo entry (used to calculate
     39			  thresholds).
     40			  For Axon, 0x00000010
     41    - mal-burst-size    : 1 cell, MAL burst size (used to calculate thresholds)
     42			  in bytes.
     43			  For Axon, 0x00000100 (I think ...)
     44    - phy-mode          : string, mode of operations of the PHY interface.
     45			  Supported values are: "mii", "rmii", "smii", "rgmii",
     46			  "tbi", "gmii", rtbi", "sgmii".
     47			  For Axon on CAB, it is "rgmii"
     48    - mdio-device       : 1 cell, required iff using shared MDIO registers
     49			  (440EP).  phandle of the EMAC to use to drive the
     50			  MDIO lines for the PHY used by this EMAC.
     51    - zmii-device       : 1 cell, required iff connected to a ZMII.  phandle of
     52			  the ZMII device node
     53    - zmii-channel      : 1 cell, required iff connected to a ZMII.  Which ZMII
     54			  channel or 0xffffffff if ZMII is only used for MDIO.
     55    - rgmii-device      : 1 cell, required iff connected to an RGMII. phandle
     56			  of the RGMII device node.
     57			  For Axon: phandle of plb5/plb4/opb/rgmii
     58    - rgmii-channel     : 1 cell, required iff connected to an RGMII.  Which
     59			  RGMII channel is used by this EMAC.
     60			  Fox Axon: present, whatever value is appropriate for each
     61			  EMAC, that is the content of the current (bogus) "phy-port"
     62			  property.
     63
     64    Optional properties:
     65    - phy-address       : 1 cell, optional, MDIO address of the PHY. If absent,
     66			  a search is performed.
     67    - phy-map           : 1 cell, optional, bitmap of addresses to probe the PHY
     68			  for, used if phy-address is absent. bit 0x00000001 is
     69			  MDIO address 0.
     70			  For Axon it can be absent, though my current driver
     71			  doesn't handle phy-address yet so for now, keep
     72			  0x00ffffff in it.
     73    - phy-handle	: Used to describe configurations where a external PHY
     74			  is used. Please refer to:
     75			  Documentation/devicetree/bindings/net/ethernet.txt
     76    - rx-fifo-size-gige : 1 cell, Rx fifo size in bytes for 1000 Mb/sec
     77			  operations (if absent the value is the same as
     78			  rx-fifo-size).  For Axon, either absent or 2048.
     79    - tx-fifo-size-gige : 1 cell, Tx fifo size in bytes for 1000 Mb/sec
     80			  operations (if absent the value is the same as
     81			  tx-fifo-size). For Axon, either absent or 2048.
     82    - tah-device        : 1 cell, optional. If connected to a TAH engine for
     83			  offload, phandle of the TAH device node.
     84    - tah-channel       : 1 cell, optional. If appropriate, channel used on the
     85			  TAH engine.
     86    - fixed-link	: Fixed-link subnode describing a link to a non-MDIO
     87			  managed entity. See
     88			  Documentation/devicetree/bindings/net/fixed-link.txt
     89			  for details.
     90    - mdio subnode	: When the EMAC has a phy connected to its local
     91			  mdio, which us supported by the kernel's network
     92			  PHY library in drivers/net/phy, there must be device
     93			  tree subnode with the following required properties:
     94				- #address-cells: Must be <1>.
     95				- #size-cells: Must be <0>.
     96
     97			  For PHY definitions: Please refer to
     98			  Documentation/devicetree/bindings/net/phy.txt and
     99			  Documentation/devicetree/bindings/net/ethernet.txt
    100
    101    Examples:
    102
    103	EMAC0: ethernet@40000800 {
    104		device_type = "network";
    105		compatible = "ibm,emac-440gp", "ibm,emac";
    106		interrupt-parent = <&UIC1>;
    107		interrupts = <1c 4 1d 4>;
    108		reg = <40000800 70>;
    109		local-mac-address = [00 04 AC E3 1B 1E];
    110		mal-device = <&MAL0>;
    111		mal-tx-channel = <0 1>;
    112		mal-rx-channel = <0>;
    113		cell-index = <0>;
    114		max-frame-size = <5dc>;
    115		rx-fifo-size = <1000>;
    116		tx-fifo-size = <800>;
    117		phy-mode = "rmii";
    118		phy-map = <00000001>;
    119		zmii-device = <&ZMII0>;
    120		zmii-channel = <0>;
    121	};
    122
    123	EMAC1: ethernet@ef600c00 {
    124		device_type = "network";
    125		compatible = "ibm,emac-apm821xx", "ibm,emac4sync";
    126		interrupt-parent = <&EMAC1>;
    127		interrupts = <0 1>;
    128		#interrupt-cells = <1>;
    129		#address-cells = <0>;
    130		#size-cells = <0>;
    131		interrupt-map = <0 &UIC2 0x10 IRQ_TYPE_LEVEL_HIGH /* Status */
    132				 1 &UIC2 0x14 IRQ_TYPE_LEVEL_HIGH /* Wake */>;
    133		reg = <0xef600c00 0x000000c4>;
    134		local-mac-address = [000000000000]; /* Filled in by U-Boot */
    135		mal-device = <&MAL0>;
    136		mal-tx-channel = <0>;
    137		mal-rx-channel = <0>;
    138		cell-index = <0>;
    139		max-frame-size = <9000>;
    140		rx-fifo-size = <16384>;
    141		tx-fifo-size = <2048>;
    142		fifo-entry-size = <10>;
    143		phy-mode = "rgmii";
    144		phy-handle = <&phy0>;
    145		phy-map = <0x00000000>;
    146		rgmii-device = <&RGMII0>;
    147		rgmii-channel = <0>;
    148		tah-device = <&TAH0>;
    149		tah-channel = <0>;
    150		has-inverted-stacr-oc;
    151		has-new-stacr-staopc;
    152
    153	        mdio {
    154			#address-cells = <1>;
    155			#size-cells = <0>;
    156
    157			phy0: ethernet-phy@0 {
    158				compatible = "ethernet-phy-ieee802.3-c22";
    159				reg = <0>;
    160			};
    161		};
    162	};
    163
    164
    165      ii) McMAL node
    166
    167    Required properties:
    168    - device_type        : "dma-controller"
    169    - compatible         : compatible list, containing 2 entries, first is
    170			   "ibm,mcmal-CHIP" where CHIP is the host ASIC (like
    171			   emac) and the second is either "ibm,mcmal" or
    172			   "ibm,mcmal2".
    173			   For Axon, "ibm,mcmal-axon","ibm,mcmal2"
    174    - interrupts         : <interrupt mapping for the MAL interrupts sources:
    175                           5 sources: tx_eob, rx_eob, serr, txde, rxde>.
    176                           For Axon: This is _different_ from the current
    177			   firmware.  We use the "delayed" interrupts for txeob
    178			   and rxeob. Thus we end up with mapping those 5 MPIC
    179			   interrupts, all level positive sensitive: 10, 11, 32,
    180			   33, 34 (in decimal)
    181    - dcr-reg            : < DCR registers range >
    182    - dcr-parent         : if needed for dcr-reg
    183    - num-tx-chans       : 1 cell, number of Tx channels
    184    - num-rx-chans       : 1 cell, number of Rx channels
    185
    186      iii) ZMII node
    187
    188    Required properties:
    189    - compatible         : compatible list, containing 2 entries, first is
    190			   "ibm,zmii-CHIP" where CHIP is the host ASIC (like
    191			   EMAC) and the second is "ibm,zmii".
    192			   For Axon, there is no ZMII node.
    193    - reg                : <registers mapping>
    194
    195      iv) RGMII node
    196
    197    Required properties:
    198    - compatible         : compatible list, containing 2 entries, first is
    199			   "ibm,rgmii-CHIP" where CHIP is the host ASIC (like
    200			   EMAC) and the second is "ibm,rgmii".
    201                           For Axon, "ibm,rgmii-axon","ibm,rgmii"
    202    - reg                : <registers mapping>
    203    - revision           : as provided by the RGMII new version register if
    204			   available.
    205			   For Axon: 0x0000012a