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