Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
bcma
driver_chipcommon_nflash.c
Go to the documentation of this file.
1
/*
2
* Broadcom specific AMBA
3
* ChipCommon NAND flash interface
4
*
5
* Licensed under the GNU/GPL. See COPYING for details.
6
*/
7
8
#include <
linux/platform_device.h
>
9
#include <
linux/bcma/bcma.h
>
10
11
#include "
bcma_private.h
"
12
13
struct
platform_device
bcma_nflash_dev
= {
14
.name =
"bcma_nflash"
,
15
.num_resources = 0,
16
};
17
18
/* Initialize NAND flash access */
19
int
bcma_nflash_init
(
struct
bcma_drv_cc
*
cc
)
20
{
21
struct
bcma_bus
*
bus
= cc->
core
->bus;
22
23
if
(bus->
chipinfo
.id !=
BCMA_CHIP_ID_BCM4706
&&
24
cc->
core
->id.rev != 0x38) {
25
bcma_err
(bus,
"NAND flash on unsupported board!\n"
);
26
return
-
ENOTSUPP
;
27
}
28
29
if
(!(cc->
capabilities
&
BCMA_CC_CAP_NFLASH
)) {
30
bcma_err
(bus,
"NAND flash not present according to ChipCommon\n"
);
31
return
-
ENODEV
;
32
}
33
34
cc->nflash.present =
true
;
35
36
/* Prepare platform device, but don't register it yet. It's too early,
37
* malloc (required by device_private_init) is not available yet. */
38
bcma_nflash_dev.
dev
.platform_data = &cc->nflash;
39
40
return
0;
41
}
Generated on Thu Jan 10 2013 13:25:56 for Linux Kernel by
1.8.2