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/clock/xgene.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 Device Tree Clock bindings for APM X-Gene
    2 
    3 This binding uses the common clock binding[1].
    4 
    5 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
    6 
    7 Required properties:
    8 - compatible : shall be one of the following:
    9         "apm,xgene-socpll-clock" - for a X-Gene SoC PLL clock
   10         "apm,xgene-pcppll-clock" - for a X-Gene PCP PLL clock
   11         "apm,xgene-pmd-clock" - for a X-Gene PMD clock
   12         "apm,xgene-device-clock" - for a X-Gene device clock
   13         "apm,xgene-socpll-v2-clock" - for a X-Gene SoC PLL v2 clock
   14         "apm,xgene-pcppll-v2-clock" - for a X-Gene PCP PLL v2 clock
   15 
   16 Required properties for SoC or PCP PLL clocks:
   17 - reg : shall be the physical PLL register address for the pll clock.
   18 - clocks : shall be the input parent clock phandle for the clock. This should
   19         be the reference clock.
   20 - #clock-cells : shall be set to 1.
   21 - clock-output-names : shall be the name of the PLL referenced by derive
   22   clock.
   23 Optional properties for PLL clocks:
   24 - clock-names : shall be the name of the PLL. If missing, use the device name.
   25 
   26 Required properties for PMD clocks:
   27 - reg : shall be the physical register address for the pmd clock.
   28 - clocks : shall be the input parent clock phandle for the clock.
   29 - #clock-cells : shall be set to 1.
   30 - clock-output-names : shall be the name of the clock referenced by derive
   31   clock.
   32 Optional properties for PLL clocks:
   33 - clock-names : shall be the name of the clock. If missing, use the device name.
   34 
   35 Required properties for device clocks:
   36 - reg : shall be a list of address and length pairs describing the CSR
   37          reset and/or the divider. Either may be omitted, but at least
   38          one must be present.
   39  - reg-names : shall be a string list describing the reg resource. This
   40                may include "csr-reg" and/or "div-reg". If this property
   41                is not present, the reg property is assumed to describe
   42                only "csr-reg".
   43 - clocks : shall be the input parent clock phandle for the clock.
   44 - #clock-cells : shall be set to 1.
   45 - clock-output-names : shall be the name of the device referenced.
   46 Optional properties for device clocks:
   47 - clock-names : shall be the name of the device clock. If missing, use the
   48                 device name.
   49 - csr-offset : Offset to the CSR reset register from the reset address base.
   50                Default is 0.
   51 - csr-mask : CSR reset mask bit. Default is 0xF.
   52 - enable-offset : Offset to the enable register from the reset address base.
   53                   Default is 0x8.
   54 - enable-mask : CSR enable mask bit. Default is 0xF.
   55 - divider-offset : Offset to the divider CSR register from the divider base.
   56                    Default is 0x0.
   57 - divider-width : Width of the divider register. Default is 0.
   58 - divider-shift : Bit shift of the divider register. Default is 0.
   59 
   60 For example:
   61 
   62         pcppll: pcppll@17000100 {
   63                 compatible = "apm,xgene-pcppll-clock";
   64                 #clock-cells = <1>;
   65                 clocks = <&refclk 0>;
   66                 clock-names = "pcppll";
   67                 reg = <0x0 0x17000100 0x0 0x1000>;
   68                 clock-output-names = "pcppll";
   69                 type = <0>;
   70         };
   71 
   72         pmd0clk: pmd0clk@7e200200 {
   73                 compatible = "apm,xgene-pmd-clock";
   74                 #clock-cells = <1>;
   75                 clocks = <&pmdpll 0>;
   76                 reg = <0x0 0x7e200200 0x0 0x10>;
   77                 clock-output-names = "pmd0clk";
   78         };
   79 
   80         socpll: socpll@17000120 {
   81                 compatible = "apm,xgene-socpll-clock";
   82                 #clock-cells = <1>;
   83                 clocks = <&refclk 0>;
   84                 clock-names = "socpll";
   85                 reg = <0x0 0x17000120 0x0 0x1000>;
   86                 clock-output-names = "socpll";
   87                 type = <1>;
   88         };
   89 
   90         qmlclk: qmlclk {
   91                 compatible = "apm,xgene-device-clock";
   92                 #clock-cells = <1>;
   93                 clocks = <&socplldiv2 0>;
   94                 clock-names = "qmlclk";
   95                 reg = <0x0 0x1703C000 0x0 0x1000>;
   96                 reg-name = "csr-reg";
   97                 clock-output-names = "qmlclk";
   98         };
   99 
  100         ethclk: ethclk {
  101                 compatible = "apm,xgene-device-clock";
  102                 #clock-cells = <1>;
  103                 clocks = <&socplldiv2 0>;
  104                 clock-names = "ethclk";
  105                 reg = <0x0 0x17000000 0x0 0x1000>;
  106                 reg-names = "div-reg";
  107                 divider-offset = <0x238>;
  108                 divider-width = <0x9>;
  109                 divider-shift = <0x0>;
  110                 clock-output-names = "ethclk";
  111         };
  112 
  113         apbclk: apbclk {
  114                 compatible = "apm,xgene-device-clock";
  115                 #clock-cells = <1>;
  116                 clocks = <&ahbclk 0>;
  117                 clock-names = "apbclk";
  118                 reg = <0x0 0x1F2AC000 0x0 0x1000
  119                         0x0 0x1F2AC000 0x0 0x1000>;
  120                 reg-names = "csr-reg", "div-reg";
  121                 csr-offset = <0x0>;
  122                 csr-mask = <0x200>;
  123                 enable-offset = <0x8>;
  124                 enable-mask = <0x200>;
  125                 divider-offset = <0x10>;
  126                 divider-width = <0x2>;
  127                 divider-shift = <0x0>;
  128                 flags = <0x8>;
  129                 clock-output-names = "apbclk";
  130         };
  131 

Cache object: 1734d6c722348f9be7760b5d8b0e7574


[ 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.