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