summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/mips/mach-octeon/cvmx-helper-board.c3
-rw-r--r--arch/mips/mach-octeon/cvmx-helper.c2
-rw-r--r--board/phytec/phycore_am62ax/phycore_am62ax.env3
-rw-r--r--boot/Kconfig4
-rw-r--r--drivers/mtd/spi/spi-nor-core.c29
-rw-r--r--include/env/phytec/k3_net.env5
6 files changed, 34 insertions, 12 deletions
diff --git a/arch/mips/mach-octeon/cvmx-helper-board.c b/arch/mips/mach-octeon/cvmx-helper-board.c
index 6dcc4e557e1..8d9388983b7 100644
--- a/arch/mips/mach-octeon/cvmx-helper-board.c
+++ b/arch/mips/mach-octeon/cvmx-helper-board.c
@@ -386,8 +386,7 @@ cvmx_helper_link_info_t __cvmx_helper_board_link_get_from_dt(int ipd_port)
/* If the link is down or the link is up but we still register
* the module as being absent, re-check mod_abs.
*/
- if (!result.s.link_up ||
- (result.s.link_up && sfp_info->last_mod_abs))
+ if (!result.s.link_up || sfp_info->last_mod_abs)
__cvmx_helper_update_sfp(ipd_port, sfp_info, result);
sfp_info = sfp_info->next_iface_sfp;
}
diff --git a/arch/mips/mach-octeon/cvmx-helper.c b/arch/mips/mach-octeon/cvmx-helper.c
index ccec57edf84..7dcaa1ac8d9 100644
--- a/arch/mips/mach-octeon/cvmx-helper.c
+++ b/arch/mips/mach-octeon/cvmx-helper.c
@@ -1729,7 +1729,7 @@ cvmx_helper_link_info_t cvmx_helper_link_get(int xipd_port)
sfp_info = cvmx_helper_cfg_get_sfp_info(xiface, index);
while (sfp_info) {
- if ((!result.s.link_up || (result.s.link_up && sfp_info->last_mod_abs)))
+ if (!result.s.link_up || sfp_info->last_mod_abs)
cvmx_sfp_check_mod_abs(sfp_info, sfp_info->mod_abs_data);
sfp_info = sfp_info->next_iface_sfp;
}
diff --git a/board/phytec/phycore_am62ax/phycore_am62ax.env b/board/phytec/phycore_am62ax/phycore_am62ax.env
index a0eacd1dfc3..40787b0cbcb 100644
--- a/board/phytec/phycore_am62ax/phycore_am62ax.env
+++ b/board/phytec/phycore_am62ax/phycore_am62ax.env
@@ -10,6 +10,7 @@ fdt_addr_r=0x88000000
kernel_addr_r=0x82000000
ramdisk_addr_r=0x88080000
fdtoverlay_addr_r=0x89000000
+fit_addr_r=0x90000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
mmcdev=1
@@ -22,4 +23,4 @@ get_cmd=tftp
spi_fdt_addr=0x700000
spi_image_addr=0x800000
-spi_ramdisk_addr=0x1e00000
+spi_ramdisk_addr=0x2200000
diff --git a/boot/Kconfig b/boot/Kconfig
index 2456856a572..30eb5b328d7 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -427,8 +427,8 @@ config BOOT_DEFAULTS
menuconfig BOOTSTD
bool "Standard boot"
- default y
- depends on DM && OF_CONTROL && BLK
+ default y if BLK
+ depends on DM && OF_CONTROL
help
U-Boot supports a standard way of locating something to boot,
typically an Operating System such as Linux, provided by a distro such
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 87a3099eeaf..655bf3aaf81 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -944,6 +944,7 @@ static int spi_nor_erase_chip_wait_till_ready(struct spi_nor *nor, unsigned long
static int clean_bar(struct spi_nor *nor)
{
u8 cmd, bank_sel = 0;
+ int ret;
if (nor->bank_curr == 0)
return 0;
@@ -951,7 +952,11 @@ static int clean_bar(struct spi_nor *nor)
nor->bank_curr = 0;
write_enable(nor);
- return nor->write_reg(nor, cmd, &bank_sel, 1);
+ ret = nor->write_reg(nor, cmd, &bank_sel, 1);
+ if (ret)
+ return ret;
+
+ return write_disable(nor);
}
static int write_bar(struct spi_nor *nor, u32 offset)
@@ -1272,6 +1277,10 @@ static int write_sr_and_check(struct spi_nor *nor, u8 status_new, u8 mask)
if (ret)
return ret;
+ ret = write_disable(nor);
+ if (ret)
+ return ret;
+
ret = read_sr(nor);
if (ret < 0)
return ret;
@@ -1809,13 +1818,18 @@ static int sst26_lock_ctl(struct spi_nor *nor, loff_t ofs, uint64_t len, enum lo
if (ctl == SST26_CTL_CHECK)
return 0;
+ /* Write latch enable before write operation */
+ ret = write_enable(nor);
+ if (ret)
+ return ret;
+
ret = nor->write_reg(nor, SPINOR_OP_WRITE_BPR, bpr_buff, bpr_size);
if (ret < 0) {
dev_err(nor->dev, "fail to write block-protection register\n");
return ret;
}
- return 0;
+ return write_disable(nor);
}
static int sst26_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len)
@@ -2217,7 +2231,7 @@ static int write_sr_cr(struct spi_nor *nor, u8 *sr_cr)
return ret;
}
- return 0;
+ return write_disable(nor);
}
/**
@@ -4136,6 +4150,12 @@ static void mt35xu512aba_post_sfdp_fixup(struct spi_nor *nor,
params->rdsr_addr_nbytes = 0;
/*
+ * SCCR Map 22nd DWORD does not indicate DTR Octal Mode Enable
+ * for MT35XU512ABA but is actually supported by device.
+ */
+ nor->flags |= SNOR_F_IO_MODE_EN_VOLATILE;
+
+ /*
* The BFPT quad enable field is set to a reserved value so the quad
* enable function is ignored by spi_nor_parse_bfpt(). Make sure we
* disable it.
@@ -4299,6 +4319,9 @@ static int spi_nor_init(struct spi_nor *nor)
write_disable(nor);
}
}
+ err = write_disable(nor);
+ if (err)
+ return err;
}
if (nor->quad_enable) {
diff --git a/include/env/phytec/k3_net.env b/include/env/phytec/k3_net.env
index 8ad1cb7b0c2..4d5c703cae9 100644
--- a/include/env/phytec/k3_net.env
+++ b/include/env/phytec/k3_net.env
@@ -10,13 +10,12 @@
netargs=setenv bootargs console=${console} root=/dev/nfs ip=dhcp rw
nfsroot=${serverip}:${nfsroot},vers=4,tcp ${optargs}
-netloadimage=${net_fetch_cmd} ${kernel_addr_r} ${serverip}:/Image
-netloadfdt=${net_fetch_cmd} ${fdt_addr_r} ${serverip}:/${fdtfile}
+netloadimage=${get_cmd} ${kernel_addr_r} ${serverip}:/Image
+netloadfdt=${get_cmd} ${fdt_addr_r} ${serverip}:/${fdtfile}
netboot=run netargs;
setenv autoload no;
dhcp;
run netloadimage;
run netloadfdt;
run net_apply_overlays;
- run net_apply_extensions;
booti ${kernel_addr_r} - ${fdt_addr_r}