The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/net/qcom-emac.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 Qualcomm Technologies EMAC Gigabit Ethernet Controller
    2 
    3 This network controller consists of two devices: a MAC and an SGMII
    4 internal PHY.  Each device is represented by a device tree node.  A phandle
    5 connects the MAC node to its corresponding internal phy node.  Another
    6 phandle points to the external PHY node.
    7 
    8 Required properties:
    9 
   10 MAC node:
   11 - compatible : Should be "qcom,fsm9900-emac".
   12 - reg : Offset and length of the register regions for the device
   13 - interrupts : Interrupt number used by this controller
   14 - mac-address : The 6-byte MAC address. If present, it is the default
   15         MAC address.
   16 - internal-phy : phandle to the internal PHY node
   17 - phy-handle : phandle to the external PHY node
   18 
   19 Internal PHY node:
   20 - compatible : Should be "qcom,fsm9900-emac-sgmii" or "qcom,qdf2432-emac-sgmii".
   21 - reg : Offset and length of the register region(s) for the device
   22 - interrupts : Interrupt number used by this controller
   23 
   24 The external phy child node:
   25 - reg : The phy address
   26 
   27 Example:
   28 
   29 FSM9900:
   30 
   31 soc {
   32         #address-cells = <1>;
   33         #size-cells = <1>;
   34 
   35         emac0: ethernet@feb20000 {
   36                 compatible = "qcom,fsm9900-emac";
   37                 reg = <0xfeb20000 0x10000>,
   38                       <0xfeb36000 0x1000>;
   39                 interrupts = <76>;
   40 
   41                 clocks = <&gcc 0>, <&gcc 1>, <&gcc 3>, <&gcc 4>, <&gcc 5>,
   42                         <&gcc 6>, <&gcc 7>;
   43                 clock-names = "axi_clk", "cfg_ahb_clk", "high_speed_clk",
   44                         "mdio_clk", "tx_clk", "rx_clk", "sys_clk";
   45 
   46                 internal-phy = <&emac_sgmii>;
   47 
   48                 phy-handle = <&phy0>;
   49 
   50                 #address-cells = <1>;
   51                 #size-cells = <0>;
   52                 phy0: ethernet-phy@0 {
   53                         reg = <0>;
   54                 };
   55 
   56                 pinctrl-names = "default";
   57                 pinctrl-0 = <&mdio_pins_a>;
   58         };
   59 
   60         emac_sgmii: ethernet@feb38000 {
   61                 compatible = "qcom,fsm9900-emac-sgmii";
   62                 reg = <0xfeb38000 0x1000>;
   63                 interrupts = <80>;
   64         };
   65 
   66         tlmm: pinctrl@fd510000 {
   67                 compatible = "qcom,fsm9900-pinctrl";
   68 
   69                 mdio_pins_a: mdio {
   70                         state {
   71                                 pins = "gpio123", "gpio124";
   72                                 function = "mdio";
   73                         };
   74                 };
   75         };
   76 
   77 
   78 QDF2432:
   79 
   80 soc {
   81         #address-cells = <2>;
   82         #size-cells = <2>;
   83 
   84         emac0: ethernet@38800000 {
   85                 compatible = "qcom,fsm9900-emac";
   86                 reg = <0x0 0x38800000 0x0 0x10000>,
   87                       <0x0 0x38816000 0x0 0x1000>;
   88                 interrupts = <0 256 4>;
   89 
   90                 clocks = <&gcc 0>, <&gcc 1>, <&gcc 3>, <&gcc 4>, <&gcc 5>,
   91                          <&gcc 6>, <&gcc 7>;
   92                 clock-names = "axi_clk", "cfg_ahb_clk", "high_speed_clk",
   93                         "mdio_clk", "tx_clk", "rx_clk", "sys_clk";
   94 
   95                 internal-phy = <&emac_sgmii>;
   96 
   97                 phy-handle = <&phy0>;
   98 
   99                 #address-cells = <1>;
  100                 #size-cells = <0>;
  101                 phy0: ethernet-phy@4 {
  102                         reg = <4>;
  103                 };
  104         };
  105 
  106         emac_sgmii: ethernet@410400 {
  107                 compatible = "qcom,qdf2432-emac-sgmii";
  108                 reg = <0x0 0x00410400 0x0 0xc00>, /* Base address */
  109                       <0x0 0x00410000 0x0 0x400>; /* Per-lane digital */
  110                 interrupts = <0 254 1>;
  111         };

Cache object: 33d16c61d738ecaa8c03fc1304f49662


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.