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/memory-controllers/nvidia,tegra30-emc.yaml

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 # SPDX-License-Identifier: (GPL-2.0)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra30-emc.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: NVIDIA Tegra30 SoC External Memory Controller
    8 
    9 maintainers:
   10   - Dmitry Osipenko <digetx@gmail.com>
   11   - Jon Hunter <jonathanh@nvidia.com>
   12   - Thierry Reding <thierry.reding@gmail.com>
   13 
   14 description: |
   15   The EMC interfaces with the off-chip SDRAM to service the request stream
   16   sent from Memory Controller. The EMC also has various performance-affecting
   17   settings beyond the obvious SDRAM configuration parameters and initialization
   18   settings. Tegra30 EMC supports multiple JEDEC standard protocols: LPDDR2,
   19   LPDDR3, and DDR3.
   20 
   21 properties:
   22   compatible:
   23     const: nvidia,tegra30-emc
   24 
   25   reg:
   26     maxItems: 1
   27 
   28   clocks:
   29     maxItems: 1
   30 
   31   interrupts:
   32     maxItems: 1
   33 
   34   "#interconnect-cells":
   35     const: 0
   36 
   37   nvidia,memory-controller:
   38     $ref: /schemas/types.yaml#/definitions/phandle
   39     description:
   40       Phandle of the Memory Controller node.
   41 
   42   power-domains:
   43     maxItems: 1
   44     description:
   45       Phandle of the SoC "core" power domain.
   46 
   47   operating-points-v2:
   48     description:
   49       Should contain freqs and voltages and opp-supported-hw property, which
   50       is a bitfield indicating SoC speedo ID mask.
   51 
   52 patternProperties:
   53   "^emc-timings-[0-9]+$":
   54     type: object
   55     properties:
   56       nvidia,ram-code:
   57         $ref: /schemas/types.yaml#/definitions/uint32
   58         description:
   59           Value of RAM_CODE this timing set is used for.
   60 
   61     patternProperties:
   62       "^timing-[0-9]+$":
   63         type: object
   64         properties:
   65           clock-frequency:
   66             description:
   67               Memory clock rate in Hz.
   68             minimum: 1000000
   69             maximum: 900000000
   70 
   71           nvidia,emc-auto-cal-interval:
   72             description:
   73               Pad calibration interval in microseconds.
   74             $ref: /schemas/types.yaml#/definitions/uint32
   75             minimum: 0
   76             maximum: 2097151
   77 
   78           nvidia,emc-mode-1:
   79             $ref: /schemas/types.yaml#/definitions/uint32
   80             description:
   81               Mode Register 1.
   82 
   83           nvidia,emc-mode-2:
   84             $ref: /schemas/types.yaml#/definitions/uint32
   85             description:
   86               Mode Register 2.
   87 
   88           nvidia,emc-mode-reset:
   89             $ref: /schemas/types.yaml#/definitions/uint32
   90             description:
   91               Mode Register 0.
   92 
   93           nvidia,emc-zcal-cnt-long:
   94             description:
   95               Number of EMC clocks to wait before issuing any commands after
   96               sending ZCAL_MRW_CMD.
   97             $ref: /schemas/types.yaml#/definitions/uint32
   98             minimum: 0
   99             maximum: 1023
  100 
  101           nvidia,emc-cfg-dyn-self-ref:
  102             type: boolean
  103             description:
  104               Dynamic self-refresh enabled.
  105 
  106           nvidia,emc-cfg-periodic-qrst:
  107             type: boolean
  108             description:
  109               FBIO "read" FIFO periodic resetting enabled.
  110 
  111           nvidia,emc-configuration:
  112             description:
  113               EMC timing characterization data. These are the registers
  114               (see section "18.13.2 EMC Registers" in the TRM) whose values
  115               need to be specified, according to the board documentation.
  116             $ref: /schemas/types.yaml#/definitions/uint32-array
  117             items:
  118               - description: EMC_RC
  119               - description: EMC_RFC
  120               - description: EMC_RAS
  121               - description: EMC_RP
  122               - description: EMC_R2W
  123               - description: EMC_W2R
  124               - description: EMC_R2P
  125               - description: EMC_W2P
  126               - description: EMC_RD_RCD
  127               - description: EMC_WR_RCD
  128               - description: EMC_RRD
  129               - description: EMC_REXT
  130               - description: EMC_WEXT
  131               - description: EMC_WDV
  132               - description: EMC_QUSE
  133               - description: EMC_QRST
  134               - description: EMC_QSAFE
  135               - description: EMC_RDV
  136               - description: EMC_REFRESH
  137               - description: EMC_BURST_REFRESH_NUM
  138               - description: EMC_PRE_REFRESH_REQ_CNT
  139               - description: EMC_PDEX2WR
  140               - description: EMC_PDEX2RD
  141               - description: EMC_PCHG2PDEN
  142               - description: EMC_ACT2PDEN
  143               - description: EMC_AR2PDEN
  144               - description: EMC_RW2PDEN
  145               - description: EMC_TXSR
  146               - description: EMC_TXSRDLL
  147               - description: EMC_TCKE
  148               - description: EMC_TFAW
  149               - description: EMC_TRPAB
  150               - description: EMC_TCLKSTABLE
  151               - description: EMC_TCLKSTOP
  152               - description: EMC_TREFBW
  153               - description: EMC_QUSE_EXTRA
  154               - description: EMC_FBIO_CFG6
  155               - description: EMC_ODT_WRITE
  156               - description: EMC_ODT_READ
  157               - description: EMC_FBIO_CFG5
  158               - description: EMC_CFG_DIG_DLL
  159               - description: EMC_CFG_DIG_DLL_PERIOD
  160               - description: EMC_DLL_XFORM_DQS0
  161               - description: EMC_DLL_XFORM_DQS1
  162               - description: EMC_DLL_XFORM_DQS2
  163               - description: EMC_DLL_XFORM_DQS3
  164               - description: EMC_DLL_XFORM_DQS4
  165               - description: EMC_DLL_XFORM_DQS5
  166               - description: EMC_DLL_XFORM_DQS6
  167               - description: EMC_DLL_XFORM_DQS7
  168               - description: EMC_DLL_XFORM_QUSE0
  169               - description: EMC_DLL_XFORM_QUSE1
  170               - description: EMC_DLL_XFORM_QUSE2
  171               - description: EMC_DLL_XFORM_QUSE3
  172               - description: EMC_DLL_XFORM_QUSE4
  173               - description: EMC_DLL_XFORM_QUSE5
  174               - description: EMC_DLL_XFORM_QUSE6
  175               - description: EMC_DLL_XFORM_QUSE7
  176               - description: EMC_DLI_TRIM_TXDQS0
  177               - description: EMC_DLI_TRIM_TXDQS1
  178               - description: EMC_DLI_TRIM_TXDQS2
  179               - description: EMC_DLI_TRIM_TXDQS3
  180               - description: EMC_DLI_TRIM_TXDQS4
  181               - description: EMC_DLI_TRIM_TXDQS5
  182               - description: EMC_DLI_TRIM_TXDQS6
  183               - description: EMC_DLI_TRIM_TXDQS7
  184               - description: EMC_DLL_XFORM_DQ0
  185               - description: EMC_DLL_XFORM_DQ1
  186               - description: EMC_DLL_XFORM_DQ2
  187               - description: EMC_DLL_XFORM_DQ3
  188               - description: EMC_XM2CMDPADCTRL
  189               - description: EMC_XM2DQSPADCTRL2
  190               - description: EMC_XM2DQPADCTRL2
  191               - description: EMC_XM2CLKPADCTRL
  192               - description: EMC_XM2COMPPADCTRL
  193               - description: EMC_XM2VTTGENPADCTRL
  194               - description: EMC_XM2VTTGENPADCTRL2
  195               - description: EMC_XM2QUSEPADCTRL
  196               - description: EMC_XM2DQSPADCTRL3
  197               - description: EMC_CTT_TERM_CTRL
  198               - description: EMC_ZCAL_INTERVAL
  199               - description: EMC_ZCAL_WAIT_CNT
  200               - description: EMC_MRS_WAIT_CNT
  201               - description: EMC_AUTO_CAL_CONFIG
  202               - description: EMC_CTT
  203               - description: EMC_CTT_DURATION
  204               - description: EMC_DYN_SELF_REF_CONTROL
  205               - description: EMC_FBIO_SPARE
  206               - description: EMC_CFG_RSV
  207 
  208         required:
  209           - clock-frequency
  210           - nvidia,emc-auto-cal-interval
  211           - nvidia,emc-mode-1
  212           - nvidia,emc-mode-2
  213           - nvidia,emc-mode-reset
  214           - nvidia,emc-zcal-cnt-long
  215           - nvidia,emc-configuration
  216 
  217         additionalProperties: false
  218 
  219     required:
  220       - nvidia,ram-code
  221 
  222     additionalProperties: false
  223 
  224 required:
  225   - compatible
  226   - reg
  227   - interrupts
  228   - clocks
  229   - nvidia,memory-controller
  230   - "#interconnect-cells"
  231   - operating-points-v2
  232 
  233 additionalProperties: false
  234 
  235 examples:
  236   - |
  237     external-memory-controller@7000f400 {
  238         compatible = "nvidia,tegra30-emc";
  239         reg = <0x7000f400 0x400>;
  240         interrupts = <0 78 4>;
  241         clocks = <&tegra_car 57>;
  242 
  243         nvidia,memory-controller = <&mc>;
  244         operating-points-v2 = <&dvfs_opp_table>;
  245         power-domains = <&domain>;
  246 
  247         #interconnect-cells = <0>;
  248 
  249         emc-timings-1 {
  250             nvidia,ram-code = <1>;
  251 
  252             timing-667000000 {
  253                 clock-frequency = <667000000>;
  254 
  255                 nvidia,emc-auto-cal-interval = <0x001fffff>;
  256                 nvidia,emc-mode-1 = <0x80100002>;
  257                 nvidia,emc-mode-2 = <0x80200018>;
  258                 nvidia,emc-mode-reset = <0x80000b71>;
  259                 nvidia,emc-zcal-cnt-long = <0x00000040>;
  260                 nvidia,emc-cfg-periodic-qrst;
  261 
  262                 nvidia,emc-configuration = <
  263                     0x00000020 /* EMC_RC */
  264                     0x0000006a /* EMC_RFC */
  265                     0x00000017 /* EMC_RAS */
  266                     0x00000007 /* EMC_RP */
  267                     0x00000005 /* EMC_R2W */
  268                     0x0000000c /* EMC_W2R */
  269                     0x00000003 /* EMC_R2P */
  270                     0x00000011 /* EMC_W2P */
  271                     0x00000007 /* EMC_RD_RCD */
  272                     0x00000007 /* EMC_WR_RCD */
  273                     0x00000002 /* EMC_RRD */
  274                     0x00000001 /* EMC_REXT */
  275                     0x00000000 /* EMC_WEXT */
  276                     0x00000007 /* EMC_WDV */
  277                     0x0000000a /* EMC_QUSE */
  278                     0x00000009 /* EMC_QRST */
  279                     0x0000000b /* EMC_QSAFE */
  280                     0x00000011 /* EMC_RDV */
  281                     0x00001412 /* EMC_REFRESH */
  282                     0x00000000 /* EMC_BURST_REFRESH_NUM */
  283                     0x00000504 /* EMC_PRE_REFRESH_REQ_CNT */
  284                     0x00000002 /* EMC_PDEX2WR */
  285                     0x0000000e /* EMC_PDEX2RD */
  286                     0x00000001 /* EMC_PCHG2PDEN */
  287                     0x00000000 /* EMC_ACT2PDEN */
  288                     0x0000000c /* EMC_AR2PDEN */
  289                     0x00000016 /* EMC_RW2PDEN */
  290                     0x00000072 /* EMC_TXSR */
  291                     0x00000200 /* EMC_TXSRDLL */
  292                     0x00000005 /* EMC_TCKE */
  293                     0x00000015 /* EMC_TFAW */
  294                     0x00000000 /* EMC_TRPAB */
  295                     0x00000006 /* EMC_TCLKSTABLE */
  296                     0x00000007 /* EMC_TCLKSTOP */
  297                     0x00001453 /* EMC_TREFBW */
  298                     0x0000000b /* EMC_QUSE_EXTRA */
  299                     0x00000006 /* EMC_FBIO_CFG6 */
  300                     0x00000000 /* EMC_ODT_WRITE */
  301                     0x00000000 /* EMC_ODT_READ */
  302                     0x00005088 /* EMC_FBIO_CFG5 */
  303                     0xf00b0191 /* EMC_CFG_DIG_DLL */
  304                     0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
  305                     0x00000008 /* EMC_DLL_XFORM_DQS0 */
  306                     0x00000008 /* EMC_DLL_XFORM_DQS1 */
  307                     0x00000008 /* EMC_DLL_XFORM_DQS2 */
  308                     0x00000008 /* EMC_DLL_XFORM_DQS3 */
  309                     0x0000000a /* EMC_DLL_XFORM_DQS4 */
  310                     0x0000000a /* EMC_DLL_XFORM_DQS5 */
  311                     0x0000000a /* EMC_DLL_XFORM_DQS6 */
  312                     0x0000000a /* EMC_DLL_XFORM_DQS7 */
  313                     0x00018000 /* EMC_DLL_XFORM_QUSE0 */
  314                     0x00018000 /* EMC_DLL_XFORM_QUSE1 */
  315                     0x00018000 /* EMC_DLL_XFORM_QUSE2 */
  316                     0x00018000 /* EMC_DLL_XFORM_QUSE3 */
  317                     0x00000000 /* EMC_DLL_XFORM_QUSE4 */
  318                     0x00000000 /* EMC_DLL_XFORM_QUSE5 */
  319                     0x00000000 /* EMC_DLL_XFORM_QUSE6 */
  320                     0x00000000 /* EMC_DLL_XFORM_QUSE7 */
  321                     0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
  322                     0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
  323                     0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
  324                     0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
  325                     0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
  326                     0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
  327                     0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
  328                     0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
  329                     0x0000000a /* EMC_DLL_XFORM_DQ0 */
  330                     0x0000000a /* EMC_DLL_XFORM_DQ1 */
  331                     0x0000000a /* EMC_DLL_XFORM_DQ2 */
  332                     0x0000000a /* EMC_DLL_XFORM_DQ3 */
  333                     0x000002a0 /* EMC_XM2CMDPADCTRL */
  334                     0x0800013d /* EMC_XM2DQSPADCTRL2 */
  335                     0x22220000 /* EMC_XM2DQPADCTRL2 */
  336                     0x77fff884 /* EMC_XM2CLKPADCTRL */
  337                     0x01f1f501 /* EMC_XM2COMPPADCTRL */
  338                     0x07077404 /* EMC_XM2VTTGENPADCTRL */
  339                     0x54000000 /* EMC_XM2VTTGENPADCTRL2 */
  340                     0x080001e8 /* EMC_XM2QUSEPADCTRL */
  341                     0x0c000021 /* EMC_XM2DQSPADCTRL3 */
  342                     0x00000802 /* EMC_CTT_TERM_CTRL */
  343                     0x00020000 /* EMC_ZCAL_INTERVAL */
  344                     0x00000100 /* EMC_ZCAL_WAIT_CNT */
  345                     0x0155000c /* EMC_MRS_WAIT_CNT */
  346                     0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
  347                     0x00000000 /* EMC_CTT */
  348                     0x00000000 /* EMC_CTT_DURATION */
  349                     0x800028a5 /* EMC_DYN_SELF_REF_CONTROL */
  350                     0xe8000000 /* EMC_FBIO_SPARE */
  351                     0xff00ff49 /* EMC_CFG_RSV */
  352                 >;
  353             };
  354         };
  355     };

Cache object: eee8475ef85b4fdd00f199aa60c325d5


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