Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
0b18fc8d
Commit
0b18fc8d
authored
Dec 08, 2009
by
Kevin Hilman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'davinci-upstream-submitted' into davinci-reset
parents
395e9801
cca4acfa
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1395 additions
and
0 deletions
+1395
-0
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/head.S
+15
-0
arch/arm/mach-davinci/include/mach/nand.h
arch/arm/mach-davinci/include/mach/nand.h
+4
-0
drivers/mmc/host/Kconfig
drivers/mmc/host/Kconfig
+8
-0
drivers/mmc/host/Makefile
drivers/mmc/host/Makefile
+1
-0
drivers/mmc/host/davinci_mmc.c
drivers/mmc/host/davinci_mmc.c
+1349
-0
drivers/mtd/nand/davinci_nand.c
drivers/mtd/nand/davinci_nand.c
+18
-0
No files found.
arch/arm/boot/compressed/head.S
View file @
0b18fc8d
...
@@ -412,7 +412,11 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size
...
@@ -412,7 +412,11 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size
orr
r1
,
r1
,
#
3
<<
10
orr
r1
,
r1
,
#
3
<<
10
add
r2
,
r3
,
#
16384
add
r2
,
r3
,
#
16384
1
:
cmp
r1
,
r9
@
if
virt
>
start
of
RAM
1
:
cmp
r1
,
r9
@
if
virt
>
start
of
RAM
#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
orrhs
r1
,
r1
,
#
0x08
@
set
cacheable
#else
orrhs
r1
,
r1
,
#
0x0c
@
set
cacheable
,
bufferable
orrhs
r1
,
r1
,
#
0x0c
@
set
cacheable
,
bufferable
#endif
cmp
r1
,
r10
@
if
virt
>
end
of
RAM
cmp
r1
,
r10
@
if
virt
>
end
of
RAM
bichs
r1
,
r1
,
#
0x0c
@
clear
cacheable
,
bufferable
bichs
r1
,
r1
,
#
0x0c
@
clear
cacheable
,
bufferable
str
r1
,
[
r0
],
#
4
@
1
:
1
mapping
str
r1
,
[
r0
],
#
4
@
1
:
1
mapping
...
@@ -436,6 +440,11 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size
...
@@ -436,6 +440,11 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size
mov
pc
,
lr
mov
pc
,
lr
ENDPROC
(
__setup_mmu
)
ENDPROC
(
__setup_mmu
)
__arm926ejs_mmu_cache_on
:
#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
mov
r0
,
#
4
@
put
dcache
in
WT
mode
mcr
p15
,
7
,
r0
,
c15
,
c0
,
0
#endif
__armv4_mmu_cache_on
:
__armv4_mmu_cache_on
:
mov
r12
,
lr
mov
r12
,
lr
#ifdef CONFIG_MMU
#ifdef CONFIG_MMU
...
@@ -655,6 +664,12 @@ proc_types:
...
@@ -655,6 +664,12 @@ proc_types:
W
(
b
)
__armv4_mpu_cache_off
W
(
b
)
__armv4_mpu_cache_off
W
(
b
)
__armv4_mpu_cache_flush
W
(
b
)
__armv4_mpu_cache_flush
.
word
0x41069260
@
ARM926EJ
-
S
(
v5TEJ
)
.
word
0xff0ffff0
b
__arm926ejs_mmu_cache_on
b
__armv4_mmu_cache_off
b
__armv5tej_mmu_cache_flush
.
word
0x00007000
@
ARM7
IDs
.
word
0x00007000
@
ARM7
IDs
.
word
0x0000f000
.
word
0x0000f000
mov
pc
,
lr
mov
pc
,
lr
...
...
arch/arm/mach-davinci/include/mach/nand.h
View file @
0b18fc8d
...
@@ -79,6 +79,10 @@ struct davinci_nand_pdata { /* platform_data */
...
@@ -79,6 +79,10 @@ struct davinci_nand_pdata { /* platform_data */
/* e.g. NAND_BUSWIDTH_16 or NAND_USE_FLASH_BBT */
/* e.g. NAND_BUSWIDTH_16 or NAND_USE_FLASH_BBT */
unsigned
options
;
unsigned
options
;
/* Main and mirror bbt descriptor overrides */
struct
nand_bbt_descr
*
bbt_td
;
struct
nand_bbt_descr
*
bbt_md
;
};
};
#endif
/* __ARCH_ARM_DAVINCI_NAND_H */
#endif
/* __ARCH_ARM_DAVINCI_NAND_H */
drivers/mmc/host/Kconfig
View file @
0b18fc8d
...
@@ -251,6 +251,14 @@ config MMC_MVSDIO
...
@@ -251,6 +251,14 @@ config MMC_MVSDIO
To compile this driver as a module, choose M here: the
To compile this driver as a module, choose M here: the
module will be called mvsdio.
module will be called mvsdio.
config MMC_DAVINCI
tristate "TI DAVINCI Multimedia Card Interface support"
depends on ARCH_DAVINCI
help
This selects the TI DAVINCI Multimedia card Interface.
If you have an DAVINCI board with a Multimedia Card slot,
say Y or M here. If unsure, say N.
config MMC_SPI
config MMC_SPI
tristate "MMC/SD/SDIO over SPI"
tristate "MMC/SD/SDIO over SPI"
depends on SPI_MASTER && !HIGHMEM && HAS_DMA
depends on SPI_MASTER && !HIGHMEM && HAS_DMA
...
...
drivers/mmc/host/Makefile
View file @
0b18fc8d
...
@@ -25,6 +25,7 @@ obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o
...
@@ -25,6 +25,7 @@ obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o
obj-$(CONFIG_MMC_TIFM_SD)
+=
tifm_sd.o
obj-$(CONFIG_MMC_TIFM_SD)
+=
tifm_sd.o
obj-$(CONFIG_MMC_MSM7X00A)
+=
msm_sdcc.o
obj-$(CONFIG_MMC_MSM7X00A)
+=
msm_sdcc.o
obj-$(CONFIG_MMC_MVSDIO)
+=
mvsdio.o
obj-$(CONFIG_MMC_MVSDIO)
+=
mvsdio.o
obj-$(CONFIG_MMC_DAVINCI)
+=
davinci_mmc.o
obj-$(CONFIG_MMC_SPI)
+=
mmc_spi.o
obj-$(CONFIG_MMC_SPI)
+=
mmc_spi.o
ifeq
($(CONFIG_OF),y)
ifeq
($(CONFIG_OF),y)
obj-$(CONFIG_MMC_SPI)
+=
of_mmc_spi.o
obj-$(CONFIG_MMC_SPI)
+=
of_mmc_spi.o
...
...
drivers/mmc/host/davinci_mmc.c
0 → 100644
View file @
0b18fc8d
This diff is collapsed.
Click to expand it.
drivers/mtd/nand/davinci_nand.c
View file @
0b18fc8d
...
@@ -310,6 +310,7 @@ static int nand_davinci_correct_4bit(struct mtd_info *mtd,
...
@@ -310,6 +310,7 @@ static int nand_davinci_correct_4bit(struct mtd_info *mtd,
unsigned
short
ecc10
[
8
];
unsigned
short
ecc10
[
8
];
unsigned
short
*
ecc16
;
unsigned
short
*
ecc16
;
u32
syndrome
[
4
];
u32
syndrome
[
4
];
u32
ecc_state
;
unsigned
num_errors
,
corrected
;
unsigned
num_errors
,
corrected
;
/* All bytes 0xff? It's an erased page; ignore its ECC. */
/* All bytes 0xff? It's an erased page; ignore its ECC. */
...
@@ -360,6 +361,21 @@ compare:
...
@@ -360,6 +361,21 @@ compare:
*/
*/
davinci_nand_writel
(
info
,
NANDFCR_OFFSET
,
davinci_nand_writel
(
info
,
NANDFCR_OFFSET
,
davinci_nand_readl
(
info
,
NANDFCR_OFFSET
)
|
BIT
(
13
));
davinci_nand_readl
(
info
,
NANDFCR_OFFSET
)
|
BIT
(
13
));
/*
* ECC_STATE field reads 0x3 (Error correction complete) immediately
* after setting the 4BITECC_ADD_CALC_START bit. So if you immediately
* begin trying to poll for the state, you may fall right out of your
* loop without any of the correction calculations having taken place.
* The recommendation from the hardware team is to wait till ECC_STATE
* reads less than 4, which means ECC HW has entered correction state.
*/
do
{
ecc_state
=
(
davinci_nand_readl
(
info
,
NANDFSR_OFFSET
)
>>
8
)
&
0x0f
;
cpu_relax
();
}
while
(
ecc_state
<
4
);
for
(;;)
{
for
(;;)
{
u32
fsr
=
davinci_nand_readl
(
info
,
NANDFSR_OFFSET
);
u32
fsr
=
davinci_nand_readl
(
info
,
NANDFSR_OFFSET
);
...
@@ -591,6 +607,8 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
...
@@ -591,6 +607,8 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
/* options such as NAND_USE_FLASH_BBT or 16-bit widths */
/* options such as NAND_USE_FLASH_BBT or 16-bit widths */
info
->
chip
.
options
=
pdata
->
options
;
info
->
chip
.
options
=
pdata
->
options
;
info
->
chip
.
bbt_td
=
pdata
->
bbt_td
;
info
->
chip
.
bbt_md
=
pdata
->
bbt_md
;
info
->
ioaddr
=
(
uint32_t
__force
)
vaddr
;
info
->
ioaddr
=
(
uint32_t
__force
)
vaddr
;
...
...
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