[U-Boot] [PATCH 15/15] imx: add i.MX8MQ EVK support

Jon Nettleton jon at solid-run.com
Thu Nov 15 07:07:33 UTC 2018


*snip*

> --- /dev/null
> +++ b/board/freescale/imx8mq_evk/lpddr4_timing.c
> @@ -0,0 +1,2104 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright 2018 NXP
> + */
> +
> +#include <linux/kernel.h>
> +#include <common.h>
> +#include <asm/arch/ddr.h>
> +
> +#define LPDDR4_HDT_CTL_2D      0xC8  /* stage completion */
> +#define LPDDR4_HDT_CTL_3200_1D 0xC8  /* stage completion */
> +#define LPDDR4_HDT_CTL_400_1D  0xC8  /* stage completion */
> +#define LPDDR4_HDT_CTL_100_1D  0xC8  /* stage completion */
> +
> +// 400/100 training seq
> +#define LPDDR4_TRAIN_SEQ_100   0x121f
> +#define LPDDR4_TRAIN_SEQ_400   0x121f
> +
> +//2D share & weight
> +#define LPDDR4_2D_WEIGHT       0x1f7f
> +#define LPDDR4_2D_SHARE                1
> +#define LPDDR4_CATRAIN_3200_1d 0
> +#define LPDDR4_CATRAIN_400     0
> +#define LPDDR4_CATRAIN_100     0
> +#define LPDDR4_CATRAIN_3200_2d 0
> +
> +#define WR_POST_EXT_3200       /* recommened to define */
> +
> +/* for LPDDR4 Rtt */
> +#define LPDDR4_RTT40   6
> +#define LPDDR4_RTT48   5
> +#define LPDDR4_RTT60   4
> +#define LPDDR4_RTT80   3
> +#define LPDDR4_RTT120  2
> +#define LPDDR4_RTT240  1
> +#define LPDDR4_RTT_DIS 0

Are these board specific?  They seem like they should be defined in ddr.h

> +
> +/* for LPDDR4 Ron */
> +#define LPDDR4_RON34   7
> +#define LPDDR4_RON40   6
> +#define LPDDR4_RON48   5
> +#define LPDDR4_RON60   4
> +#define LPDDR4_RON80   3

ditto.

> +
> +#define LPDDR4_PHY_ADDR_RON60  0x1
> +#define LPDDR4_PHY_ADDR_RON40  0x3
> +#define LPDDR4_PHY_ADDR_RON30  0x7
> +#define LPDDR4_PHY_ADDR_RON24  0xf
> +#define LPDDR4_PHY_ADDR_RON20  0x1f
> +
> +/* for read channel */
> +#define LPDDR4_RON                     LPDDR4_RON40 /* MR3[5:3] */
> +#define LPDDR4_PHY_RTT                 30
> +#define LPDDR4_PHY_VREF_VALUE          17
> +
> +/* for write channel */
> +#define LPDDR4_PHY_RON                 30
> +#define LPDDR4_PHY_ADDR_RON            LPDDR4_PHY_ADDR_RON40
> +#define LPDDR4_RTT_DQ                  LPDDR4_RTT40 /* MR11[2:0] */
> +#define LPDDR4_RTT_CA                  LPDDR4_RTT40 /* MR11[6:4] */
> +#define LPDDR4_RTT_CA_BANK0            LPDDR4_RTT40 /* MR11[6:4] */
> +#define LPDDR4_RTT_CA_BANK1            LPDDR4_RTT40 /* LPDDR4_RTT_DIS */

do these values ever differ?  seems like it would be better to use
LPDDR_RTT and then have the board file #define LPDRR4_RTT to
LPDDR4_RTT40

