18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra30-emc.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: NVIDIA Tegra30 SoC External Memory Controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Dmitry Osipenko <digetx@gmail.com>
118c2ecf20Sopenharmony_ci  - Jon Hunter <jonathanh@nvidia.com>
128c2ecf20Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cidescription: |
158c2ecf20Sopenharmony_ci  The EMC interfaces with the off-chip SDRAM to service the request stream
168c2ecf20Sopenharmony_ci  sent from Memory Controller. The EMC also has various performance-affecting
178c2ecf20Sopenharmony_ci  settings beyond the obvious SDRAM configuration parameters and initialization
188c2ecf20Sopenharmony_ci  settings. Tegra30 EMC supports multiple JEDEC standard protocols: LPDDR2,
198c2ecf20Sopenharmony_ci  LPDDR3, and DDR3.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciproperties:
228c2ecf20Sopenharmony_ci  compatible:
238c2ecf20Sopenharmony_ci    const: nvidia,tegra30-emc
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  reg:
268c2ecf20Sopenharmony_ci    maxItems: 1
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  clocks:
298c2ecf20Sopenharmony_ci    maxItems: 1
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  interrupts:
328c2ecf20Sopenharmony_ci    maxItems: 1
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  nvidia,memory-controller:
358c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
368c2ecf20Sopenharmony_ci    description:
378c2ecf20Sopenharmony_ci      Phandle of the Memory Controller node.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_cipatternProperties:
408c2ecf20Sopenharmony_ci  "^emc-timings-[0-9]+$":
418c2ecf20Sopenharmony_ci    type: object
428c2ecf20Sopenharmony_ci    properties:
438c2ecf20Sopenharmony_ci      nvidia,ram-code:
448c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
458c2ecf20Sopenharmony_ci        description:
468c2ecf20Sopenharmony_ci          Value of RAM_CODE this timing set is used for.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci    patternProperties:
498c2ecf20Sopenharmony_ci      "^timing-[0-9]+$":
508c2ecf20Sopenharmony_ci        type: object
518c2ecf20Sopenharmony_ci        properties:
528c2ecf20Sopenharmony_ci          clock-frequency:
538c2ecf20Sopenharmony_ci            description:
548c2ecf20Sopenharmony_ci              Memory clock rate in Hz.
558c2ecf20Sopenharmony_ci            minimum: 1000000
568c2ecf20Sopenharmony_ci            maximum: 900000000
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci          nvidia,emc-auto-cal-interval:
598c2ecf20Sopenharmony_ci            description:
608c2ecf20Sopenharmony_ci              Pad calibration interval in microseconds.
618c2ecf20Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/uint32
628c2ecf20Sopenharmony_ci            minimum: 0
638c2ecf20Sopenharmony_ci            maximum: 2097151
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci          nvidia,emc-mode-1:
668c2ecf20Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/uint32
678c2ecf20Sopenharmony_ci            description:
688c2ecf20Sopenharmony_ci              Mode Register 1.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci          nvidia,emc-mode-2:
718c2ecf20Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/uint32
728c2ecf20Sopenharmony_ci            description:
738c2ecf20Sopenharmony_ci              Mode Register 2.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci          nvidia,emc-mode-reset:
768c2ecf20Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/uint32
778c2ecf20Sopenharmony_ci            description:
788c2ecf20Sopenharmony_ci              Mode Register 0.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci          nvidia,emc-zcal-cnt-long:
818c2ecf20Sopenharmony_ci            description:
828c2ecf20Sopenharmony_ci              Number of EMC clocks to wait before issuing any commands after
838c2ecf20Sopenharmony_ci              sending ZCAL_MRW_CMD.
848c2ecf20Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/uint32
858c2ecf20Sopenharmony_ci            minimum: 0
868c2ecf20Sopenharmony_ci            maximum: 1023
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci          nvidia,emc-cfg-dyn-self-ref:
898c2ecf20Sopenharmony_ci            type: boolean
908c2ecf20Sopenharmony_ci            description:
918c2ecf20Sopenharmony_ci              Dynamic self-refresh enabled.
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci          nvidia,emc-cfg-periodic-qrst:
948c2ecf20Sopenharmony_ci            type: boolean
958c2ecf20Sopenharmony_ci            description:
968c2ecf20Sopenharmony_ci              FBIO "read" FIFO periodic resetting enabled.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci          nvidia,emc-configuration:
998c2ecf20Sopenharmony_ci            description:
1008c2ecf20Sopenharmony_ci              EMC timing characterization data. These are the registers
1018c2ecf20Sopenharmony_ci              (see section "18.13.2 EMC Registers" in the TRM) whose values
1028c2ecf20Sopenharmony_ci              need to be specified, according to the board documentation.
1038c2ecf20Sopenharmony_ci            $ref: /schemas/types.yaml#/definitions/uint32-array
1048c2ecf20Sopenharmony_ci            items:
1058c2ecf20Sopenharmony_ci              - description: EMC_RC
1068c2ecf20Sopenharmony_ci              - description: EMC_RFC
1078c2ecf20Sopenharmony_ci              - description: EMC_RAS
1088c2ecf20Sopenharmony_ci              - description: EMC_RP
1098c2ecf20Sopenharmony_ci              - description: EMC_R2W
1108c2ecf20Sopenharmony_ci              - description: EMC_W2R
1118c2ecf20Sopenharmony_ci              - description: EMC_R2P
1128c2ecf20Sopenharmony_ci              - description: EMC_W2P
1138c2ecf20Sopenharmony_ci              - description: EMC_RD_RCD
1148c2ecf20Sopenharmony_ci              - description: EMC_WR_RCD
1158c2ecf20Sopenharmony_ci              - description: EMC_RRD
1168c2ecf20Sopenharmony_ci              - description: EMC_REXT
1178c2ecf20Sopenharmony_ci              - description: EMC_WEXT
1188c2ecf20Sopenharmony_ci              - description: EMC_WDV
1198c2ecf20Sopenharmony_ci              - description: EMC_QUSE
1208c2ecf20Sopenharmony_ci              - description: EMC_QRST
1218c2ecf20Sopenharmony_ci              - description: EMC_QSAFE
1228c2ecf20Sopenharmony_ci              - description: EMC_RDV
1238c2ecf20Sopenharmony_ci              - description: EMC_REFRESH
1248c2ecf20Sopenharmony_ci              - description: EMC_BURST_REFRESH_NUM
1258c2ecf20Sopenharmony_ci              - description: EMC_PRE_REFRESH_REQ_CNT
1268c2ecf20Sopenharmony_ci              - description: EMC_PDEX2WR
1278c2ecf20Sopenharmony_ci              - description: EMC_PDEX2RD
1288c2ecf20Sopenharmony_ci              - description: EMC_PCHG2PDEN
1298c2ecf20Sopenharmony_ci              - description: EMC_ACT2PDEN
1308c2ecf20Sopenharmony_ci              - description: EMC_AR2PDEN
1318c2ecf20Sopenharmony_ci              - description: EMC_RW2PDEN
1328c2ecf20Sopenharmony_ci              - description: EMC_TXSR
1338c2ecf20Sopenharmony_ci              - description: EMC_TXSRDLL
1348c2ecf20Sopenharmony_ci              - description: EMC_TCKE
1358c2ecf20Sopenharmony_ci              - description: EMC_TFAW
1368c2ecf20Sopenharmony_ci              - description: EMC_TRPAB
1378c2ecf20Sopenharmony_ci              - description: EMC_TCLKSTABLE
1388c2ecf20Sopenharmony_ci              - description: EMC_TCLKSTOP
1398c2ecf20Sopenharmony_ci              - description: EMC_TREFBW
1408c2ecf20Sopenharmony_ci              - description: EMC_QUSE_EXTRA
1418c2ecf20Sopenharmony_ci              - description: EMC_FBIO_CFG6
1428c2ecf20Sopenharmony_ci              - description: EMC_ODT_WRITE
1438c2ecf20Sopenharmony_ci              - description: EMC_ODT_READ
1448c2ecf20Sopenharmony_ci              - description: EMC_FBIO_CFG5
1458c2ecf20Sopenharmony_ci              - description: EMC_CFG_DIG_DLL
1468c2ecf20Sopenharmony_ci              - description: EMC_CFG_DIG_DLL_PERIOD
1478c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS0
1488c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS1
1498c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS2
1508c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS3
1518c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS4
1528c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS5
1538c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS6
1548c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQS7
1558c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE0
1568c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE1
1578c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE2
1588c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE3
1598c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE4
1608c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE5
1618c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE6
1628c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_QUSE7
1638c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS0
1648c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS1
1658c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS2
1668c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS3
1678c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS4
1688c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS5
1698c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS6
1708c2ecf20Sopenharmony_ci              - description: EMC_DLI_TRIM_TXDQS7
1718c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQ0
1728c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQ1
1738c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQ2
1748c2ecf20Sopenharmony_ci              - description: EMC_DLL_XFORM_DQ3
1758c2ecf20Sopenharmony_ci              - description: EMC_XM2CMDPADCTRL
1768c2ecf20Sopenharmony_ci              - description: EMC_XM2DQSPADCTRL2
1778c2ecf20Sopenharmony_ci              - description: EMC_XM2DQPADCTRL2
1788c2ecf20Sopenharmony_ci              - description: EMC_XM2CLKPADCTRL
1798c2ecf20Sopenharmony_ci              - description: EMC_XM2COMPPADCTRL
1808c2ecf20Sopenharmony_ci              - description: EMC_XM2VTTGENPADCTRL
1818c2ecf20Sopenharmony_ci              - description: EMC_XM2VTTGENPADCTRL2
1828c2ecf20Sopenharmony_ci              - description: EMC_XM2QUSEPADCTRL
1838c2ecf20Sopenharmony_ci              - description: EMC_XM2DQSPADCTRL3
1848c2ecf20Sopenharmony_ci              - description: EMC_CTT_TERM_CTRL
1858c2ecf20Sopenharmony_ci              - description: EMC_ZCAL_INTERVAL
1868c2ecf20Sopenharmony_ci              - description: EMC_ZCAL_WAIT_CNT
1878c2ecf20Sopenharmony_ci              - description: EMC_MRS_WAIT_CNT
1888c2ecf20Sopenharmony_ci              - description: EMC_AUTO_CAL_CONFIG
1898c2ecf20Sopenharmony_ci              - description: EMC_CTT
1908c2ecf20Sopenharmony_ci              - description: EMC_CTT_DURATION
1918c2ecf20Sopenharmony_ci              - description: EMC_DYN_SELF_REF_CONTROL
1928c2ecf20Sopenharmony_ci              - description: EMC_FBIO_SPARE
1938c2ecf20Sopenharmony_ci              - description: EMC_CFG_RSV
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ci        required:
1968c2ecf20Sopenharmony_ci          - clock-frequency
1978c2ecf20Sopenharmony_ci          - nvidia,emc-auto-cal-interval
1988c2ecf20Sopenharmony_ci          - nvidia,emc-mode-1
1998c2ecf20Sopenharmony_ci          - nvidia,emc-mode-2
2008c2ecf20Sopenharmony_ci          - nvidia,emc-mode-reset
2018c2ecf20Sopenharmony_ci          - nvidia,emc-zcal-cnt-long
2028c2ecf20Sopenharmony_ci          - nvidia,emc-configuration
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci        additionalProperties: false
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ci    required:
2078c2ecf20Sopenharmony_ci      - nvidia,ram-code
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ci    additionalProperties: false
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_cirequired:
2128c2ecf20Sopenharmony_ci  - compatible
2138c2ecf20Sopenharmony_ci  - reg
2148c2ecf20Sopenharmony_ci  - interrupts
2158c2ecf20Sopenharmony_ci  - clocks
2168c2ecf20Sopenharmony_ci  - nvidia,memory-controller
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ciadditionalProperties: false
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ciexamples:
2218c2ecf20Sopenharmony_ci  - |
2228c2ecf20Sopenharmony_ci    external-memory-controller@7000f400 {
2238c2ecf20Sopenharmony_ci        compatible = "nvidia,tegra30-emc";
2248c2ecf20Sopenharmony_ci        reg = <0x7000f400 0x400>;
2258c2ecf20Sopenharmony_ci        interrupts = <0 78 4>;
2268c2ecf20Sopenharmony_ci        clocks = <&tegra_car 57>;
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ci        nvidia,memory-controller = <&mc>;
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci        emc-timings-1 {
2318c2ecf20Sopenharmony_ci            nvidia,ram-code = <1>;
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci            timing-667000000 {
2348c2ecf20Sopenharmony_ci                clock-frequency = <667000000>;
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_ci                nvidia,emc-auto-cal-interval = <0x001fffff>;
2378c2ecf20Sopenharmony_ci                nvidia,emc-mode-1 = <0x80100002>;
2388c2ecf20Sopenharmony_ci                nvidia,emc-mode-2 = <0x80200018>;
2398c2ecf20Sopenharmony_ci                nvidia,emc-mode-reset = <0x80000b71>;
2408c2ecf20Sopenharmony_ci                nvidia,emc-zcal-cnt-long = <0x00000040>;
2418c2ecf20Sopenharmony_ci                nvidia,emc-cfg-periodic-qrst;
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ci                nvidia,emc-configuration = <
2448c2ecf20Sopenharmony_ci                    0x00000020 /* EMC_RC */
2458c2ecf20Sopenharmony_ci                    0x0000006a /* EMC_RFC */
2468c2ecf20Sopenharmony_ci                    0x00000017 /* EMC_RAS */
2478c2ecf20Sopenharmony_ci                    0x00000007 /* EMC_RP */
2488c2ecf20Sopenharmony_ci                    0x00000005 /* EMC_R2W */
2498c2ecf20Sopenharmony_ci                    0x0000000c /* EMC_W2R */
2508c2ecf20Sopenharmony_ci                    0x00000003 /* EMC_R2P */
2518c2ecf20Sopenharmony_ci                    0x00000011 /* EMC_W2P */
2528c2ecf20Sopenharmony_ci                    0x00000007 /* EMC_RD_RCD */
2538c2ecf20Sopenharmony_ci                    0x00000007 /* EMC_WR_RCD */
2548c2ecf20Sopenharmony_ci                    0x00000002 /* EMC_RRD */
2558c2ecf20Sopenharmony_ci                    0x00000001 /* EMC_REXT */
2568c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_WEXT */
2578c2ecf20Sopenharmony_ci                    0x00000007 /* EMC_WDV */
2588c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_QUSE */
2598c2ecf20Sopenharmony_ci                    0x00000009 /* EMC_QRST */
2608c2ecf20Sopenharmony_ci                    0x0000000b /* EMC_QSAFE */
2618c2ecf20Sopenharmony_ci                    0x00000011 /* EMC_RDV */
2628c2ecf20Sopenharmony_ci                    0x00001412 /* EMC_REFRESH */
2638c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_BURST_REFRESH_NUM */
2648c2ecf20Sopenharmony_ci                    0x00000504 /* EMC_PRE_REFRESH_REQ_CNT */
2658c2ecf20Sopenharmony_ci                    0x00000002 /* EMC_PDEX2WR */
2668c2ecf20Sopenharmony_ci                    0x0000000e /* EMC_PDEX2RD */
2678c2ecf20Sopenharmony_ci                    0x00000001 /* EMC_PCHG2PDEN */
2688c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_ACT2PDEN */
2698c2ecf20Sopenharmony_ci                    0x0000000c /* EMC_AR2PDEN */
2708c2ecf20Sopenharmony_ci                    0x00000016 /* EMC_RW2PDEN */
2718c2ecf20Sopenharmony_ci                    0x00000072 /* EMC_TXSR */
2728c2ecf20Sopenharmony_ci                    0x00000200 /* EMC_TXSRDLL */
2738c2ecf20Sopenharmony_ci                    0x00000005 /* EMC_TCKE */
2748c2ecf20Sopenharmony_ci                    0x00000015 /* EMC_TFAW */
2758c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_TRPAB */
2768c2ecf20Sopenharmony_ci                    0x00000006 /* EMC_TCLKSTABLE */
2778c2ecf20Sopenharmony_ci                    0x00000007 /* EMC_TCLKSTOP */
2788c2ecf20Sopenharmony_ci                    0x00001453 /* EMC_TREFBW */
2798c2ecf20Sopenharmony_ci                    0x0000000b /* EMC_QUSE_EXTRA */
2808c2ecf20Sopenharmony_ci                    0x00000006 /* EMC_FBIO_CFG6 */
2818c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_ODT_WRITE */
2828c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_ODT_READ */
2838c2ecf20Sopenharmony_ci                    0x00005088 /* EMC_FBIO_CFG5 */
2848c2ecf20Sopenharmony_ci                    0xf00b0191 /* EMC_CFG_DIG_DLL */
2858c2ecf20Sopenharmony_ci                    0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
2868c2ecf20Sopenharmony_ci                    0x00000008 /* EMC_DLL_XFORM_DQS0 */
2878c2ecf20Sopenharmony_ci                    0x00000008 /* EMC_DLL_XFORM_DQS1 */
2888c2ecf20Sopenharmony_ci                    0x00000008 /* EMC_DLL_XFORM_DQS2 */
2898c2ecf20Sopenharmony_ci                    0x00000008 /* EMC_DLL_XFORM_DQS3 */
2908c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQS4 */
2918c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQS5 */
2928c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQS6 */
2938c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQS7 */
2948c2ecf20Sopenharmony_ci                    0x00018000 /* EMC_DLL_XFORM_QUSE0 */
2958c2ecf20Sopenharmony_ci                    0x00018000 /* EMC_DLL_XFORM_QUSE1 */
2968c2ecf20Sopenharmony_ci                    0x00018000 /* EMC_DLL_XFORM_QUSE2 */
2978c2ecf20Sopenharmony_ci                    0x00018000 /* EMC_DLL_XFORM_QUSE3 */
2988c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLL_XFORM_QUSE4 */
2998c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLL_XFORM_QUSE5 */
3008c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLL_XFORM_QUSE6 */
3018c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLL_XFORM_QUSE7 */
3028c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
3038c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
3048c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
3058c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
3068c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
3078c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
3088c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
3098c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
3108c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQ0 */
3118c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQ1 */
3128c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQ2 */
3138c2ecf20Sopenharmony_ci                    0x0000000a /* EMC_DLL_XFORM_DQ3 */
3148c2ecf20Sopenharmony_ci                    0x000002a0 /* EMC_XM2CMDPADCTRL */
3158c2ecf20Sopenharmony_ci                    0x0800013d /* EMC_XM2DQSPADCTRL2 */
3168c2ecf20Sopenharmony_ci                    0x22220000 /* EMC_XM2DQPADCTRL2 */
3178c2ecf20Sopenharmony_ci                    0x77fff884 /* EMC_XM2CLKPADCTRL */
3188c2ecf20Sopenharmony_ci                    0x01f1f501 /* EMC_XM2COMPPADCTRL */
3198c2ecf20Sopenharmony_ci                    0x07077404 /* EMC_XM2VTTGENPADCTRL */
3208c2ecf20Sopenharmony_ci                    0x54000000 /* EMC_XM2VTTGENPADCTRL2 */
3218c2ecf20Sopenharmony_ci                    0x080001e8 /* EMC_XM2QUSEPADCTRL */
3228c2ecf20Sopenharmony_ci                    0x0c000021 /* EMC_XM2DQSPADCTRL3 */
3238c2ecf20Sopenharmony_ci                    0x00000802 /* EMC_CTT_TERM_CTRL */
3248c2ecf20Sopenharmony_ci                    0x00020000 /* EMC_ZCAL_INTERVAL */
3258c2ecf20Sopenharmony_ci                    0x00000100 /* EMC_ZCAL_WAIT_CNT */
3268c2ecf20Sopenharmony_ci                    0x0155000c /* EMC_MRS_WAIT_CNT */
3278c2ecf20Sopenharmony_ci                    0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
3288c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_CTT */
3298c2ecf20Sopenharmony_ci                    0x00000000 /* EMC_CTT_DURATION */
3308c2ecf20Sopenharmony_ci                    0x800028a5 /* EMC_DYN_SELF_REF_CONTROL */
3318c2ecf20Sopenharmony_ci                    0xe8000000 /* EMC_FBIO_SPARE */
3328c2ecf20Sopenharmony_ci                    0xff00ff49 /* EMC_CFG_RSV */
3338c2ecf20Sopenharmony_ci                >;
3348c2ecf20Sopenharmony_ci            };
3358c2ecf20Sopenharmony_ci        };
3368c2ecf20Sopenharmony_ci    };
337