aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/blackfin/mach-bf527/boards/ezkit.c53
-rw-r--r--include/asm-blackfin/mach-bf527/dma.h7
-rw-r--r--include/asm-blackfin/mach-bf548/portmux.h14
3 files changed, 73 insertions, 1 deletions
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c
index 3e884f3a8182..bf1bedcc8868 100644
--- a/arch/blackfin/mach-bf527/boards/ezkit.c
+++ b/arch/blackfin/mach-bf527/boards/ezkit.c
@@ -41,9 +41,11 @@
41#include <linux/irq.h> 41#include <linux/irq.h>
42#include <linux/interrupt.h> 42#include <linux/interrupt.h>
43#include <linux/usb_sl811.h> 43#include <linux/usb_sl811.h>
44#include <asm/cplb.h>
44#include <asm/dma.h> 45#include <asm/dma.h>
45#include <asm/bfin5xx_spi.h> 46#include <asm/bfin5xx_spi.h>
46#include <asm/reboot.h> 47#include <asm/reboot.h>
48#include <asm/nand.h>
47#include <linux/spi/ad7877.h> 49#include <linux/spi/ad7877.h>
48 50
49/* 51/*
@@ -102,6 +104,53 @@ void __exit bfin_isp1761_exit(void)
102arch_initcall(bfin_isp1761_init); 104arch_initcall(bfin_isp1761_init);
103#endif 105#endif
104 106
107#if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE)
108static struct mtd_partition partition_info[] = {
109 {
110 .name = "Linux Kernel",
111 .offset = 0,
112 .size = 4 * SIZE_1M,
113 },
114 {
115 .name = "File System",
116 .offset = 4 * SIZE_1M,
117 .size = (256 - 4) * SIZE_1M,
118 },
119};
120
121static struct bf5xx_nand_platform bf5xx_nand_platform = {
122 .page_size = NFC_PG_SIZE_256,
123 .data_width = NFC_NWIDTH_8,
124 .partitions = partition_info,
125 .nr_partitions = ARRAY_SIZE(partition_info),
126 .rd_dly = 3,
127 .wr_dly = 3,
128};
129
130static struct resource bf5xx_nand_resources[] = {
131 {
132 .start = NFC_CTL,
133 .end = NFC_DATA_RD + 2,
134 .flags = IORESOURCE_MEM,
135 },
136 {
137 .start = CH_NFC,
138 .end = CH_NFC,
139 .flags = IORESOURCE_IRQ,
140 },
141};
142
143static struct platform_device bf5xx_nand_device = {
144 .name = "bf5xx-nand",
145 .id = 0,
146 .num_resources = ARRAY_SIZE(bf5xx_nand_resources),
147 .resource = bf5xx_nand_resources,
148 .dev = {
149 .platform_data = &bf5xx_nand_platform,
150 },
151};
152#endif
153
105#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) 154#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE)
106static struct resource bfin_pcmcia_cf_resources[] = { 155static struct resource bfin_pcmcia_cf_resources[] = {
107 { 156 {
@@ -650,6 +699,10 @@ static struct platform_device bfin_pata_device = {
650#endif 699#endif
651 700
652static struct platform_device *stamp_devices[] __initdata = { 701static struct platform_device *stamp_devices[] __initdata = {
702#if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE)
703 &bf5xx_nand_device,
704#endif
705
653#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) 706#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE)
654 &bfin_pcmcia_cf_device, 707 &bfin_pcmcia_cf_device,
655#endif 708#endif
diff --git a/include/asm-blackfin/mach-bf527/dma.h b/include/asm-blackfin/mach-bf527/dma.h
index a41627ae9134..2dfee12864f6 100644
--- a/include/asm-blackfin/mach-bf527/dma.h
+++ b/include/asm-blackfin/mach-bf527/dma.h
@@ -35,7 +35,6 @@
35#define MAX_BLACKFIN_DMA_CHANNEL 16 35#define MAX_BLACKFIN_DMA_CHANNEL 16
36 36
37#define CH_PPI 0 /* PPI receive/transmit or NFC */ 37#define CH_PPI 0 /* PPI receive/transmit or NFC */
38#define CH_NFC 0 /* PPI receive/transmit or NFC */
39#define CH_EMAC_RX 1 /* Ethernet MAC receive or HOSTDP */ 38#define CH_EMAC_RX 1 /* Ethernet MAC receive or HOSTDP */
40#define CH_EMAC_HOSTDP 1 /* Ethernet MAC receive or HOSTDP */ 39#define CH_EMAC_HOSTDP 1 /* Ethernet MAC receive or HOSTDP */
41#define CH_EMAC_TX 2 /* Ethernet MAC transmit or NFC */ 40#define CH_EMAC_TX 2 /* Ethernet MAC transmit or NFC */
@@ -54,6 +53,12 @@
54#define CH_MEM_STREAM1_DEST 14 /* TX */ 53#define CH_MEM_STREAM1_DEST 14 /* TX */
55#define CH_MEM_STREAM1_SRC 15 /* RX */ 54#define CH_MEM_STREAM1_SRC 15 /* RX */
56 55
56#if defined(CONFIG_BF527_NAND_D_PORTF)
57#define CH_NFC CH_PPI /* PPI receive/transmit or NFC */
58#elif defined(CONFIG_BF527_NAND_D_PORTH)
59#define CH_NFC CH_EMAC_TX /* PPI receive/transmit or NFC */
60#endif
61
57extern int channel2irq(unsigned int channel); 62extern int channel2irq(unsigned int channel);
58extern struct dma_register *base_addr[]; 63extern struct dma_register *base_addr[];
59 64
diff --git a/include/asm-blackfin/mach-bf548/portmux.h b/include/asm-blackfin/mach-bf548/portmux.h
index b382deb501a7..6b485120015f 100644
--- a/include/asm-blackfin/mach-bf548/portmux.h
+++ b/include/asm-blackfin/mach-bf548/portmux.h
@@ -267,4 +267,18 @@
267#define P_AMC_BG (P_DEFINED | P_IDENT(GPIO_PJ12) | P_FUNCT(0)) 267#define P_AMC_BG (P_DEFINED | P_IDENT(GPIO_PJ12) | P_FUNCT(0))
268#define P_AMC_BGH (P_DEFINED | P_IDENT(GPIO_PJ13) | P_FUNCT(0)) 268#define P_AMC_BGH (P_DEFINED | P_IDENT(GPIO_PJ13) | P_FUNCT(0))
269 269
270
271#define P_NAND_D0 (P_DONTCARE)
272#define P_NAND_D1 (P_DONTCARE)
273#define P_NAND_D2 (P_DONTCARE)
274#define P_NAND_D3 (P_DONTCARE)
275#define P_NAND_D4 (P_DONTCARE)
276#define P_NAND_D5 (P_DONTCARE)
277#define P_NAND_D6 (P_DONTCARE)
278#define P_NAND_D7 (P_DONTCARE)
279#define P_NAND_WE (P_DONTCARE)
280#define P_NAND_RE (P_DONTCARE)
281#define P_NAND_CLE (P_DONTCARE)
282#define P_NAND_ALE (P_DONTCARE)
283
270#endif /* _MACH_PORTMUX_H_ */ 284#endif /* _MACH_PORTMUX_H_ */