> +#define LPDDR4_VREF_VALUE_CA           ((1 << 6) | (0xd)) /* MR12 */
> +#define LPDDR4_VREF_VALUE_DQ_RANK0     ((1 << 6) | (0xd)) /* MR14 */
> +#define LPDDR4_VREF_VALUE_DQ_RANK1     ((1 << 6) | (0xd)) /* MR14 */
> +#define LPDDR4_MR22_RANK0              ((0 << 5) | (1 << 4) | (0 << 3) | \
> +               (LPDDR4_RTT40)) /* MR22: OP[5:3]ODTD-CA,CS,CK */
> +#define LPDDR4_MR22_RANK1              ((0 << 5) | (1 << 4) | (0 << 3) | \
> +               (LPDDR4_RTT40)) /* MR22: OP[5:3]ODTD-CA,CS,CK */
> +#define LPDDR4_MR3_PU_CAL              1 /* MR3[0] */
> +
*snip*
> +
> +/* PHY Initialize Configuration */
> +struct dram_cfg_param lpddr4_ddrphy_cfg[] = {

> +       { 0x213149, 0xfbe },
> +
> +       { 0x43, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x1043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x2043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x3043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x4043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x5043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x6043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x7043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x8043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },
> +       { 0x9043, ((LPDDR4_PHY_ADDR_RON << 5) | LPDDR4_PHY_ADDR_RON) },

Are there any benefits to not just using the register writes here?

> +
> +       { 0x20018, 0x3 },

*snip*

> +
> +/* ddr phy trained csr */
> +struct dram_cfg_param lpddr4_ddrphy_trained_csr[] = {
> +       { 0x200b2, 0x0 },
> +       { 0x1200b2, 0x0 },
> +       { 0x2200b2, 0x0 },
> +       { 0x200cb, 0x0 },
> +       { 0x10043, 0x0 },
> +       { 0x110043, 0x0 },
> +       { 0x210043, 0x0 },
> +       { 0x10143, 0x0 },
> +       { 0x110143, 0x0 },
> +       { 0x210143, 0x0 },
> +       { 0x11043, 0x0 },
> +       { 0x111043, 0x0 },
> +       { 0x211043, 0x0 },
> +       { 0x11143, 0x0 },
> +       { 0x111143, 0x0 },
> +       { 0x211143, 0x0 },
> +       { 0x12043, 0x0 },
> +       { 0x112043, 0x0 },
> +       { 0x212043, 0x0 },
> +       { 0x12143, 0x0 },
> +       { 0x112143, 0x0 },
> +       { 0x212143, 0x0 },
> +       { 0x13043, 0x0 },
> +       { 0x113043, 0x0 },
> +       { 0x213043, 0x0 },
> +       { 0x13143, 0x0 },
> +       { 0x113143, 0x0 },
> +       { 0x213143, 0x0 },
> +       { 0x80, 0x0 },
> +       { 0x100080, 0x0 },
> +       { 0x200080, 0x0 },
> +       { 0x1080, 0x0 },
> +       { 0x101080, 0x0 },
> +       { 0x201080, 0x0 },
> +       { 0x2080, 0x0 },
> +       { 0x102080, 0x0 },
> +       { 0x202080, 0x0 },
> +       { 0x3080, 0x0 },
> +       { 0x103080, 0x0 },
> +       { 0x203080, 0x0 },
> +       { 0x4080, 0x0 },
> +       { 0x104080, 0x0 },
> +       { 0x204080, 0x0 },
> +       { 0x5080, 0x0 },
> +       { 0x105080, 0x0 },
> +       { 0x205080, 0x0 },
> +       { 0x6080, 0x0 },
> +       { 0x106080, 0x0 },
> +       { 0x206080, 0x0 },
> +       { 0x7080, 0x0 },
> +       { 0x107080, 0x0 },
> +       { 0x207080, 0x0 },
> +       { 0x8080, 0x0 },
> +       { 0x108080, 0x0 },
> +       { 0x208080, 0x0 },
> +       { 0x9080, 0x0 },
> +       { 0x109080, 0x0 },
> +       { 0x209080, 0x0 },
> +       { 0x10080, 0x0 },
> +       { 0x110080, 0x0 },
> +       { 0x210080, 0x0 },
> +       { 0x10180, 0x0 },
> +       { 0x110180, 0x0 },
> +       { 0x210180, 0x0 },
> +       { 0x11080, 0x0 },
> +       { 0x111080, 0x0 },
> +       { 0x211080, 0x0 },
> +       { 0x11180, 0x0 },
> +       { 0x111180, 0x0 },
> +       { 0x211180, 0x0 },
> +       { 0x12080, 0x0 },
> +       { 0x112080, 0x0 },
> +       { 0x212080, 0x0 },
> +       { 0x12180, 0x0 },
> +       { 0x112180, 0x0 },
> +       { 0x212180, 0x0 },
> +       { 0x13080, 0x0 },
> +       { 0x113080, 0x0 },
> +       { 0x213080, 0x0 },
> +       { 0x13180, 0x0 },
> +       { 0x113180, 0x0 },
> +       { 0x213180, 0x0 },
> +       { 0x10081, 0x0 },
> +       { 0x110081, 0x0 },
> +       { 0x210081, 0x0 },
> +       { 0x10181, 0x0 },
> +       { 0x110181, 0x0 },
> +       { 0x210181, 0x0 },
> +       { 0x11081, 0x0 },
> +       { 0x111081, 0x0 },
> +       { 0x211081, 0x0 },
> +       { 0x11181, 0x0 },
> +       { 0x111181, 0x0 },
> +       { 0x211181, 0x0 },
> +       { 0x12081, 0x0 },
> +       { 0x112081, 0x0 },
> +       { 0x212081, 0x0 },
> +       { 0x12181, 0x0 },
> +       { 0x112181, 0x0 },
> +       { 0x212181, 0x0 },
> +       { 0x13081, 0x0 },
> +       { 0x113081, 0x0 },
> +       { 0x213081, 0x0 },
> +       { 0x13181, 0x0 },
> +       { 0x113181, 0x0 },
> +       { 0x213181, 0x0 },
> +       { 0x100d0, 0x0 },
> +       { 0x1100d0, 0x0 },
> +       { 0x2100d0, 0x0 },
> +       { 0x101d0, 0x0 },
> +       { 0x1101d0, 0x0 },
> +       { 0x2101d0, 0x0 },
> +       { 0x110d0, 0x0 },
> +       { 0x1110d0, 0x0 },
> +       { 0x2110d0, 0x0 },
> +       { 0x111d0, 0x0 },
> +       { 0x1111d0, 0x0 },
> +       { 0x2111d0, 0x0 },
> +       { 0x120d0, 0x0 },
> +       { 0x1120d0, 0x0 },
> +       { 0x2120d0, 0x0 },
> +       { 0x121d0, 0x0 },
> +       { 0x1121d0, 0x0 },
> +       { 0x2121d0, 0x0 },
> +       { 0x130d0, 0x0 },
> +       { 0x1130d0, 0x0 },
> +       { 0x2130d0, 0x0 },
> +       { 0x131d0, 0x0 },
> +       { 0x1131d0, 0x0 },
> +       { 0x2131d0, 0x0 },
> +       { 0x100d1, 0x0 },
> +       { 0x1100d1, 0x0 },
> +       { 0x2100d1, 0x0 },
> +       { 0x101d1, 0x0 },
> +       { 0x1101d1, 0x0 },
> +       { 0x2101d1, 0x0 },
> +       { 0x110d1, 0x0 },
> +       { 0x1110d1, 0x0 },
> +       { 0x2110d1, 0x0 },
> +       { 0x111d1, 0x0 },
> +       { 0x1111d1, 0x0 },
> +       { 0x2111d1, 0x0 },
> +       { 0x120d1, 0x0 },
> +       { 0x1120d1, 0x0 },
> +       { 0x2120d1, 0x0 },
> +       { 0x121d1, 0x0 },
> +       { 0x1121d1, 0x0 },
> +       { 0x2121d1, 0x0 },
> +       { 0x130d1, 0x0 },
> +       { 0x1130d1, 0x0 },
> +       { 0x2130d1, 0x0 },
> +       { 0x131d1, 0x0 },
> +       { 0x1131d1, 0x0 },
> +       { 0x2131d1, 0x0 },
> +       { 0x10068, 0x0 },
> +       { 0x10168, 0x0 },
> +       { 0x10268, 0x0 },
> +       { 0x10368, 0x0 },
> +       { 0x10468, 0x0 },
> +       { 0x10568, 0x0 },
> +       { 0x10668, 0x0 },
> +       { 0x10768, 0x0 },
> +       { 0x10868, 0x0 },
> +       { 0x11068, 0x0 },
> +       { 0x11168, 0x0 },
> +       { 0x11268, 0x0 },
> +       { 0x11368, 0x0 },
> +       { 0x11468, 0x0 },
> +       { 0x11568, 0x0 },
> +       { 0x11668, 0x0 },
> +       { 0x11768, 0x0 },
> +       { 0x11868, 0x0 },
> +       { 0x12068, 0x0 },
> +       { 0x12168, 0x0 },
> +       { 0x12268, 0x0 },
> +       { 0x12368, 0x0 },
> +       { 0x12468, 0x0 },
> +       { 0x12568, 0x0 },
> +       { 0x12668, 0x0 },
> +       { 0x12768, 0x0 },
> +       { 0x12868, 0x0 },
> +       { 0x13068, 0x0 },
> +       { 0x13168, 0x0 },
> +       { 0x13268, 0x0 },
> +       { 0x13368, 0x0 },
> +       { 0x13468, 0x0 },
> +       { 0x13568, 0x0 },
> +       { 0x13668, 0x0 },
> +       { 0x13768, 0x0 },
> +       { 0x13868, 0x0 },
> +       { 0x10069, 0x0 },
> +       { 0x10169, 0x0 },
> +       { 0x10269, 0x0 },
> +       { 0x10369, 0x0 },
> +       { 0x10469, 0x0 },
> +       { 0x10569, 0x0 },
> +       { 0x10669, 0x0 },
> +       { 0x10769, 0x0 },
> +       { 0x10869, 0x0 },
> +       { 0x11069, 0x0 },
> +       { 0x11169, 0x0 },
> +       { 0x11269, 0x0 },
> +       { 0x11369, 0x0 },
> +       { 0x11469, 0x0 },
> +       { 0x11569, 0x0 },
> +       { 0x11669, 0x0 },
> +       { 0x11769, 0x0 },
> +       { 0x11869, 0x0 },
> +       { 0x12069, 0x0 },
> +       { 0x12169, 0x0 },
> +       { 0x12269, 0x0 },
> +       { 0x12369, 0x0 },
> +       { 0x12469, 0x0 },
> +       { 0x12569, 0x0 },
> +       { 0x12669, 0x0 },
> +       { 0x12769, 0x0 },
> +       { 0x12869, 0x0 },
> +       { 0x13069, 0x0 },
> +       { 0x13169, 0x0 },
> +       { 0x13269, 0x0 },
> +       { 0x13369, 0x0 },
> +       { 0x13469, 0x0 },
> +       { 0x13569, 0x0 },
> +       { 0x13669, 0x0 },
> +       { 0x13769, 0x0 },
> +       { 0x13869, 0x0 },
> +       { 0x1008c, 0x0 },
> +       { 0x11008c, 0x0 },
> +       { 0x21008c, 0x0 },
> +       { 0x1018c, 0x0 },
> +       { 0x11018c, 0x0 },
> +       { 0x21018c, 0x0 },
> +       { 0x1108c, 0x0 },
> +       { 0x11108c, 0x0 },
> +       { 0x21108c, 0x0 },
> +       { 0x1118c, 0x0 },
> +       { 0x11118c, 0x0 },
> +       { 0x21118c, 0x0 },
> +       { 0x1208c, 0x0 },
> +       { 0x11208c, 0x0 },
> +       { 0x21208c, 0x0 },
> +       { 0x1218c, 0x0 },
> +       { 0x11218c, 0x0 },
> +       { 0x21218c, 0x0 },
> +       { 0x1308c, 0x0 },
> +       { 0x11308c, 0x0 },
> +       { 0x21308c, 0x0 },
> +       { 0x1318c, 0x0 },
> +       { 0x11318c, 0x0 },
> +       { 0x21318c, 0x0 },
> +       { 0x1008d, 0x0 },
> +       { 0x11008d, 0x0 },
> +       { 0x21008d, 0x0 },
> +       { 0x1018d, 0x0 },
> +       { 0x11018d, 0x0 },
> +       { 0x21018d, 0x0 },
> +       { 0x1108d, 0x0 },
> +       { 0x11108d, 0x0 },
> +       { 0x21108d, 0x0 },
> +       { 0x1118d, 0x0 },
> +       { 0x11118d, 0x0 },
> +       { 0x21118d, 0x0 },
> +       { 0x1208d, 0x0 },
> +       { 0x11208d, 0x0 },
> +       { 0x21208d, 0x0 },
> +       { 0x1218d, 0x0 },
> +       { 0x11218d, 0x0 },
> +       { 0x21218d, 0x0 },
> +       { 0x1308d, 0x0 },
> +       { 0x11308d, 0x0 },
> +       { 0x21308d, 0x0 },
> +       { 0x1318d, 0x0 },
> +       { 0x11318d, 0x0 },
> +       { 0x21318d, 0x0 },
> +       { 0x100c0, 0x0 },
> +       { 0x1100c0, 0x0 },
> +       { 0x2100c0, 0x0 },
> +       { 0x101c0, 0x0 },
> +       { 0x1101c0, 0x0 },
> +       { 0x2101c0, 0x0 },
> +       { 0x102c0, 0x0 },
> +       { 0x1102c0, 0x0 },
> +       { 0x2102c0, 0x0 },
> +       { 0x103c0, 0x0 },
> +       { 0x1103c0, 0x0 },
> +       { 0x2103c0, 0x0 },
> +       { 0x104c0, 0x0 },
> +       { 0x1104c0, 0x0 },
> +       { 0x2104c0, 0x0 },
> +       { 0x105c0, 0x0 },
> +       { 0x1105c0, 0x0 },
> +       { 0x2105c0, 0x0 },
> +       { 0x106c0, 0x0 },
> +       { 0x1106c0, 0x0 },
> +       { 0x2106c0, 0x0 },
> +       { 0x107c0, 0x0 },
> +       { 0x1107c0, 0x0 },
> +       { 0x2107c0, 0x0 },
> +       { 0x108c0, 0x0 },
> +       { 0x1108c0, 0x0 },
> +       { 0x2108c0, 0x0 },
> +       { 0x110c0, 0x0 },
> +       { 0x1110c0, 0x0 },
> +       { 0x2110c0, 0x0 },
> +       { 0x111c0, 0x0 },
> +       { 0x1111c0, 0x0 },
> +       { 0x2111c0, 0x0 },
> +       { 0x112c0, 0x0 },
> +       { 0x1112c0, 0x0 },
> +       { 0x2112c0, 0x0 },
> +       { 0x113c0, 0x0 },
> +       { 0x1113c0, 0x0 },
> +       { 0x2113c0, 0x0 },
> +       { 0x114c0, 0x0 },
> +       { 0x1114c0, 0x0 },
> +       { 0x2114c0, 0x0 },
> +       { 0x115c0, 0x0 },
> +       { 0x1115c0, 0x0 },
> +       { 0x2115c0, 0x0 },
> +       { 0x116c0, 0x0 },
> +       { 0x1116c0, 0x0 },
> +       { 0x2116c0, 0x0 },
> +       { 0x117c0, 0x0 },
> +       { 0x1117c0, 0x0 },
> +       { 0x2117c0, 0x0 },
> +       { 0x118c0, 0x0 },
> +       { 0x1118c0, 0x0 },
> +       { 0x2118c0, 0x0 },
> +       { 0x120c0, 0x0 },
> +       { 0x1120c0, 0x0 },
> +       { 0x2120c0, 0x0 },
> +       { 0x121c0, 0x0 },
> +       { 0x1121c0, 0x0 },
> +       { 0x2121c0, 0x0 },
> +       { 0x122c0, 0x0 },
> +       { 0x1122c0, 0x0 },
> +       { 0x2122c0, 0x0 },
> +       { 0x123c0, 0x0 },
> +       { 0x1123c0, 0x0 },
> +       { 0x2123c0, 0x0 },
> +       { 0x124c0, 0x0 },
> +       { 0x1124c0, 0x0 },
> +       { 0x2124c0, 0x0 },
> +       { 0x125c0, 0x0 },
> +       { 0x1125c0, 0x0 },
> +       { 0x2125c0, 0x0 },
> +       { 0x126c0, 0x0 },
> +       { 0x1126c0, 0x0 },
> +       { 0x2126c0, 0x0 },
> +       { 0x127c0, 0x0 },
> +       { 0x1127c0, 0x0 },
> +       { 0x2127c0, 0x0 },
> +       { 0x128c0, 0x0 },
> +       { 0x1128c0, 0x0 },
> +       { 0x2128c0, 0x0 },
> +       { 0x130c0, 0x0 },
> +       { 0x1130c0, 0x0 },
> +       { 0x2130c0, 0x0 },
> +       { 0x131c0, 0x0 },
> +       { 0x1131c0, 0x0 },
> +       { 0x2131c0, 0x0 },
> +       { 0x132c0, 0x0 },
> +       { 0x1132c0, 0x0 },
> +       { 0x2132c0, 0x0 },
> +       { 0x133c0, 0x0 },
> +       { 0x1133c0, 0x0 },
> +       { 0x2133c0, 0x0 },
> +       { 0x134c0, 0x0 },
> +       { 0x1134c0, 0x0 },
> +       { 0x2134c0, 0x0 },
> +       { 0x135c0, 0x0 },
> +       { 0x1135c0, 0x0 },
> +       { 0x2135c0, 0x0 },
> +       { 0x136c0, 0x0 },
> +       { 0x1136c0, 0x0 },
> +       { 0x2136c0, 0x0 },
> +       { 0x137c0, 0x0 },
> +       { 0x1137c0, 0x0 },
> +       { 0x2137c0, 0x0 },
> +       { 0x138c0, 0x0 },
> +       { 0x1138c0, 0x0 },
> +       { 0x2138c0, 0x0 },
> +       { 0x100c1, 0x0 },
> +       { 0x1100c1, 0x0 },
> +       { 0x2100c1, 0x0 },
> +       { 0x101c1, 0x0 },
> +       { 0x1101c1, 0x0 },
> +       { 0x2101c1, 0x0 },
> +       { 0x102c1, 0x0 },
> +       { 0x1102c1, 0x0 },
> +       { 0x2102c1, 0x0 },
> +       { 0x103c1, 0x0 },
> +       { 0x1103c1, 0x0 },
> +       { 0x2103c1, 0x0 },
> +       { 0x104c1, 0x0 },
> +       { 0x1104c1, 0x0 },
> +       { 0x2104c1, 0x0 },
> +       { 0x105c1, 0x0 },
> +       { 0x1105c1, 0x0 },
> +       { 0x2105c1, 0x0 },
> +       { 0x106c1, 0x0 },
> +       { 0x1106c1, 0x0 },
> +       { 0x2106c1, 0x0 },
> +       { 0x107c1, 0x0 },
> +       { 0x1107c1, 0x0 },
> +       { 0x2107c1, 0x0 },
> +       { 0x108c1, 0x0 },
> +       { 0x1108c1, 0x0 },
> +       { 0x2108c1, 0x0 },
> +       { 0x110c1, 0x0 },
> +       { 0x1110c1, 0x0 },
> +       { 0x2110c1, 0x0 },
> +       { 0x111c1, 0x0 },
> +       { 0x1111c1, 0x0 },
> +       { 0x2111c1, 0x0 },
> +       { 0x112c1, 0x0 },
> +       { 0x1112c1, 0x0 },
> +       { 0x2112c1, 0x0 },
> +       { 0x113c1, 0x0 },
> +       { 0x1113c1, 0x0 },
> +       { 0x2113c1, 0x0 },
> +       { 0x114c1, 0x0 },
> +       { 0x1114c1, 0x0 },
> +       { 0x2114c1, 0x0 },
> +       { 0x115c1, 0x0 },
> +       { 0x1115c1, 0x0 },
> +       { 0x2115c1, 0x0 },
> +       { 0x116c1, 0x0 },
> +       { 0x1116c1, 0x0 },
> +       { 0x2116c1, 0x0 },
> +       { 0x117c1, 0x0 },
> +       { 0x1117c1, 0x0 },
> +       { 0x2117c1, 0x0 },
> +       { 0x118c1, 0x0 },
> +       { 0x1118c1, 0x0 },
> +       { 0x2118c1, 0x0 },
> +       { 0x120c1, 0x0 },
> +       { 0x1120c1, 0x0 },
> +       { 0x2120c1, 0x0 },
> +       { 0x121c1, 0x0 },
> +       { 0x1121c1, 0x0 },
> +       { 0x2121c1, 0x0 },
> +       { 0x122c1, 0x0 },
> +       { 0x1122c1, 0x0 },
> +       { 0x2122c1, 0x0 },
> +       { 0x123c1, 0x0 },
> +       { 0x1123c1, 0x0 },
> +       { 0x2123c1, 0x0 },
> +       { 0x124c1, 0x0 },
> +       { 0x1124c1, 0x0 },
> +       { 0x2124c1, 0x0 },
> +       { 0x125c1, 0x0 },
> +       { 0x1125c1, 0x0 },
> +       { 0x2125c1, 0x0 },
> +       { 0x126c1, 0x0 },
> +       { 0x1126c1, 0x0 },
> +       { 0x2126c1, 0x0 },
> +       { 0x127c1, 0x0 },
> +       { 0x1127c1, 0x0 },
> +       { 0x2127c1, 0x0 },
> +       { 0x128c1, 0x0 },
> +       { 0x1128c1, 0x0 },
> +       { 0x2128c1, 0x0 },
> +       { 0x130c1, 0x0 },
> +       { 0x1130c1, 0x0 },
> +       { 0x2130c1, 0x0 },
> +       { 0x131c1, 0x0 },
> +       { 0x1131c1, 0x0 },
> +       { 0x2131c1, 0x0 },
> +       { 0x132c1, 0x0 },
> +       { 0x1132c1, 0x0 },
> +       { 0x2132c1, 0x0 },
> +       { 0x133c1, 0x0 },
> +       { 0x1133c1, 0x0 },
> +       { 0x2133c1, 0x0 },
> +       { 0x134c1, 0x0 },
> +       { 0x1134c1, 0x0 },
> +       { 0x2134c1, 0x0 },
> +       { 0x135c1, 0x0 },
> +       { 0x1135c1, 0x0 },
> +       { 0x2135c1, 0x0 },
> +       { 0x136c1, 0x0 },
> +       { 0x1136c1, 0x0 },
> +       { 0x2136c1, 0x0 },
> +       { 0x137c1, 0x0 },
> +       { 0x1137c1, 0x0 },
> +       { 0x2137c1, 0x0 },
> +       { 0x138c1, 0x0 },
> +       { 0x1138c1, 0x0 },
> +       { 0x2138c1, 0x0 },
> +       { 0x10020, 0x0 },
> +       { 0x110020, 0x0 },
> +       { 0x210020, 0x0 },
> +       { 0x11020, 0x0 },
> +       { 0x111020, 0x0 },
> +       { 0x211020, 0x0 },
> +       { 0x12020, 0x0 },
> +       { 0x112020, 0x0 },
> +       { 0x212020, 0x0 },
> +       { 0x13020, 0x0 },
> +       { 0x113020, 0x0 },
> +       { 0x213020, 0x0 },
> +       { 0x20072, 0x0 },
> +       { 0x20073, 0x0 },
> +       { 0x20074, 0x0 },
> +       { 0x100aa, 0x0 },
> +       { 0x110aa, 0x0 },
> +       { 0x120aa, 0x0 },
> +       { 0x130aa, 0x0 },
> +       { 0x20010, 0x0 },
> +       { 0x120010, 0x0 },
> +       { 0x220010, 0x0 },
> +       { 0x20011, 0x0 },
> +       { 0x120011, 0x0 },
> +       { 0x220011, 0x0 },
> +       { 0x100ae, 0x0 },
> +       { 0x1100ae, 0x0 },
> +       { 0x2100ae, 0x0 },
> +       { 0x100af, 0x0 },
> +       { 0x1100af, 0x0 },
> +       { 0x2100af, 0x0 },
> +       { 0x110ae, 0x0 },
> +       { 0x1110ae, 0x0 },
> +       { 0x2110ae, 0x0 },
> +       { 0x110af, 0x0 },
> +       { 0x1110af, 0x0 },
> +       { 0x2110af, 0x0 },
> +       { 0x120ae, 0x0 },
> +       { 0x1120ae, 0x0 },
> +       { 0x2120ae, 0x0 },
> +       { 0x120af, 0x0 },
> +       { 0x1120af, 0x0 },
> +       { 0x2120af, 0x0 },
> +       { 0x130ae, 0x0 },
> +       { 0x1130ae, 0x0 },
> +       { 0x2130ae, 0x0 },
> +       { 0x130af, 0x0 },
> +       { 0x1130af, 0x0 },
> +       { 0x2130af, 0x0 },
> +       { 0x20020, 0x0 },
> +       { 0x120020, 0x0 },
> +       { 0x220020, 0x0 },
> +       { 0x100a0, 0x0 },
> +       { 0x100a1, 0x0 },
> +       { 0x100a2, 0x0 },
> +       { 0x100a3, 0x0 },
> +       { 0x100a4, 0x0 },
> +       { 0x100a5, 0x0 },
> +       { 0x100a6, 0x0 },
> +       { 0x100a7, 0x0 },
> +       { 0x110a0, 0x0 },
> +       { 0x110a1, 0x0 },
> +       { 0x110a2, 0x0 },
> +       { 0x110a3, 0x0 },
> +       { 0x110a4, 0x0 },
> +       { 0x110a5, 0x0 },
> +       { 0x110a6, 0x0 },
> +       { 0x110a7, 0x0 },
> +       { 0x120a0, 0x0 },
> +       { 0x120a1, 0x0 },
> +       { 0x120a2, 0x0 },
> +       { 0x120a3, 0x0 },
> +       { 0x120a4, 0x0 },
> +       { 0x120a5, 0x0 },
> +       { 0x120a6, 0x0 },
> +       { 0x120a7, 0x0 },
> +       { 0x130a0, 0x0 },
> +       { 0x130a1, 0x0 },
> +       { 0x130a2, 0x0 },
> +       { 0x130a3, 0x0 },
> +       { 0x130a4, 0x0 },
> +       { 0x130a5, 0x0 },
> +       { 0x130a6, 0x0 },
> +       { 0x130a7, 0x0 },
> +       { 0x2007c, 0x0 },
> +       { 0x12007c, 0x0 },
> +       { 0x22007c, 0x0 },
> +       { 0x2007d, 0x0 },
> +       { 0x12007d, 0x0 },
> +       { 0x22007d, 0x0 },
> +       { 0x400fd, 0x0 },
> +       { 0x400c0, 0x0 },
> +       { 0x90201, 0x0 },
> +       { 0x190201, 0x0 },
> +       { 0x290201, 0x0 },
> +       { 0x90202, 0x0 },
> +       { 0x190202, 0x0 },
> +       { 0x290202, 0x0 },
> +       { 0x90203, 0x0 },
> +       { 0x190203, 0x0 },
> +       { 0x290203, 0x0 },
> +       { 0x90204, 0x0 },
> +       { 0x190204, 0x0 },
> +       { 0x290204, 0x0 },
> +       { 0x90205, 0x0 },
> +       { 0x190205, 0x0 },
> +       { 0x290205, 0x0 },
> +       { 0x90206, 0x0 },
> +       { 0x190206, 0x0 },
> +       { 0x290206, 0x0 },
> +       { 0x90207, 0x0 },
> +       { 0x190207, 0x0 },
> +       { 0x290207, 0x0 },
> +       { 0x90208, 0x0 },
> +       { 0x190208, 0x0 },
> +       { 0x290208, 0x0 },
> +       { 0x10062, 0x0 },
> +       { 0x10162, 0x0 },
> +       { 0x10262, 0x0 },
> +       { 0x10362, 0x0 },
> +       { 0x10462, 0x0 },
> +       { 0x10562, 0x0 },
> +       { 0x10662, 0x0 },
> +       { 0x10762, 0x0 },
> +       { 0x10862, 0x0 },
> +       { 0x11062, 0x0 },
> +       { 0x11162, 0x0 },
> +       { 0x11262, 0x0 },
> +       { 0x11362, 0x0 },
> +       { 0x11462, 0x0 },
> +       { 0x11562, 0x0 },
> +       { 0x11662, 0x0 },
> +       { 0x11762, 0x0 },
> +       { 0x11862, 0x0 },
> +       { 0x12062, 0x0 },
> +       { 0x12162, 0x0 },
> +       { 0x12262, 0x0 },
> +       { 0x12362, 0x0 },
> +       { 0x12462, 0x0 },
> +       { 0x12562, 0x0 },
> +       { 0x12662, 0x0 },
> +       { 0x12762, 0x0 },
> +       { 0x12862, 0x0 },
> +       { 0x13062, 0x0 },
> +       { 0x13162, 0x0 },
> +       { 0x13262, 0x0 },
> +       { 0x13362, 0x0 },
> +       { 0x13462, 0x0 },
> +       { 0x13562, 0x0 },
> +       { 0x13662, 0x0 },
> +       { 0x13762, 0x0 },
> +       { 0x13862, 0x0 },
> +       { 0x20077, 0x0 },
> +       { 0x10001, 0x0 },
> +       { 0x11001, 0x0 },
> +       { 0x12001, 0x0 },
> +       { 0x13001, 0x0 },
> +       { 0x10040, 0x0 },
> +       { 0x10140, 0x0 },
> +       { 0x10240, 0x0 },
> +       { 0x10340, 0x0 },
> +       { 0x10440, 0x0 },
> +       { 0x10540, 0x0 },
> +       { 0x10640, 0x0 },
> +       { 0x10740, 0x0 },
> +       { 0x10840, 0x0 },
> +       { 0x10030, 0x0 },
> +       { 0x10130, 0x0 },
> +       { 0x10230, 0x0 },
> +       { 0x10330, 0x0 },
> +       { 0x10430, 0x0 },
> +       { 0x10530, 0x0 },
> +       { 0x10630, 0x0 },
> +       { 0x10730, 0x0 },
> +       { 0x10830, 0x0 },
> +       { 0x11040, 0x0 },
> +       { 0x11140, 0x0 },
> +       { 0x11240, 0x0 },
> +       { 0x11340, 0x0 },
> +       { 0x11440, 0x0 },
> +       { 0x11540, 0x0 },
> +       { 0x11640, 0x0 },
> +       { 0x11740, 0x0 },
> +       { 0x11840, 0x0 },
> +       { 0x11030, 0x0 },
> +       { 0x11130, 0x0 },
> +       { 0x11230, 0x0 },
> +       { 0x11330, 0x0 },
> +       { 0x11430, 0x0 },
> +       { 0x11530, 0x0 },
> +       { 0x11630, 0x0 },
> +       { 0x11730, 0x0 },
> +       { 0x11830, 0x0 },
> +       { 0x12040, 0x0 },
> +       { 0x12140, 0x0 },
> +       { 0x12240, 0x0 },
> +       { 0x12340, 0x0 },
> +       { 0x12440, 0x0 },
> +       { 0x12540, 0x0 },
> +       { 0x12640, 0x0 },
> +       { 0x12740, 0x0 },
> +       { 0x12840, 0x0 },
> +       { 0x12030, 0x0 },
> +       { 0x12130, 0x0 },
> +       { 0x12230, 0x0 },
> +       { 0x12330, 0x0 },
> +       { 0x12430, 0x0 },
> +       { 0x12530, 0x0 },
> +       { 0x12630, 0x0 },
> +       { 0x12730, 0x0 },
> +       { 0x12830, 0x0 },
> +       { 0x13040, 0x0 },
> +       { 0x13140, 0x0 },
> +       { 0x13240, 0x0 },
> +       { 0x13340, 0x0 },
> +       { 0x13440, 0x0 },
> +       { 0x13540, 0x0 },
> +       { 0x13640, 0x0 },
> +       { 0x13740, 0x0 },
> +       { 0x13840, 0x0 },
> +       { 0x13030, 0x0 },
> +       { 0x13130, 0x0 },
> +       { 0x13230, 0x0 },
> +       { 0x13330, 0x0 },
> +       { 0x13430, 0x0 },
> +       { 0x13530, 0x0 },
> +       { 0x13630, 0x0 },
> +       { 0x13730, 0x0 },
> +       { 0x13830, 0x0 },
> +};

This is just a generic structure to store values.  This should live in
the mx8m lpddr code not in the board file.

I have put together a rough perl script that can generate this format
form the existing code generated by the mx8m ddr tool.   If other mx8m
devs want to test it let me know.  This is still some copy paste but
it parses the values properly and populates the structures.

-Jon


More information about the U-Boot mailing list