xref: /openbmc/linux/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-emc.yaml (revision 881f68ed9d4e2d9f6e4247f2f01d9c457921e6c6)
166cb6e9dSThierry Reding# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
266cb6e9dSThierry Reding%YAML 1.2
366cb6e9dSThierry Reding---
466cb6e9dSThierry Reding$id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra124-emc.yaml#
566cb6e9dSThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml#
666cb6e9dSThierry Reding
766cb6e9dSThierry Redingtitle: NVIDIA Tegra124 SoC External Memory Controller
866cb6e9dSThierry Reding
966cb6e9dSThierry Redingmaintainers:
1066cb6e9dSThierry Reding  - Thierry Reding <thierry.reding@gmail.com>
1166cb6e9dSThierry Reding  - Jon Hunter <jonathanh@nvidia.com>
1266cb6e9dSThierry Reding
1366cb6e9dSThierry Redingdescription: |
1466cb6e9dSThierry Reding  The EMC interfaces with the off-chip SDRAM to service the request stream
1566cb6e9dSThierry Reding  sent from the memory controller.
1666cb6e9dSThierry Reding
1766cb6e9dSThierry Redingproperties:
1866cb6e9dSThierry Reding  compatible:
1966cb6e9dSThierry Reding    const: nvidia,tegra124-emc
2066cb6e9dSThierry Reding
2166cb6e9dSThierry Reding  reg:
2266cb6e9dSThierry Reding    maxItems: 1
2366cb6e9dSThierry Reding
2466cb6e9dSThierry Reding  clocks:
2566cb6e9dSThierry Reding    items:
2666cb6e9dSThierry Reding      - description: external memory clock
2766cb6e9dSThierry Reding
2866cb6e9dSThierry Reding  clock-names:
2966cb6e9dSThierry Reding    items:
3066cb6e9dSThierry Reding      - const: emc
3166cb6e9dSThierry Reding
32cf3b2debSDmitry Osipenko  "#interconnect-cells":
33cf3b2debSDmitry Osipenko    const: 0
34cf3b2debSDmitry Osipenko
3566cb6e9dSThierry Reding  nvidia,memory-controller:
3666cb6e9dSThierry Reding    $ref: /schemas/types.yaml#/definitions/phandle
3766cb6e9dSThierry Reding    description:
3866cb6e9dSThierry Reding      phandle of the memory controller node
3966cb6e9dSThierry Reding
40*881f68edSDmitry Osipenko  core-supply:
41*881f68edSDmitry Osipenko    description:
42*881f68edSDmitry Osipenko      Phandle of voltage regulator of the SoC "core" power domain.
43*881f68edSDmitry Osipenko
44*881f68edSDmitry Osipenko  operating-points-v2:
45*881f68edSDmitry Osipenko    description:
46*881f68edSDmitry Osipenko      Should contain freqs and voltages and opp-supported-hw property, which
47*881f68edSDmitry Osipenko      is a bitfield indicating SoC speedo ID mask.
48*881f68edSDmitry Osipenko
4966cb6e9dSThierry RedingpatternProperties:
5066cb6e9dSThierry Reding  "^emc-timings-[0-9]+$":
5166cb6e9dSThierry Reding    type: object
5266cb6e9dSThierry Reding    properties:
5366cb6e9dSThierry Reding      nvidia,ram-code:
5466cb6e9dSThierry Reding        $ref: /schemas/types.yaml#/definitions/uint32
5566cb6e9dSThierry Reding        description:
5666cb6e9dSThierry Reding          value of the RAM_CODE field in the PMC_STRAPPING_OPT_A register that
5766cb6e9dSThierry Reding          this timing set is used for
5866cb6e9dSThierry Reding
5966cb6e9dSThierry Reding    patternProperties:
6066cb6e9dSThierry Reding      "^timing-[0-9]+$":
6166cb6e9dSThierry Reding        type: object
6266cb6e9dSThierry Reding        properties:
6366cb6e9dSThierry Reding          clock-frequency:
6466cb6e9dSThierry Reding            description:
6566cb6e9dSThierry Reding              external memory clock rate in Hz
6666cb6e9dSThierry Reding            minimum: 1000000
6766cb6e9dSThierry Reding            maximum: 1000000000
6866cb6e9dSThierry Reding
6966cb6e9dSThierry Reding          nvidia,emc-auto-cal-config:
7066cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
7166cb6e9dSThierry Reding            description:
7266cb6e9dSThierry Reding              value of the EMC_AUTO_CAL_CONFIG register for this set of
7366cb6e9dSThierry Reding              timings
7466cb6e9dSThierry Reding
7566cb6e9dSThierry Reding          nvidia,emc-auto-cal-config2:
7666cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
7766cb6e9dSThierry Reding            description:
7866cb6e9dSThierry Reding              value of the EMC_AUTO_CAL_CONFIG2 register for this set of
7966cb6e9dSThierry Reding              timings
8066cb6e9dSThierry Reding
8166cb6e9dSThierry Reding          nvidia,emc-auto-cal-config3:
8266cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
8366cb6e9dSThierry Reding            description:
8466cb6e9dSThierry Reding              value of the EMC_AUTO_CAL_CONFIG3 register for this set of
8566cb6e9dSThierry Reding              timings
8666cb6e9dSThierry Reding
8766cb6e9dSThierry Reding          nvidia,emc-auto-cal-interval:
8866cb6e9dSThierry Reding            description:
8966cb6e9dSThierry Reding              pad calibration interval in microseconds
903d21a460SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
9166cb6e9dSThierry Reding            minimum: 0
9266cb6e9dSThierry Reding            maximum: 2097151
9366cb6e9dSThierry Reding
9466cb6e9dSThierry Reding          nvidia,emc-bgbias-ctl0:
9566cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
9666cb6e9dSThierry Reding            description:
9766cb6e9dSThierry Reding              value of the EMC_BGBIAS_CTL0 register for this set of timings
9866cb6e9dSThierry Reding
9966cb6e9dSThierry Reding          nvidia,emc-cfg:
10066cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
10166cb6e9dSThierry Reding            description:
10266cb6e9dSThierry Reding              value of the EMC_CFG register for this set of timings
10366cb6e9dSThierry Reding
10466cb6e9dSThierry Reding          nvidia,emc-cfg-2:
10566cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
10666cb6e9dSThierry Reding            description:
10766cb6e9dSThierry Reding              value of the EMC_CFG_2 register for this set of timings
10866cb6e9dSThierry Reding
10966cb6e9dSThierry Reding          nvidia,emc-ctt-term-ctrl:
11066cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
11166cb6e9dSThierry Reding            description:
11266cb6e9dSThierry Reding              value of the EMC_CTT_TERM_CTRL register for this set of timings
11366cb6e9dSThierry Reding
11466cb6e9dSThierry Reding          nvidia,emc-mode-1:
11566cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
11666cb6e9dSThierry Reding            description:
11766cb6e9dSThierry Reding              value of the EMC_MRW register for this set of timings
11866cb6e9dSThierry Reding
11966cb6e9dSThierry Reding          nvidia,emc-mode-2:
12066cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
12166cb6e9dSThierry Reding            description:
12266cb6e9dSThierry Reding              value of the EMC_MRW2 register for this set of timings
12366cb6e9dSThierry Reding
12466cb6e9dSThierry Reding          nvidia,emc-mode-4:
12566cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
12666cb6e9dSThierry Reding            description:
12766cb6e9dSThierry Reding              value of the EMC_MRW4 register for this set of timings
12866cb6e9dSThierry Reding
12966cb6e9dSThierry Reding          nvidia,emc-mode-reset:
13066cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
13166cb6e9dSThierry Reding            description:
13266cb6e9dSThierry Reding              reset value of the EMC_MRS register for this set of timings
13366cb6e9dSThierry Reding
13466cb6e9dSThierry Reding          nvidia,emc-mrs-wait-cnt:
13566cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
13666cb6e9dSThierry Reding            description:
13766cb6e9dSThierry Reding              value of the EMR_MRS_WAIT_CNT register for this set of timings
13866cb6e9dSThierry Reding
13966cb6e9dSThierry Reding          nvidia,emc-sel-dpd-ctrl:
14066cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
14166cb6e9dSThierry Reding            description:
14266cb6e9dSThierry Reding              value of the EMC_SEL_DPD_CTRL register for this set of timings
14366cb6e9dSThierry Reding
14466cb6e9dSThierry Reding          nvidia,emc-xm2dqspadctrl2:
14566cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
14666cb6e9dSThierry Reding            description:
14766cb6e9dSThierry Reding              value of the EMC_XM2DQSPADCTRL2 register for this set of timings
14866cb6e9dSThierry Reding
14966cb6e9dSThierry Reding          nvidia,emc-zcal-cnt-long:
15066cb6e9dSThierry Reding            description:
15166cb6e9dSThierry Reding              number of EMC clocks to wait before issuing any commands after
15266cb6e9dSThierry Reding              clock change
1533d21a460SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
15466cb6e9dSThierry Reding            minimum: 0
15566cb6e9dSThierry Reding            maximum: 1023
15666cb6e9dSThierry Reding
15766cb6e9dSThierry Reding          nvidia,emc-zcal-interval:
15866cb6e9dSThierry Reding            $ref: /schemas/types.yaml#/definitions/uint32
15966cb6e9dSThierry Reding            description:
16066cb6e9dSThierry Reding              value of the EMC_ZCAL_INTERVAL register for this set of timings
16166cb6e9dSThierry Reding
16266cb6e9dSThierry Reding          nvidia,emc-configuration:
16366cb6e9dSThierry Reding            description:
16466cb6e9dSThierry Reding              EMC timing characterization data. These are the registers (see
16566cb6e9dSThierry Reding              section "15.6.2 EMC Registers" in the TRM) whose values need to
16666cb6e9dSThierry Reding              be specified, according to the board documentation.
1673d21a460SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32-array
16866cb6e9dSThierry Reding            items:
16966cb6e9dSThierry Reding              - description: EMC_RC
17066cb6e9dSThierry Reding              - description: EMC_RFC
17166cb6e9dSThierry Reding              - description: EMC_RFC_SLR
17266cb6e9dSThierry Reding              - description: EMC_RAS
17366cb6e9dSThierry Reding              - description: EMC_RP
17466cb6e9dSThierry Reding              - description: EMC_R2W
17566cb6e9dSThierry Reding              - description: EMC_W2R
17666cb6e9dSThierry Reding              - description: EMC_R2P
17766cb6e9dSThierry Reding              - description: EMC_W2P
17866cb6e9dSThierry Reding              - description: EMC_RD_RCD
17966cb6e9dSThierry Reding              - description: EMC_WR_RCD
18066cb6e9dSThierry Reding              - description: EMC_RRD
18166cb6e9dSThierry Reding              - description: EMC_REXT
18266cb6e9dSThierry Reding              - description: EMC_WEXT
18366cb6e9dSThierry Reding              - description: EMC_WDV
18466cb6e9dSThierry Reding              - description: EMC_WDV_MASK
18566cb6e9dSThierry Reding              - description: EMC_QUSE
18666cb6e9dSThierry Reding              - description: EMC_QUSE_WIDTH
18766cb6e9dSThierry Reding              - description: EMC_IBDLY
18866cb6e9dSThierry Reding              - description: EMC_EINPUT
18966cb6e9dSThierry Reding              - description: EMC_EINPUT_DURATION
19066cb6e9dSThierry Reding              - description: EMC_PUTERM_EXTRA
19166cb6e9dSThierry Reding              - description: EMC_PUTERM_WIDTH
19266cb6e9dSThierry Reding              - description: EMC_PUTERM_ADJ
19366cb6e9dSThierry Reding              - description: EMC_CDB_CNTL_1
19466cb6e9dSThierry Reding              - description: EMC_CDB_CNTL_2
19566cb6e9dSThierry Reding              - description: EMC_CDB_CNTL_3
19666cb6e9dSThierry Reding              - description: EMC_QRST
19766cb6e9dSThierry Reding              - description: EMC_QSAFE
19866cb6e9dSThierry Reding              - description: EMC_RDV
19966cb6e9dSThierry Reding              - description: EMC_RDV_MASK
20066cb6e9dSThierry Reding              - description: EMC_REFRESH
20166cb6e9dSThierry Reding              - description: EMC_BURST_REFRESH_NUM
20266cb6e9dSThierry Reding              - description: EMC_PRE_REFRESH_REQ_CNT
20366cb6e9dSThierry Reding              - description: EMC_PDEX2WR
20466cb6e9dSThierry Reding              - description: EMC_PDEX2RD
20566cb6e9dSThierry Reding              - description: EMC_PCHG2PDEN
20666cb6e9dSThierry Reding              - description: EMC_ACT2PDEN
20766cb6e9dSThierry Reding              - description: EMC_AR2PDEN
20866cb6e9dSThierry Reding              - description: EMC_RW2PDEN
20966cb6e9dSThierry Reding              - description: EMC_TXSR
21066cb6e9dSThierry Reding              - description: EMC_TXSRDLL
21166cb6e9dSThierry Reding              - description: EMC_TCKE
21266cb6e9dSThierry Reding              - description: EMC_TCKESR
21366cb6e9dSThierry Reding              - description: EMC_TPD
21466cb6e9dSThierry Reding              - description: EMC_TFAW
21566cb6e9dSThierry Reding              - description: EMC_TRPAB
21666cb6e9dSThierry Reding              - description: EMC_TCLKSTABLE
21766cb6e9dSThierry Reding              - description: EMC_TCLKSTOP
21866cb6e9dSThierry Reding              - description: EMC_TREFBW
21966cb6e9dSThierry Reding              - description: EMC_FBIO_CFG6
22066cb6e9dSThierry Reding              - description: EMC_ODT_WRITE
22166cb6e9dSThierry Reding              - description: EMC_ODT_READ
22266cb6e9dSThierry Reding              - description: EMC_FBIO_CFG5
22366cb6e9dSThierry Reding              - description: EMC_CFG_DIG_DLL
22466cb6e9dSThierry Reding              - description: EMC_CFG_DIG_DLL_PERIOD
22566cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS0
22666cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS1
22766cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS2
22866cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS3
22966cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS4
23066cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS5
23166cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS6
23266cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS7
23366cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS8
23466cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS9
23566cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS10
23666cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS11
23766cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS12
23866cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS13
23966cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS14
24066cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQS15
24166cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE0
24266cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE1
24366cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE2
24466cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE3
24566cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE4
24666cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE5
24766cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE6
24866cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE7
24966cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_ADDR0
25066cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_ADDR1
25166cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_ADDR2
25266cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_ADDR3
25366cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_ADDR4
25466cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_ADDR5
25566cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE8
25666cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE9
25766cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE10
25866cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE11
25966cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE12
26066cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE13
26166cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE14
26266cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_QUSE15
26366cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS0
26466cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS1
26566cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS2
26666cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS3
26766cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS4
26866cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS5
26966cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS6
27066cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS7
27166cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS8
27266cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS9
27366cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS10
27466cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS11
27566cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS12
27666cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS13
27766cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS14
27866cb6e9dSThierry Reding              - description: EMC_DLI_TRIM_TXDQS15
27966cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ0
28066cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ1
28166cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ2
28266cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ3
28366cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ4
28466cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ5
28566cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ6
28666cb6e9dSThierry Reding              - description: EMC_DLL_XFORM_DQ7
28766cb6e9dSThierry Reding              - description: EMC_XM2CMDPADCTRL
28866cb6e9dSThierry Reding              - description: EMC_XM2CMDPADCTRL4
28966cb6e9dSThierry Reding              - description: EMC_XM2CMDPADCTRL5
29066cb6e9dSThierry Reding              - description: EMC_XM2DQPADCTRL2
29166cb6e9dSThierry Reding              - description: EMC_XM2DQPADCTRL3
29266cb6e9dSThierry Reding              - description: EMC_XM2CLKPADCTRL
29366cb6e9dSThierry Reding              - description: EMC_XM2CLKPADCTRL2
29466cb6e9dSThierry Reding              - description: EMC_XM2COMPPADCTRL
29566cb6e9dSThierry Reding              - description: EMC_XM2VTTGENPADCTRL
29666cb6e9dSThierry Reding              - description: EMC_XM2VTTGENPADCTRL2
29766cb6e9dSThierry Reding              - description: EMC_XM2VTTGENPADCTRL3
29866cb6e9dSThierry Reding              - description: EMC_XM2DQSPADCTRL3
29966cb6e9dSThierry Reding              - description: EMC_XM2DQSPADCTRL4
30066cb6e9dSThierry Reding              - description: EMC_XM2DQSPADCTRL5
30166cb6e9dSThierry Reding              - description: EMC_XM2DQSPADCTRL6
30266cb6e9dSThierry Reding              - description: EMC_DSR_VTTGEN_DRV
30366cb6e9dSThierry Reding              - description: EMC_TXDSRVTTGEN
30466cb6e9dSThierry Reding              - description: EMC_FBIO_SPARE
30566cb6e9dSThierry Reding              - description: EMC_ZCAL_WAIT_CNT
30666cb6e9dSThierry Reding              - description: EMC_MRS_WAIT_CNT2
30766cb6e9dSThierry Reding              - description: EMC_CTT
30866cb6e9dSThierry Reding              - description: EMC_CTT_DURATION
30966cb6e9dSThierry Reding              - description: EMC_CFG_PIPE
31066cb6e9dSThierry Reding              - description: EMC_DYN_SELF_REF_CONTROL
31166cb6e9dSThierry Reding              - description: EMC_QPOP
31266cb6e9dSThierry Reding
31366cb6e9dSThierry Reding        required:
31466cb6e9dSThierry Reding          - clock-frequency
31566cb6e9dSThierry Reding          - nvidia,emc-auto-cal-config
31666cb6e9dSThierry Reding          - nvidia,emc-auto-cal-config2
31766cb6e9dSThierry Reding          - nvidia,emc-auto-cal-config3
31866cb6e9dSThierry Reding          - nvidia,emc-auto-cal-interval
31966cb6e9dSThierry Reding          - nvidia,emc-bgbias-ctl0
32066cb6e9dSThierry Reding          - nvidia,emc-cfg
32166cb6e9dSThierry Reding          - nvidia,emc-cfg-2
32266cb6e9dSThierry Reding          - nvidia,emc-ctt-term-ctrl
32366cb6e9dSThierry Reding          - nvidia,emc-mode-1
32466cb6e9dSThierry Reding          - nvidia,emc-mode-2
32566cb6e9dSThierry Reding          - nvidia,emc-mode-4
32666cb6e9dSThierry Reding          - nvidia,emc-mode-reset
32766cb6e9dSThierry Reding          - nvidia,emc-mrs-wait-cnt
32866cb6e9dSThierry Reding          - nvidia,emc-sel-dpd-ctrl
32966cb6e9dSThierry Reding          - nvidia,emc-xm2dqspadctrl2
33066cb6e9dSThierry Reding          - nvidia,emc-zcal-cnt-long
33166cb6e9dSThierry Reding          - nvidia,emc-zcal-interval
33266cb6e9dSThierry Reding          - nvidia,emc-configuration
33366cb6e9dSThierry Reding
33466cb6e9dSThierry Reding        additionalProperties: false
33566cb6e9dSThierry Reding
33666cb6e9dSThierry Redingrequired:
33766cb6e9dSThierry Reding  - compatible
33866cb6e9dSThierry Reding  - reg
33966cb6e9dSThierry Reding  - clocks
34066cb6e9dSThierry Reding  - clock-names
34166cb6e9dSThierry Reding  - nvidia,memory-controller
342cf3b2debSDmitry Osipenko  - "#interconnect-cells"
343*881f68edSDmitry Osipenko  - operating-points-v2
34466cb6e9dSThierry Reding
34566cb6e9dSThierry RedingadditionalProperties: false
34666cb6e9dSThierry Reding
34766cb6e9dSThierry Redingexamples:
34866cb6e9dSThierry Reding  - |
34966cb6e9dSThierry Reding    #include <dt-bindings/clock/tegra124-car.h>
35066cb6e9dSThierry Reding    #include <dt-bindings/interrupt-controller/arm-gic.h>
35166cb6e9dSThierry Reding
35266cb6e9dSThierry Reding    mc: memory-controller@70019000 {
35366cb6e9dSThierry Reding        compatible = "nvidia,tegra124-mc";
354fba56184SRob Herring        reg = <0x70019000 0x1000>;
35566cb6e9dSThierry Reding        clocks = <&tegra_car TEGRA124_CLK_MC>;
35666cb6e9dSThierry Reding        clock-names = "mc";
35766cb6e9dSThierry Reding
35866cb6e9dSThierry Reding        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
35966cb6e9dSThierry Reding
36066cb6e9dSThierry Reding        #iommu-cells = <1>;
3613044d989SThierry Reding        #reset-cells = <1>;
362cac2a355SDmitry Osipenko        #interconnect-cells = <1>;
36366cb6e9dSThierry Reding    };
36466cb6e9dSThierry Reding
36566cb6e9dSThierry Reding    external-memory-controller@7001b000 {
36666cb6e9dSThierry Reding        compatible = "nvidia,tegra124-emc";
367fba56184SRob Herring        reg = <0x7001b000 0x1000>;
36866cb6e9dSThierry Reding        clocks = <&car TEGRA124_CLK_EMC>;
36966cb6e9dSThierry Reding        clock-names = "emc";
37066cb6e9dSThierry Reding
37166cb6e9dSThierry Reding        nvidia,memory-controller = <&mc>;
372*881f68edSDmitry Osipenko        operating-points-v2 = <&dvfs_opp_table>;
373*881f68edSDmitry Osipenko        core-supply = <&vdd_core>;
37466cb6e9dSThierry Reding
375cf3b2debSDmitry Osipenko        #interconnect-cells = <0>;
376cf3b2debSDmitry Osipenko
37766cb6e9dSThierry Reding        emc-timings-0 {
37866cb6e9dSThierry Reding            nvidia,ram-code = <3>;
37966cb6e9dSThierry Reding
38066cb6e9dSThierry Reding            timing-0 {
38166cb6e9dSThierry Reding                clock-frequency = <12750000>;
38266cb6e9dSThierry Reding
38366cb6e9dSThierry Reding                nvidia,emc-auto-cal-config = <0xa1430000>;
38466cb6e9dSThierry Reding                nvidia,emc-auto-cal-config2 = <0x00000000>;
38566cb6e9dSThierry Reding                nvidia,emc-auto-cal-config3 = <0x00000000>;
3863044d989SThierry Reding                nvidia,emc-auto-cal-interval = <0x001fffff>;
3873044d989SThierry Reding                nvidia,emc-bgbias-ctl0 = <0x00000008>;
3883044d989SThierry Reding                nvidia,emc-cfg = <0x73240000>;
3893044d989SThierry Reding                nvidia,emc-cfg-2 = <0x000008c5>;
3903044d989SThierry Reding                nvidia,emc-ctt-term-ctrl = <0x00000802>;
39166cb6e9dSThierry Reding                nvidia,emc-mode-1 = <0x80100003>;
39266cb6e9dSThierry Reding                nvidia,emc-mode-2 = <0x80200008>;
39366cb6e9dSThierry Reding                nvidia,emc-mode-4 = <0x00000000>;
3943044d989SThierry Reding                nvidia,emc-mode-reset = <0x80001221>;
3953044d989SThierry Reding                nvidia,emc-mrs-wait-cnt = <0x000e000e>;
3963044d989SThierry Reding                nvidia,emc-sel-dpd-ctrl = <0x00040128>;
3973044d989SThierry Reding                nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
3983044d989SThierry Reding                nvidia,emc-zcal-cnt-long = <0x00000042>;
3993044d989SThierry Reding                nvidia,emc-zcal-interval = <0x00000000>;
40066cb6e9dSThierry Reding
40166cb6e9dSThierry Reding                nvidia,emc-configuration = <
40266cb6e9dSThierry Reding                    0x00000000 /* EMC_RC */
40366cb6e9dSThierry Reding                    0x00000003 /* EMC_RFC */
40466cb6e9dSThierry Reding                    0x00000000 /* EMC_RFC_SLR */
40566cb6e9dSThierry Reding                    0x00000000 /* EMC_RAS */
40666cb6e9dSThierry Reding                    0x00000000 /* EMC_RP */
40766cb6e9dSThierry Reding                    0x00000004 /* EMC_R2W */
40866cb6e9dSThierry Reding                    0x0000000a /* EMC_W2R */
40966cb6e9dSThierry Reding                    0x00000003 /* EMC_R2P */
41066cb6e9dSThierry Reding                    0x0000000b /* EMC_W2P */
41166cb6e9dSThierry Reding                    0x00000000 /* EMC_RD_RCD */
41266cb6e9dSThierry Reding                    0x00000000 /* EMC_WR_RCD */
41366cb6e9dSThierry Reding                    0x00000003 /* EMC_RRD */
41466cb6e9dSThierry Reding                    0x00000003 /* EMC_REXT */
41566cb6e9dSThierry Reding                    0x00000000 /* EMC_WEXT */
41666cb6e9dSThierry Reding                    0x00000006 /* EMC_WDV */
41766cb6e9dSThierry Reding                    0x00000006 /* EMC_WDV_MASK */
41866cb6e9dSThierry Reding                    0x00000006 /* EMC_QUSE */
41966cb6e9dSThierry Reding                    0x00000002 /* EMC_QUSE_WIDTH */
42066cb6e9dSThierry Reding                    0x00000000 /* EMC_IBDLY */
42166cb6e9dSThierry Reding                    0x00000005 /* EMC_EINPUT */
42266cb6e9dSThierry Reding                    0x00000005 /* EMC_EINPUT_DURATION */
42366cb6e9dSThierry Reding                    0x00010000 /* EMC_PUTERM_EXTRA */
42466cb6e9dSThierry Reding                    0x00000003 /* EMC_PUTERM_WIDTH */
42566cb6e9dSThierry Reding                    0x00000000 /* EMC_PUTERM_ADJ */
42666cb6e9dSThierry Reding                    0x00000000 /* EMC_CDB_CNTL_1 */
42766cb6e9dSThierry Reding                    0x00000000 /* EMC_CDB_CNTL_2 */
42866cb6e9dSThierry Reding                    0x00000000 /* EMC_CDB_CNTL_3 */
42966cb6e9dSThierry Reding                    0x00000004 /* EMC_QRST */
43066cb6e9dSThierry Reding                    0x0000000c /* EMC_QSAFE */
43166cb6e9dSThierry Reding                    0x0000000d /* EMC_RDV */
43266cb6e9dSThierry Reding                    0x0000000f /* EMC_RDV_MASK */
43366cb6e9dSThierry Reding                    0x00000060 /* EMC_REFRESH */
43466cb6e9dSThierry Reding                    0x00000000 /* EMC_BURST_REFRESH_NUM */
43566cb6e9dSThierry Reding                    0x00000018 /* EMC_PRE_REFRESH_REQ_CNT */
43666cb6e9dSThierry Reding                    0x00000002 /* EMC_PDEX2WR */
43766cb6e9dSThierry Reding                    0x00000002 /* EMC_PDEX2RD */
43866cb6e9dSThierry Reding                    0x00000001 /* EMC_PCHG2PDEN */
43966cb6e9dSThierry Reding                    0x00000000 /* EMC_ACT2PDEN */
44066cb6e9dSThierry Reding                    0x00000007 /* EMC_AR2PDEN */
44166cb6e9dSThierry Reding                    0x0000000f /* EMC_RW2PDEN */
44266cb6e9dSThierry Reding                    0x00000005 /* EMC_TXSR */
44366cb6e9dSThierry Reding                    0x00000005 /* EMC_TXSRDLL */
44466cb6e9dSThierry Reding                    0x00000004 /* EMC_TCKE */
44566cb6e9dSThierry Reding                    0x00000005 /* EMC_TCKESR */
44666cb6e9dSThierry Reding                    0x00000004 /* EMC_TPD */
44766cb6e9dSThierry Reding                    0x00000000 /* EMC_TFAW */
44866cb6e9dSThierry Reding                    0x00000000 /* EMC_TRPAB */
44966cb6e9dSThierry Reding                    0x00000005 /* EMC_TCLKSTABLE */
45066cb6e9dSThierry Reding                    0x00000005 /* EMC_TCLKSTOP */
45166cb6e9dSThierry Reding                    0x00000064 /* EMC_TREFBW */
45266cb6e9dSThierry Reding                    0x00000000 /* EMC_FBIO_CFG6 */
45366cb6e9dSThierry Reding                    0x00000000 /* EMC_ODT_WRITE */
45466cb6e9dSThierry Reding                    0x00000000 /* EMC_ODT_READ */
45566cb6e9dSThierry Reding                    0x106aa298 /* EMC_FBIO_CFG5 */
45666cb6e9dSThierry Reding                    0x002c00a0 /* EMC_CFG_DIG_DLL */
45766cb6e9dSThierry Reding                    0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
45866cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS0 */
45966cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS1 */
46066cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS2 */
46166cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS3 */
46266cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS4 */
46366cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS5 */
46466cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS6 */
46566cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS7 */
46666cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS8 */
46766cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS9 */
46866cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS10 */
46966cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS11 */
47066cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS12 */
47166cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS13 */
47266cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS14 */
47366cb6e9dSThierry Reding                    0x00064000 /* EMC_DLL_XFORM_DQS15 */
47466cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE0 */
47566cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE1 */
47666cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE2 */
47766cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE3 */
47866cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE4 */
47966cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE5 */
48066cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE6 */
48166cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE7 */
48266cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_ADDR0 */
48366cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_ADDR1 */
48466cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_ADDR2 */
48566cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_ADDR3 */
48666cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_ADDR4 */
48766cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_ADDR5 */
48866cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE8 */
48966cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE9 */
49066cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE10 */
49166cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE11 */
49266cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE12 */
49366cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE13 */
49466cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE14 */
49566cb6e9dSThierry Reding                    0x00000000 /* EMC_DLL_XFORM_QUSE15 */
49666cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
49766cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
49866cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
49966cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
50066cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
50166cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
50266cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
50366cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
50466cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS8 */
50566cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS9 */
50666cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS10 */
50766cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS11 */
50866cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS12 */
50966cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS13 */
51066cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS14 */
51166cb6e9dSThierry Reding                    0x00000000 /* EMC_DLI_TRIM_TXDQS15 */
51266cb6e9dSThierry Reding                    0x000fc000 /* EMC_DLL_XFORM_DQ0 */
51366cb6e9dSThierry Reding                    0x000fc000 /* EMC_DLL_XFORM_DQ1 */
51466cb6e9dSThierry Reding                    0x000fc000 /* EMC_DLL_XFORM_DQ2 */
51566cb6e9dSThierry Reding                    0x000fc000 /* EMC_DLL_XFORM_DQ3 */
51666cb6e9dSThierry Reding                    0x0000fc00 /* EMC_DLL_XFORM_DQ4 */
51766cb6e9dSThierry Reding                    0x0000fc00 /* EMC_DLL_XFORM_DQ5 */
51866cb6e9dSThierry Reding                    0x0000fc00 /* EMC_DLL_XFORM_DQ6 */
51966cb6e9dSThierry Reding                    0x0000fc00 /* EMC_DLL_XFORM_DQ7 */
52066cb6e9dSThierry Reding                    0x10000280 /* EMC_XM2CMDPADCTRL */
52166cb6e9dSThierry Reding                    0x00000000 /* EMC_XM2CMDPADCTRL4 */
52266cb6e9dSThierry Reding                    0x00111111 /* EMC_XM2CMDPADCTRL5 */
52366cb6e9dSThierry Reding                    0x00000000 /* EMC_XM2DQPADCTRL2 */
52466cb6e9dSThierry Reding                    0x00000000 /* EMC_XM2DQPADCTRL3 */
52566cb6e9dSThierry Reding                    0x77ffc081 /* EMC_XM2CLKPADCTRL */
52666cb6e9dSThierry Reding                    0x00000e0e /* EMC_XM2CLKPADCTRL2 */
52766cb6e9dSThierry Reding                    0x81f1f108 /* EMC_XM2COMPPADCTRL */
52866cb6e9dSThierry Reding                    0x07070004 /* EMC_XM2VTTGENPADCTRL */
52966cb6e9dSThierry Reding                    0x0000003f /* EMC_XM2VTTGENPADCTRL2 */
53066cb6e9dSThierry Reding                    0x016eeeee /* EMC_XM2VTTGENPADCTRL3 */
53166cb6e9dSThierry Reding                    0x51451400 /* EMC_XM2DQSPADCTRL3 */
53266cb6e9dSThierry Reding                    0x00514514 /* EMC_XM2DQSPADCTRL4 */
53366cb6e9dSThierry Reding                    0x00514514 /* EMC_XM2DQSPADCTRL5 */
53466cb6e9dSThierry Reding                    0x51451400 /* EMC_XM2DQSPADCTRL6 */
53566cb6e9dSThierry Reding                    0x0000003f /* EMC_DSR_VTTGEN_DRV */
53666cb6e9dSThierry Reding                    0x00000007 /* EMC_TXDSRVTTGEN */
53766cb6e9dSThierry Reding                    0x00000000 /* EMC_FBIO_SPARE */
53866cb6e9dSThierry Reding                    0x00000042 /* EMC_ZCAL_WAIT_CNT */
53966cb6e9dSThierry Reding                    0x000e000e /* EMC_MRS_WAIT_CNT2 */
54066cb6e9dSThierry Reding                    0x00000000 /* EMC_CTT */
54166cb6e9dSThierry Reding                    0x00000003 /* EMC_CTT_DURATION */
54266cb6e9dSThierry Reding                    0x0000f2f3 /* EMC_CFG_PIPE */
54366cb6e9dSThierry Reding                    0x800001c5 /* EMC_DYN_SELF_REF_CONTROL */
54466cb6e9dSThierry Reding                    0x0000000a /* EMC_QPOP */
54566cb6e9dSThierry Reding                >;
54666cb6e9dSThierry Reding            };
54766cb6e9dSThierry Reding        };
54866cb6e9dSThierry Reding    };
549