Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
L
lede-mikrotik
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
External wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Johannes Rudolph
lede-mikrotik
Commits
306f3677
Commit
306f3677
authored
16 years ago
by
Gabor Juhos
Browse files
Options
Downloads
Patches
Plain Diff
make use the chip_fixup function of the plat_nand driver
SVN-Revision: 11377
parent
9720836e
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
target/linux/rb532/files/arch/mips/rb500/devices.c
+25
-0
25 additions, 0 deletions
target/linux/rb532/files/arch/mips/rb500/devices.c
with
25 additions
and
0 deletions
target/linux/rb532/files/arch/mips/rb500/devices.c
+
25
−
0
View file @
306f3677
...
@@ -130,6 +130,19 @@ static struct platform_device cf_slot0 = {
...
@@ -130,6 +130,19 @@ static struct platform_device cf_slot0 = {
};
};
/* Resources and device for NAND. There is no data needed and no irqs, so just define the memory used. */
/* Resources and device for NAND. There is no data needed and no irqs, so just define the memory used. */
/*
* We need to use the OLD Yaffs-1 OOB layout, otherwise the RB bootloader
* will not be able to find the kernel that we load. So set the oobinfo
* when creating the partitions
*/
static
struct
nand_ecclayout
rb500_nand_ecclayout
=
{
.
eccbytes
=
6
,
.
eccpos
=
{
8
,
9
,
10
,
13
,
14
,
15
},
.
oobavail
=
9
,
.
oobfree
=
{
{
0
,
4
},
{
6
,
2
},
{
11
,
2
},
{
4
,
1
}
}
};
int
rb500_dev_ready
(
struct
mtd_info
*
mtd
)
int
rb500_dev_ready
(
struct
mtd_info
*
mtd
)
{
{
return
MEM32
(
IDT434_REG_BASE
+
GPIOD
)
&
GPIO_RDY
;
return
MEM32
(
IDT434_REG_BASE
+
GPIOD
)
&
GPIO_RDY
;
...
@@ -260,6 +273,16 @@ static void __init parse_mac_addr(char *macstr)
...
@@ -260,6 +273,16 @@ static void __init parse_mac_addr(char *macstr)
/* NAND definitions */
/* NAND definitions */
#define NAND_CHIP_DELAY 25
#define NAND_CHIP_DELAY 25
static
int
rb500_nand_fixup
(
struct
mtd_info
*
mtd
)
{
struct
nand_chip
*
chip
=
mtd
->
priv
;
if
(
mtd
->
writesize
==
512
)
chip
->
ecc
.
layout
=
&
rb500_nand_ecclayout
;
return
0
;
}
static
void
__init
rb500_nand_setup
(
void
)
static
void
__init
rb500_nand_setup
(
void
)
{
{
switch
(
mips_machtype
)
{
switch
(
mips_machtype
)
{
...
@@ -277,6 +300,8 @@ static void __init rb500_nand_setup(void)
...
@@ -277,6 +300,8 @@ static void __init rb500_nand_setup(void)
rb500_nand_data
.
chip
.
partitions
=
rb500_partition_info
;
rb500_nand_data
.
chip
.
partitions
=
rb500_partition_info
;
rb500_nand_data
.
chip
.
chip_delay
=
NAND_CHIP_DELAY
;
rb500_nand_data
.
chip
.
chip_delay
=
NAND_CHIP_DELAY
;
rb500_nand_data
.
chip
.
options
=
NAND_NO_AUTOINCR
;
rb500_nand_data
.
chip
.
options
=
NAND_NO_AUTOINCR
;
rb500_nand_data
.
chip
.
chip_fixup
=
&
rb500_nand_fixup
;
}
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment