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