49 lines · 1.1 KB · C
RawDownload
/* * Broadcom specific AMBA * ChipCommon parallel flash * * Licensed under the GNU/GPL. See COPYING for details. */ #include "bcma_private.h" #include <linux/bcma/bcma.h>#include <linux/mtd/physmap.h>#include <linux/platform_device.h> static const char * const part_probes[] = { "bcm47xxpart", NULL }; static struct physmap_flash_data bcma_pflash_data = {	.part_probe_types	= part_probes,}; static struct resource bcma_pflash_resource = {	.name	= "bcma_pflash",	.flags  = IORESOURCE_MEM,}; struct platform_device bcma_pflash_dev = {	.name		= "physmap-flash",	.dev		= {		.platform_data  = &bcma_pflash_data,	},	.resource	= &bcma_pflash_resource,	.num_resources	= 1,}; int bcma_pflash_init(struct bcma_drv_cc *cc){	struct bcma_pflash *pflash = &cc->pflash; 	pflash->present = true; 	if (!(bcma_read32(cc->core, BCMA_CC_FLASH_CFG) & BCMA_CC_FLASH_CFG_DS))		bcma_pflash_data.width = 1;	else		bcma_pflash_data.width = 2; 	bcma_pflash_resource.start = BCMA_SOC_FLASH2;	bcma_pflash_resource.end = BCMA_SOC_FLASH2 + BCMA_SOC_FLASH2_SZ; 	return 0;}