Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ezynq
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
ezynq
Commits
f4fc7c8d
Commit
f4fc7c8d
authored
9 years ago
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
debugging badblock case - left turned off for now
parent
5c73deff
master
jethro
v2016.05
v2018.11
v2019.07
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
15 deletions
+15
-15
elphel393_nand_spl.c
u-boot-tree/drivers/mtd/nand/elphel393_nand_spl.c
+15
-15
No files found.
u-boot-tree/drivers/mtd/nand/elphel393_nand_spl.c
View file @
f4fc7c8d
...
@@ -26,12 +26,10 @@ static int is_badblock(struct mtd_info *mtd, loff_t offs, int allowbbt)
...
@@ -26,12 +26,10 @@ static int is_badblock(struct mtd_info *mtd, loff_t offs, int allowbbt)
unsigned
int
block
=
offs
>>
chip
->
phys_erase_shift
;
unsigned
int
block
=
offs
>>
chip
->
phys_erase_shift
;
unsigned
int
page
=
offs
>>
chip
->
page_shift
;
unsigned
int
page
=
offs
>>
chip
->
page_shift
;
unsigned
long
data_width
=
4
;
unsigned
long
data_width
=
4
;
u8
*
p
;
debug
(
" is_badblock(): offs=0x%08x block=%d page=%d
\n
"
,(
int
)
offs
,
block
,
page
);
debug
(
" is_badblock(): offs=0x%08x block=%d page=%d
\n
"
,(
int
)
offs
,
block
,
page
);
chip
->
cmdfunc
(
mtd
,
NAND_CMD_READOOB
,
0
,
page
);
chip
->
cmdfunc
(
mtd
,
NAND_CMD_READOOB
,
0
,
page
);
p
=
chip
->
oob_poi
;
chip
->
read_buf
(
mtd
,
&
chip
->
oob_poi
,
(
mtd
->
oobsize
-
data_width
));
chip
->
read_buf
(
mtd
,
p
,
(
mtd
->
oobsize
-
data_width
));
printf
(
" is_badblock(): offs=0x%08x block=0x%08x page=0x%08x chip->oob_poi[0]=0x%08x
\n
"
,(
u32
)
offs
,(
u32
)
block
,(
u32
)
page
,(
u32
)
chip
->
oob_poi
[
0
]);
printf
(
" is_badblock(): offs=0x%08x block=0x%08x page=0x%08x chip->oob_poi[0]=0x%08x
\n
"
,(
u32
)
offs
,(
u32
)
block
,(
u32
)
page
,(
u32
)
chip
->
oob_poi
[
0
]);
...
@@ -85,22 +83,24 @@ int nand_spl_load_image(uint32_t offs, unsigned int size, void *buf)
...
@@ -85,22 +83,24 @@ int nand_spl_load_image(uint32_t offs, unsigned int size, void *buf)
page
++
;
page
++
;
buf
+=
mtd
->
writesize
;
buf
+=
mtd
->
writesize
;
/*
/*
* Check if we have crossed a block boundary, and if so
* Check if we have crossed a block boundary, and if so
* check for bad block.
* check for bad block.
*/
*/
if
(
!
(
page
%
nand_page_per_block
))
{
//on-die ecc is enabled
/*
//if (!(page % nand_page_per_block)) {
* Yes, new block. See if this block is good. If not,
// /*
* loop until we find a good block.
// * Yes, new block. See if this block is good. If not,
*/
// * loop until we find a good block.
while
(
is_badblock
(
&
mtd
,
offs
,
1
))
{
// */
page
=
page
+
nand_page_per_block
;
// while (is_badblock(&mtd, offs, 1)) {
/* Check we've reached the end of flash. */
// page = page + nand_page_per_block;
if
(
page
>=
mtd
->
size
>>
chip
->
page_shift
)
// /* Check we've reached the end of flash. */
return
-
ENOMEM
;
// if (page >= mtd->size >> chip->page_shift)
}
// return -ENOMEM;
}
// }
//}
}
}
return
0
;
return
0
;
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment