• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修订版e5aa3f4d97b11271c3a2407e272a131b7e975c61 (tree)
时间2019-01-10 23:28:16
作者Tom Rini <trini@kons...>
CommiterTom Rini

Log Message

Fixes for 2019.01
-----BEGIN PGP SIGNATURE-----

iQHDBAABCgAtFiEEiZClFGvhzbUNsmAvKMTY0yrV63cFAlw2/EgPHHNiYWJpY0Bk
ZW54LmRlAAoJECjE2NMq1et32w4MAInrLv5lIvzwlcCxsX25cbWO8TSRemt4Stbl
g01Cq/yaHkTs/VTpHHqtuAy+PHBx6pFSIJNp8zheNy/VGMHavb+RSVH3d+KM6uU3
qCfVQq3ZMm4NyvbnrJSW6Uu2qmmEJQssldWuRhIIEFK1nCrYKQp9eyo215miLbFE
9b1MWFO+XV0Qz+HZQsk2ApiuvmaXu3qpvZ0tRRi9xb2dGJYYTuEcfvbehy7Iejta
+JKd3wtZaKj1JDdsDFQoJs55OAdJySTSYAeNVzlstQ+1fYArB3Ju4et2QInWbXuF
x/NdFAzyAtl4xOf8yQ9kbALa3TlofhPu9fJm7bniC3hf+ZPPwdS3jlvEy+DeCJIU
tX/es+WgUVciiCfRHXS1RgFuHGDDpO5qi2RjSLqq6yRhlBAvXYhET2YCU9RLoLHY
D57V6lkFl7jWto8xS7GoicKvGPS5MwjARw917TSocJzhJz86PeJBhOW6tR+E2/Zh
kCDDCrKlyuLRg+2/eFV5H91TalwjQQ==
=vYKZ
-----END PGP SIGNATURE-----

Merge tag 'u-boot-imx-20190110' of git://git.denx.de/u-boot-imx

Fixes for 2019.01

更改概述

差异

--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -123,7 +123,7 @@ F: drivers/spi/bcmstb_spi.c
123123 ARM FREESCALE IMX
124124 M: Stefano Babic <sbabic@denx.de>
125125 M: Fabio Estevam <fabio.estevam@nxp.com>
126-R: NXP Linux Team <linux-imx@nxp.com>
126+R: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
127127 S: Maintained
128128 T: git git://git.denx.de/u-boot-imx.git
129129 F: arch/arm/cpu/arm1136/mx*/
--- a/Makefile
+++ b/Makefile
@@ -1155,6 +1155,9 @@ U_BOOT_ITS = $(subst ",,$(CONFIG_SPL_FIT_SOURCE))
11551155 else
11561156 ifneq ($(CONFIG_SPL_FIT_GENERATOR),"")
11571157 U_BOOT_ITS := u-boot.its
1158+ifeq ($(CONFIG_SPL_FIT_GENERATOR),"arch/arm/mach-imx/mkimage_fit_atf.sh")
1159+U_BOOT_ITS_DEPS += u-boot-nodtb.bin
1160+endif
11581161 ifeq ($(CONFIG_SPL_FIT_GENERATOR),"arch/arm/mach-rockchip/make_fit_atf.py")
11591162 U_BOOT_ITS_DEPS += u-boot
11601163 endif
--- a/arch/arm/include/asm/arch-vf610/imx-regs.h
+++ b/arch/arm/include/asm/arch-vf610/imx-regs.h
@@ -200,7 +200,8 @@
200200 #define DDRMC_CR78_Q_FULLNESS(v) (((v) & 0x7) << 24)
201201 #define DDRMC_CR78_BUR_ON_FLY_BIT(v) ((v) & 0xf)
202202 #define DDRMC_CR79_CTLUPD_AREF(v) (((v) & 0x1) << 24)
203-#define DDRMC_CR82_INT_MASK 0x10000000
203+#define DDRMC_CR80_MC_INIT_COMPLETE (1 << 8)
204+#define DDRMC_CR82_INT_MASK (1 << 28)
204205 #define DDRMC_CR87_ODT_WR_MAPCS0(v) ((v) << 24)
205206 #define DDRMC_CR87_ODT_RD_MAPCS0(v) ((v) << 16)
206207 #define DDRMC_CR88_TODTL_CMD(v) (((v) & 0x1f) << 16)
@@ -239,7 +240,7 @@
239240 #define DDRMC_CR132_RDLAT_ADJ(v) ((v) & 0x3f)
240241 #define DDRMC_CR137_PHYCTL_DL(v) (((v) & 0xf) << 16)
241242 #define DDRMC_CR138_PHY_WRLV_MXDL(v) (((v) & 0xffff) << 16)
242-#define DDRMC_CR138_PHYDRAM_CK_EN(v) (((v) & 0x8) << 8)
243+#define DDRMC_CR138_PHYDRAM_CK_EN(v) (((v) & 0x7) << 8)
243244 #define DDRMC_CR139_PHY_WRLV_RESPLAT(v) (((v) & 0xff) << 24)
244245 #define DDRMC_CR139_PHY_WRLV_LOAD(v) (((v) & 0xff) << 16)
245246 #define DDRMC_CR139_PHY_WRLV_DLL(v) (((v) & 0xff) << 8)
--- a/arch/arm/include/asm/arch-vf610/iomux-vf610.h
+++ b/arch/arm/include/asm/arch-vf610/iomux-vf610.h
@@ -244,6 +244,8 @@ enum {
244244 VF610_PAD_DDR_WE__DDR_WE_B = IOMUX_PAD(0x02d0, 0x02d0, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
245245 VF610_PAD_DDR_ODT1__DDR_ODT_0 = IOMUX_PAD(0x02d4, 0x02d4, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
246246 VF610_PAD_DDR_ODT0__DDR_ODT_1 = IOMUX_PAD(0x02d8, 0x02d8, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
247+ VF610_PAD_DDR_DDRBYTE1__DDR_DDRBYTE1 = IOMUX_PAD(0x02dc, 0x02dc, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
248+ VF610_PAD_DDR_DDRBYTE2__DDR_DDRBYTE2 = IOMUX_PAD(0x02e0, 0x02e0, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
247249 };
248250
249251 #endif /* __IOMUX_VF610_H__ */
--- a/arch/arm/mach-imx/ddrmc-vf610.c
+++ b/arch/arm/mach-imx/ddrmc-vf610.c
@@ -61,6 +61,8 @@ void ddrmc_setup_iomux(const iomux_v3_cfg_t *pads, int pads_count)
6161 VF610_PAD_DDR_WE__DDR_WE_B,
6262 VF610_PAD_DDR_ODT1__DDR_ODT_0,
6363 VF610_PAD_DDR_ODT0__DDR_ODT_1,
64+ VF610_PAD_DDR_DDRBYTE1__DDR_DDRBYTE1,
65+ VF610_PAD_DDR_DDRBYTE2__DDR_DDRBYTE2,
6466 VF610_PAD_DDR_RESETB,
6567 };
6668
@@ -188,7 +190,6 @@ void ddrmc_ctrl_init_ddr3(struct ddr3_jedec_timings const *timings,
188190 DDRMC_CR77_SWAP_EN, &ddrmr->cr[77]);
189191 writel(DDRMC_CR78_Q_FULLNESS(timings->q_fullness) |
190192 DDRMC_CR78_BUR_ON_FLY_BIT(12), &ddrmr->cr[78]);
191- writel(DDRMC_CR79_CTLUPD_AREF(0), &ddrmr->cr[79]);
192193
193194 writel(DDRMC_CR82_INT_MASK, &ddrmr->cr[82]);
194195
@@ -231,6 +232,7 @@ void ddrmc_ctrl_init_ddr3(struct ddr3_jedec_timings const *timings,
231232 /* all inits done, start the DDR controller */
232233 writel(DDRMC_CR00_DRAM_CLASS_DDR3 | DDRMC_CR00_START, &ddrmr->cr[0]);
233234
234- while (!(readl(&ddrmr->cr[80]) && 0x100))
235+ while (!(readl(&ddrmr->cr[80]) & DDRMC_CR80_MC_INIT_COMPLETE))
235236 udelay(10);
237+ writel(DDRMC_CR80_MC_INIT_COMPLETE, &ddrmr->cr[81]);
236238 }
--- a/arch/arm/mach-imx/imx8/cpu.c
+++ b/arch/arm/mach-imx/imx8/cpu.c
@@ -573,7 +573,7 @@ int cpu_imx_get_desc(struct udevice *dev, char *buf, int size)
573573 if (size < 100)
574574 return -ENOSPC;
575575
576- snprintf(buf, size, "CPU: Freescale i.MX8%s Rev%s %s at %u MHz\n",
576+ snprintf(buf, size, "NXP i.MX8%s Rev%s %s at %u MHz\n",
577577 plat->type, plat->rev, plat->name, plat->freq_mhz);
578578
579579 return 0;
--- a/arch/arm/mach-imx/imx8m/clock.c
+++ b/arch/arm/mach-imx/imx8m/clock.c
@@ -250,9 +250,9 @@ static u32 get_root_src_clk(enum clk_root_src root_src)
250250 case OSC_25M_CLK:
251251 return 25000000;
252252 case OSC_27M_CLK:
253- return 25000000;
253+ return 27000000;
254254 case OSC_32K_CLK:
255- return 32000;
255+ return 32768;
256256 case ARM_PLL_CLK:
257257 return decode_frac_pll(root_src);
258258 case SYSTEM_PLL1_800M_CLK:
--- a/board/toradex/colibri_vf/colibri_vf.c
+++ b/board/toradex/colibri_vf/colibri_vf.c
@@ -42,14 +42,6 @@ DECLARE_GLOBAL_DATA_PTR;
4242 #define USB_CDET_GPIO 102
4343
4444 static struct ddrmc_cr_setting colibri_vf_cr_settings[] = {
45- /* levelling */
46- { DDRMC_CR97_WRLVL_EN, 97 },
47- { DDRMC_CR98_WRLVL_DL_0(0), 98 },
48- { DDRMC_CR99_WRLVL_DL_1(0), 99 },
49- { DDRMC_CR102_RDLVL_REG_EN | DDRMC_CR102_RDLVL_GT_REGEN, 102 },
50- { DDRMC_CR105_RDLVL_DL_0(0), 105 },
51- { DDRMC_CR106_RDLVL_GTDL_0(4), 106 },
52- { DDRMC_CR110_RDLVL_DL_1(0) | DDRMC_CR110_RDLVL_GTDL_1(4), 110 },
5345 /* AXI */
5446 { DDRMC_CR117_AXI0_W_PRI(0) | DDRMC_CR117_AXI0_R_PRI(0), 117 },
5547 { DDRMC_CR118_AXI1_W_PRI(1) | DDRMC_CR118_AXI1_R_PRI(1), 118 },
@@ -88,7 +80,7 @@ static struct ddrmc_cr_setting colibri_vf_cr_settings[] = {
8880 DDRMC_CR154_PAD_ZQ_MODE(1) |
8981 DDRMC_CR154_DDR_SEL_PAD_CONTR(3) |
9082 DDRMC_CR154_PAD_ZQ_HW_FOR(1), 154 },
91- { DDRMC_CR155_PAD_ODT_BYTE1(1) | DDRMC_CR155_PAD_ODT_BYTE0(1), 155 },
83+ { DDRMC_CR155_PAD_ODT_BYTE1(2) | DDRMC_CR155_PAD_ODT_BYTE0(2), 155 },
9284 { DDRMC_CR158_TWR(6), 158 },
9385 { DDRMC_CR161_ODT_EN(1) | DDRMC_CR161_TODTH_RD(2) |
9486 DDRMC_CR161_TODTH_WR(2), 161 },
--- a/configs/colibri_vf_defconfig
+++ b/configs/colibri_vf_defconfig
@@ -23,11 +23,14 @@ CONFIG_CMD_MEMTEST=y
2323 CONFIG_CMD_DFU=y
2424 CONFIG_CMD_FUSE=y
2525 CONFIG_CMD_GPIO=y
26+# CONFIG_CMD_LOADB is not set
27+# CONFIG_CMD_LOADS is not set
2628 CONFIG_CMD_MMC=y
2729 CONFIG_CMD_USB=y
2830 CONFIG_CMD_USB_MASS_STORAGE=y
2931 # CONFIG_CMD_SETEXPR is not set
3032 CONFIG_CMD_DHCP=y
33+# CONFIG_CMD_NFS is not set
3134 CONFIG_CMD_MII=y
3235 CONFIG_CMD_PING=y
3336 CONFIG_CMD_BMP=y
--- a/configs/m53menlo_defconfig
+++ b/configs/m53menlo_defconfig
@@ -20,6 +20,7 @@ CONFIG_SYS_CONSOLE_IS_IN_ENV=y
2020 CONFIG_VERSION_VARIABLE=y
2121 CONFIG_SPL_BOARD_INIT=y
2222 CONFIG_SPL_NAND_SUPPORT=y
23+CONFIG_SPL_WATCHDOG_SUPPORT=y
2324 CONFIG_HUSH_PARSER=y
2425 CONFIG_CMD_ASKENV=y
2526 CONFIG_CMD_GREPENV=y
@@ -33,6 +34,7 @@ CONFIG_CMD_DHCP=y
3334 CONFIG_CMD_MII=y
3435 CONFIG_CMD_PING=y
3536 CONFIG_CMD_BMP=y
37+CONFIG_CMD_BOOTCOUNT=y
3638 CONFIG_CMD_DATE=y
3739 CONFIG_CMD_BTRFS=y
3840 CONFIG_CMD_EXT4=y
@@ -44,6 +46,11 @@ CONFIG_MTDIDS_DEFAULT="nand0=mxc_nand"
4446 CONFIG_MTDPARTS_DEFAULT="mtdparts=mxc_nand:1m(u-boot),512k(env1),512k(env2),-(ubi)"
4547 CONFIG_CMD_UBI=y
4648 CONFIG_ENV_IS_IN_NAND=y
49+CONFIG_BOOTCOUNT_LIMIT=y
50+CONFIG_BOOTCOUNT_BOOTLIMIT=3
51+CONFIG_SYS_BOOTCOUNT_SINGLEWORD=y
52+CONFIG_SYS_BOOTCOUNT_ADDR=0x53FA401C
53+CONFIG_SYS_BOOTCOUNT_MAGIC=0x0B01C041
4754 CONFIG_FSL_ESDHC=y
4855 CONFIG_NAND=y
4956 CONFIG_NAND_MXC=y
@@ -58,5 +65,6 @@ CONFIG_USB_ETHER_MCS7830=y
5865 CONFIG_USB_ETHER_SMSC95XX=y
5966 CONFIG_VIDEO=y
6067 # CONFIG_VIDEO_SW_CURSOR is not set
68+CONFIG_IMX_WATCHDOG=y
6169 CONFIG_FAT_WRITE=y
6270 CONFIG_OF_LIBFDT=y
--- a/configs/tbs2910_defconfig
+++ b/configs/tbs2910_defconfig
@@ -5,7 +5,6 @@ CONFIG_SYS_TEXT_BASE=0x17800000
55 CONFIG_TARGET_TBS2910=y
66 CONFIG_CMD_HDMIDETECT=y
77 CONFIG_NR_DRAM_BANKS=1
8-CONFIG_FIT=y
98 CONFIG_BOOTDELAY=3
109 CONFIG_PRE_CONSOLE_BUFFER=y
1110 CONFIG_PRE_CON_BUF_ADDR=0x7c000000
--- a/drivers/clk/imx/clk-imx8.c
+++ b/drivers/clk/imx/clk-imx8.c
@@ -18,6 +18,7 @@ struct imx8_clks {
1818 const char *name;
1919 };
2020
21+#if CONFIG_IS_ENABLED(CMD_CLK)
2122 static struct imx8_clks imx8_clk_names[] = {
2223 { IMX8QXP_A35_DIV, "A35_DIV" },
2324 { IMX8QXP_I2C0_CLK, "I2C0" },
@@ -39,6 +40,7 @@ static struct imx8_clks imx8_clk_names[] = {
3940 { IMX8QXP_ENET1_REF_DIV, "ENET1_REF" },
4041 { IMX8QXP_ENET1_PTP_CLK, "ENET1_PTP" },
4142 };
43+#endif
4244
4345 static ulong imx8_clk_get_rate(struct clk *clk)
4446 {
--- a/drivers/misc/imx8/scu.c
+++ b/drivers/misc/imx8/scu.c
@@ -158,7 +158,7 @@ static int sc_ipc_write(struct mu_type *base, void *data)
158158 static int imx8_scu_call(struct udevice *dev, int no_resp, void *tx_msg,
159159 int tx_size, void *rx_msg, int rx_size)
160160 {
161- struct imx8_scu *priv = dev_get_priv(dev);
161+ struct imx8_scu *plat = dev_get_platdata(dev);
162162 sc_err_t result;
163163 int ret;
164164
@@ -166,11 +166,11 @@ static int imx8_scu_call(struct udevice *dev, int no_resp, void *tx_msg,
166166 if (rx_msg && tx_msg != rx_msg)
167167 printf("tx_msg %p, rx_msg %p\n", tx_msg, rx_msg);
168168
169- ret = sc_ipc_write(priv->base, tx_msg);
169+ ret = sc_ipc_write(plat->base, tx_msg);
170170 if (ret)
171171 return ret;
172172 if (!no_resp) {
173- ret = sc_ipc_read(priv->base, rx_msg);
173+ ret = sc_ipc_read(plat->base, rx_msg);
174174 if (ret)
175175 return ret;
176176 }
@@ -182,24 +182,24 @@ static int imx8_scu_call(struct udevice *dev, int no_resp, void *tx_msg,
182182
183183 static int imx8_scu_probe(struct udevice *dev)
184184 {
185- struct imx8_scu *priv = dev_get_priv(dev);
185+ struct imx8_scu *plat = dev_get_platdata(dev);
186186 fdt_addr_t addr;
187187
188- debug("%s(dev=%p) (priv=%p)\n", __func__, dev, priv);
188+ debug("%s(dev=%p) (plat=%p)\n", __func__, dev, plat);
189189
190190 addr = devfdt_get_addr(dev);
191191 if (addr == FDT_ADDR_T_NONE)
192192 return -EINVAL;
193193
194- priv->base = (struct mu_type *)addr;
194+ plat->base = (struct mu_type *)addr;
195195
196196 /* U-Boot not enable interrupts, so need to enable RX interrupts */
197- mu_hal_init(priv->base);
197+ mu_hal_init(plat->base);
198198
199199 gd->arch.scu_dev = dev;
200200
201- device_probe(priv->clk);
202- device_probe(priv->pinclk);
201+ device_probe(plat->clk);
202+ device_probe(plat->pinclk);
203203
204204 return 0;
205205 }
@@ -211,7 +211,7 @@ static int imx8_scu_remove(struct udevice *dev)
211211
212212 static int imx8_scu_bind(struct udevice *dev)
213213 {
214- struct imx8_scu *priv = dev_get_priv(dev);
214+ struct imx8_scu *plat = dev_get_platdata(dev);
215215 int ret;
216216 struct udevice *child;
217217 int node;
@@ -227,7 +227,7 @@ static int imx8_scu_bind(struct udevice *dev)
227227 if (ret)
228228 return ret;
229229
230- priv->clk = child;
230+ plat->clk = child;
231231
232232 node = fdt_node_offset_by_compatible(gd->fdt_blob, -1,
233233 "fsl,imx8qxp-iomuxc");
@@ -238,7 +238,7 @@ static int imx8_scu_bind(struct udevice *dev)
238238 if (ret)
239239 return ret;
240240
241- priv->pinclk = child;
241+ plat->pinclk = child;
242242
243243 return 0;
244244 }
@@ -261,6 +261,6 @@ U_BOOT_DRIVER(imx8_scu) = {
261261 .bind = imx8_scu_bind,
262262 .remove = imx8_scu_remove,
263263 .ops = &imx8_scu_ops,
264- .priv_auto_alloc_size = sizeof(struct imx8_scu),
264+ .platdata_auto_alloc_size = sizeof(struct imx8_scu),
265265 .flags = DM_FLAG_PRE_RELOC,
266266 };
--- a/drivers/misc/imx8/scu_api.c
+++ b/drivers/misc/imx8/scu_api.c
@@ -169,7 +169,7 @@ int sc_misc_get_control(sc_ipc_t ipc, sc_rsrc_t resource, sc_ctrl_t ctrl,
169169 printf("%s: ctrl:%d resource:%d: res:%d\n",
170170 __func__, ctrl, resource, RPC_R8(&msg));
171171
172- if (!val)
172+ if (val)
173173 *val = RPC_U32(&msg, 0U);
174174
175175 return ret;
@@ -194,7 +194,7 @@ void sc_misc_get_boot_dev(sc_ipc_t ipc, sc_rsrc_t *boot_dev)
194194 if (ret)
195195 printf("%s: res:%d\n", __func__, RPC_R8(&msg));
196196
197- if (!boot_dev)
197+ if (boot_dev)
198198 *boot_dev = RPC_U16(&msg, 0U);
199199 }
200200
--- a/include/configs/m53menlo.h
+++ b/include/configs/m53menlo.h
@@ -157,6 +157,9 @@
157157 /* IIM Fuses */
158158 #define CONFIG_FSL_IIM
159159
160+/* Watchdog */
161+#define CONFIG_WATCHDOG_TIMEOUT_MSECS 8000
162+
160163 /*
161164 * Boot Linux
162165 */
--- a/include/configs/tbs2910.h
+++ b/include/configs/tbs2910.h
@@ -122,6 +122,8 @@
122122 #define CONFIG_ENV_OFFSET (384 * 1024)
123123 #define CONFIG_ENV_OVERWRITE
124124
125+#define CONFIG_BOARD_SIZE_LIMIT 392192 /* (CONFIG_ENV_OFFSET - 1024) */
126+
125127 #define CONFIG_EXTRA_ENV_SETTINGS \
126128 "bootargs_mmc1=console=ttymxc0,115200 di0_primary console=tty1\0" \
127129 "bootargs_mmc2=video=mxcfb0:dev=hdmi,1920x1080M@60 " \
--- a/tools/imx8image.c
+++ b/tools/imx8image.c
@@ -968,7 +968,7 @@ int imx8image_copy_image(int outfd, struct image_tool_params *mparams)
968968 fprintf(stdout, "CONTAINER SW VERSION:\t0x%04x\n", sw_version);
969969
970970 build_container(soc, sector_size, emmc_fastboot,
971- img_sp, false, fuse_version, sw_version, outfd);
971+ img_sp, true, fuse_version, sw_version, outfd);
972972
973973 return 0;
974974 }