mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-02-23 20:49:56 +01:00
sf: Read back and check once spansion quad bit set
One spansion quad bit set using CR, it's good to read back and check the written bit and also if it's already been set check for the bit and return. Cc: Vignesh R <vigneshr@ti.com> Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Tested-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: Jagan Teki <jteki@openedev.com>
This commit is contained in:
parent
c56ae7519f
commit
ffecb0fc84
1 changed files with 12 additions and 6 deletions
|
|
@ -862,12 +862,18 @@ static int spansion_quad_enable(struct spi_flash *flash)
|
|||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (qeb_status & STATUS_QEB_WINSPAN) {
|
||||
debug("SF: winspan: QEB is already set\n");
|
||||
} else {
|
||||
ret = write_cr(flash, STATUS_QEB_WINSPAN);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if (qeb_status & STATUS_QEB_WINSPAN)
|
||||
return 0;
|
||||
|
||||
ret = write_cr(flash, STATUS_QEB_WINSPAN);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* read CR and check it */
|
||||
ret = read_cr(flash, &qeb_status);
|
||||
if (!(ret >= 0 && (qeb_status & STATUS_QEB_WINSPAN))) {
|
||||
printf("SF: Spansion CR Quad bit not clear\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue