diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 15:00:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 15:00:25 -0500 |
commit | 5bb47b9ff3d16d40f8d45380b373497a545fa280 (patch) | |
tree | e13dd34395473342dc75eff5cbaf5b1ea753631c /arch/blackfin/mach-bf527/include | |
parent | 2f2408a88cf8fa43febfd7fb5783e61b2937b0f9 (diff) | |
parent | 06af15e086e39a5a2a2413973a64af8e10122f28 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (171 commits)
Blackfin arch: fix bug - BF527 0.2 silicon has different CPUID (DSPID) value
Blackfin arch: Enlarge flash partition for kenel for bf533/bf537 boards
Blackfin arch: fix bug: kernel crash when enable SDIO host driver
Blackfin arch: Print FP at level KERN_NOTICE
Blackfin arch: drop ad73311 test code
Blackfin arch: update board default configs
Blackfin arch: Set PB4 as the default irq for bf548 board v1.4+.
Blackfin arch: fix typo in early printk bit size processing
Blackfin arch: enable reprogram cclk and sclk for bf518f-ezbrd
Blackfin arch: add SDIO host driver platform data
Blackfin arch: fix bug - kernel stops at initial console
Blackfin arch: fix bug - kernel crash after config IP for ethernet port
Blackfin arch: add sdh support for bf518f-ezbrd
Blackfin arch: fix bug - kernel detects BF532 incorrectly
Blackfin arch: add () to avoid warnings from gcc
Blackfin arch: change HWTRACE Kconfig and set it on default
Blackfin arch: Clean oprofile build path for blackfin
Blackfin arch: remove hardware PM code, oprofile not use it
Blackfin arch: rewrite get_sclk()/get_vco()
Blackfin arch: cleanup and unify the ins functions
...
Diffstat (limited to 'arch/blackfin/mach-bf527/include')
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/anomaly.h | 10 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/bf527.h | 8 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/bfin_sir.h | 142 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h | 102 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/dma.h | 32 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/gpio.h | 68 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/irq.h | 32 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/mem_init.h | 310 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/include/mach/mem_map.h | 6 |
9 files changed, 158 insertions, 552 deletions
diff --git a/arch/blackfin/mach-bf527/include/mach/anomaly.h b/arch/blackfin/mach-bf527/include/mach/anomaly.h index 62373e61c585..035e8d835058 100644 --- a/arch/blackfin/mach-bf527/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf527/include/mach/anomaly.h | |||
@@ -28,7 +28,7 @@ | |||
28 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ | 28 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ |
29 | #define ANOMALY_05000074 (1) | 29 | #define ANOMALY_05000074 (1) |
30 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | 30 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ |
31 | #define ANOMALY_05000119 (1) | 31 | #define ANOMALY_05000119 (1) /* note: brokenness is noted in documentation, not anomaly sheet */ |
32 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 32 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
33 | #define ANOMALY_05000122 (1) | 33 | #define ANOMALY_05000122 (1) |
34 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | 34 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ |
@@ -37,8 +37,6 @@ | |||
37 | #define ANOMALY_05000265 (1) | 37 | #define ANOMALY_05000265 (1) |
38 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ | 38 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ |
39 | #define ANOMALY_05000310 (1) | 39 | #define ANOMALY_05000310 (1) |
40 | /* Errors when SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | ||
41 | #define ANOMALY_05000312 (ANOMALY_BF527) | ||
42 | /* PPI Is Level-Sensitive on First Transfer In Single Frame Sync Modes */ | 40 | /* PPI Is Level-Sensitive on First Transfer In Single Frame Sync Modes */ |
43 | #define ANOMALY_05000313 (__SILICON_REVISION__ < 2) | 41 | #define ANOMALY_05000313 (__SILICON_REVISION__ < 2) |
44 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ | 42 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ |
@@ -153,6 +151,10 @@ | |||
153 | #define ANOMALY_05000430 (ANOMALY_BF527 && __SILICON_REVISION__ > 1) | 151 | #define ANOMALY_05000430 (ANOMALY_BF527 && __SILICON_REVISION__ > 1) |
154 | /* bfrom_SysControl() Does Not Clear SIC_IWR1 Before Executing PLL Programming Sequence */ | 152 | /* bfrom_SysControl() Does Not Clear SIC_IWR1 Before Executing PLL Programming Sequence */ |
155 | #define ANOMALY_05000432 (ANOMALY_BF526) | 153 | #define ANOMALY_05000432 (ANOMALY_BF526) |
154 | /* Certain SIC Registers are not Reset After Soft or Core Double Fault Reset */ | ||
155 | #define ANOMALY_05000435 ((ANOMALY_BF526 && __SILICON_REVISION__ < 1) || ANOMALY_BF527) | ||
156 | /* IFLUSH Instruction at End of Hardware Loop Causes Infinite Stall */ | ||
157 | #define ANOMALY_05000443 (1) | ||
156 | 158 | ||
157 | /* Anomalies that don't exist on this proc */ | 159 | /* Anomalies that don't exist on this proc */ |
158 | #define ANOMALY_05000125 (0) | 160 | #define ANOMALY_05000125 (0) |
@@ -168,7 +170,9 @@ | |||
168 | #define ANOMALY_05000285 (0) | 170 | #define ANOMALY_05000285 (0) |
169 | #define ANOMALY_05000307 (0) | 171 | #define ANOMALY_05000307 (0) |
170 | #define ANOMALY_05000311 (0) | 172 | #define ANOMALY_05000311 (0) |
173 | #define ANOMALY_05000312 (0) | ||
171 | #define ANOMALY_05000323 (0) | 174 | #define ANOMALY_05000323 (0) |
172 | #define ANOMALY_05000363 (0) | 175 | #define ANOMALY_05000363 (0) |
176 | #define ANOMALY_05000412 (0) | ||
173 | 177 | ||
174 | #endif | 178 | #endif |
diff --git a/arch/blackfin/mach-bf527/include/mach/bf527.h b/arch/blackfin/mach-bf527/include/mach/bf527.h index 144f08d3f8ea..3832aab11e9a 100644 --- a/arch/blackfin/mach-bf527/include/mach/bf527.h +++ b/arch/blackfin/mach-bf527/include/mach/bf527.h | |||
@@ -110,7 +110,7 @@ | |||
110 | 110 | ||
111 | #ifdef CONFIG_BF527 | 111 | #ifdef CONFIG_BF527 |
112 | #define CPU "BF527" | 112 | #define CPU "BF527" |
113 | #define CPUID 0x27e4 | 113 | #define CPUID 0x27e0 |
114 | #endif | 114 | #endif |
115 | #ifdef CONFIG_BF526 | 115 | #ifdef CONFIG_BF526 |
116 | #define CPU "BF526" | 116 | #define CPU "BF526" |
@@ -118,7 +118,7 @@ | |||
118 | #endif | 118 | #endif |
119 | #ifdef CONFIG_BF525 | 119 | #ifdef CONFIG_BF525 |
120 | #define CPU "BF525" | 120 | #define CPU "BF525" |
121 | #define CPUID 0x27e4 | 121 | #define CPUID 0x27e0 |
122 | #endif | 122 | #endif |
123 | #ifdef CONFIG_BF524 | 123 | #ifdef CONFIG_BF524 |
124 | #define CPU "BF524" | 124 | #define CPU "BF524" |
@@ -126,7 +126,7 @@ | |||
126 | #endif | 126 | #endif |
127 | #ifdef CONFIG_BF523 | 127 | #ifdef CONFIG_BF523 |
128 | #define CPU "BF523" | 128 | #define CPU "BF523" |
129 | #define CPUID 0x27e4 | 129 | #define CPUID 0x27e0 |
130 | #endif | 130 | #endif |
131 | #ifdef CONFIG_BF522 | 131 | #ifdef CONFIG_BF522 |
132 | #define CPU "BF522" | 132 | #define CPU "BF522" |
@@ -134,7 +134,7 @@ | |||
134 | #endif | 134 | #endif |
135 | 135 | ||
136 | #ifndef CPU | 136 | #ifndef CPU |
137 | #error Unknown CPU type - This kernel doesn't seem to be configured properly | 137 | #error "Unknown CPU type - This kernel doesn't seem to be configured properly" |
138 | #endif | 138 | #endif |
139 | 139 | ||
140 | #endif /* __MACH_BF527_H__ */ | 140 | #endif /* __MACH_BF527_H__ */ |
diff --git a/arch/blackfin/mach-bf527/include/mach/bfin_sir.h b/arch/blackfin/mach-bf527/include/mach/bfin_sir.h deleted file mode 100644 index cfd8ad4f1f2c..000000000000 --- a/arch/blackfin/mach-bf527/include/mach/bfin_sir.h +++ /dev/null | |||
@@ -1,142 +0,0 @@ | |||
1 | /* | ||
2 | * Blackfin Infra-red Driver | ||
3 | * | ||
4 | * Copyright 2006-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/serial.h> | ||
13 | #include <asm/dma.h> | ||
14 | #include <asm/portmux.h> | ||
15 | |||
16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
23 | |||
24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
30 | |||
31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
32 | struct dma_rx_buf { | ||
33 | char *buf; | ||
34 | int head; | ||
35 | int tail; | ||
36 | }; | ||
37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
38 | |||
39 | struct bfin_sir_port { | ||
40 | unsigned char __iomem *membase; | ||
41 | unsigned int irq; | ||
42 | unsigned int lsr; | ||
43 | unsigned long clk; | ||
44 | struct net_device *dev; | ||
45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
46 | int tx_done; | ||
47 | struct dma_rx_buf rx_dma_buf; | ||
48 | struct timer_list rx_dma_timer; | ||
49 | int rx_dma_nrows; | ||
50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
51 | unsigned int tx_dma_channel; | ||
52 | unsigned int rx_dma_channel; | ||
53 | }; | ||
54 | |||
55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
56 | |||
57 | struct bfin_sir_port_res { | ||
58 | unsigned long base_addr; | ||
59 | int irq; | ||
60 | unsigned int rx_dma_channel; | ||
61 | unsigned int tx_dma_channel; | ||
62 | }; | ||
63 | |||
64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
65 | #ifdef CONFIG_BFIN_SIR0 | ||
66 | { | ||
67 | 0xFFC00400, | ||
68 | IRQ_UART0_RX, | ||
69 | CH_UART0_RX, | ||
70 | CH_UART0_TX, | ||
71 | }, | ||
72 | #endif | ||
73 | #ifdef CONFIG_BFIN_SIR1 | ||
74 | { | ||
75 | 0xFFC02000, | ||
76 | IRQ_UART1_RX, | ||
77 | CH_UART1_RX, | ||
78 | CH_UART1_TX, | ||
79 | }, | ||
80 | #endif | ||
81 | }; | ||
82 | |||
83 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
84 | |||
85 | struct bfin_sir_self { | ||
86 | struct bfin_sir_port *sir_port; | ||
87 | spinlock_t lock; | ||
88 | unsigned int open; | ||
89 | int speed; | ||
90 | int newspeed; | ||
91 | |||
92 | struct sk_buff *txskb; | ||
93 | struct sk_buff *rxskb; | ||
94 | struct net_device_stats stats; | ||
95 | struct device *dev; | ||
96 | struct irlap_cb *irlap; | ||
97 | struct qos_info qos; | ||
98 | |||
99 | iobuff_t tx_buff; | ||
100 | iobuff_t rx_buff; | ||
101 | |||
102 | struct work_struct work; | ||
103 | int mtt; | ||
104 | }; | ||
105 | |||
106 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
107 | { | ||
108 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
109 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
110 | return lsr | port->lsr; | ||
111 | } | ||
112 | |||
113 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
114 | { | ||
115 | port->lsr = 0; | ||
116 | bfin_read16(port->membase + OFFSET_LSR); | ||
117 | } | ||
118 | |||
119 | #define DRIVER_NAME "bfin_sir" | ||
120 | |||
121 | static int bfin_sir_hw_init(void) | ||
122 | { | ||
123 | int ret = -ENODEV; | ||
124 | #ifdef CONFIG_BFIN_SIR0 | ||
125 | ret = peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
126 | if (ret) | ||
127 | return ret; | ||
128 | ret = peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
129 | if (ret) | ||
130 | return ret; | ||
131 | #endif | ||
132 | |||
133 | #ifdef CONFIG_BFIN_SIR1 | ||
134 | ret = peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
135 | if (ret) | ||
136 | return ret; | ||
137 | ret = peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
138 | if (ret) | ||
139 | return ret; | ||
140 | #endif | ||
141 | return ret; | ||
142 | } | ||
diff --git a/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h b/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h index 9a814b9a12b9..1fe76d8e0403 100644 --- a/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h +++ b/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h | |||
@@ -31,7 +31,6 @@ | |||
31 | #ifndef _CDEF_BF52X_H | 31 | #ifndef _CDEF_BF52X_H |
32 | #define _CDEF_BF52X_H | 32 | #define _CDEF_BF52X_H |
33 | 33 | ||
34 | #include <asm/system.h> | ||
35 | #include <asm/blackfin.h> | 34 | #include <asm/blackfin.h> |
36 | 35 | ||
37 | #include "defBF52x_base.h" | 36 | #include "defBF52x_base.h" |
@@ -43,57 +42,9 @@ | |||
43 | 42 | ||
44 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ | 43 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ |
45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 44 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
46 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ | ||
47 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
48 | { | ||
49 | unsigned long flags, iwr0, iwr1; | ||
50 | |||
51 | if (val == bfin_read_PLL_CTL()) | ||
52 | return; | ||
53 | |||
54 | local_irq_save(flags); | ||
55 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
56 | iwr0 = bfin_read32(SIC_IWR0); | ||
57 | iwr1 = bfin_read32(SIC_IWR1); | ||
58 | /* Only allow PPL Wakeup) */ | ||
59 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
60 | bfin_write32(SIC_IWR1, 0); | ||
61 | |||
62 | bfin_write16(PLL_CTL, val); | ||
63 | SSYNC(); | ||
64 | asm("IDLE;"); | ||
65 | |||
66 | bfin_write32(SIC_IWR0, iwr0); | ||
67 | bfin_write32(SIC_IWR1, iwr1); | ||
68 | local_irq_restore(flags); | ||
69 | } | ||
70 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 45 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
71 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) | 46 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) |
72 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 47 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
73 | /* Writing to VR_CTL initiates a PLL relock sequence. */ | ||
74 | static __inline__ void bfin_write_VR_CTL(unsigned int val) | ||
75 | { | ||
76 | unsigned long flags, iwr0, iwr1; | ||
77 | |||
78 | if (val == bfin_read_VR_CTL()) | ||
79 | return; | ||
80 | |||
81 | local_irq_save(flags); | ||
82 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
83 | iwr0 = bfin_read32(SIC_IWR0); | ||
84 | iwr1 = bfin_read32(SIC_IWR1); | ||
85 | /* Only allow PPL Wakeup) */ | ||
86 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
87 | bfin_write32(SIC_IWR1, 0); | ||
88 | |||
89 | bfin_write16(VR_CTL, val); | ||
90 | SSYNC(); | ||
91 | asm("IDLE;"); | ||
92 | |||
93 | bfin_write32(SIC_IWR0, iwr0); | ||
94 | bfin_write32(SIC_IWR1, iwr1); | ||
95 | local_irq_restore(flags); | ||
96 | } | ||
97 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 48 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
98 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) | 49 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) |
99 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) | 50 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) |
@@ -1201,4 +1152,57 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
1201 | #define bfin_read_NFC_DATA_RD() bfin_read16(NFC_DATA_RD) | 1152 | #define bfin_read_NFC_DATA_RD() bfin_read16(NFC_DATA_RD) |
1202 | #define bfin_write_NFC_DATA_RD(val) bfin_write16(NFC_DATA_RD, val) | 1153 | #define bfin_write_NFC_DATA_RD(val) bfin_write16(NFC_DATA_RD, val) |
1203 | 1154 | ||
1155 | /* These need to be last due to the cdef/linux inter-dependencies */ | ||
1156 | #include <asm/irq.h> | ||
1157 | |||
1158 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ | ||
1159 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
1160 | { | ||
1161 | unsigned long flags, iwr0, iwr1; | ||
1162 | |||
1163 | if (val == bfin_read_PLL_CTL()) | ||
1164 | return; | ||
1165 | |||
1166 | local_irq_save_hw(flags); | ||
1167 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
1168 | iwr0 = bfin_read32(SIC_IWR0); | ||
1169 | iwr1 = bfin_read32(SIC_IWR1); | ||
1170 | /* Only allow PPL Wakeup) */ | ||
1171 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
1172 | bfin_write32(SIC_IWR1, 0); | ||
1173 | |||
1174 | bfin_write16(PLL_CTL, val); | ||
1175 | SSYNC(); | ||
1176 | asm("IDLE;"); | ||
1177 | |||
1178 | bfin_write32(SIC_IWR0, iwr0); | ||
1179 | bfin_write32(SIC_IWR1, iwr1); | ||
1180 | local_irq_restore_hw(flags); | ||
1181 | } | ||
1182 | |||
1183 | /* Writing to VR_CTL initiates a PLL relock sequence. */ | ||
1184 | static __inline__ void bfin_write_VR_CTL(unsigned int val) | ||
1185 | { | ||
1186 | unsigned long flags, iwr0, iwr1; | ||
1187 | |||
1188 | if (val == bfin_read_VR_CTL()) | ||
1189 | return; | ||
1190 | |||
1191 | local_irq_save_hw(flags); | ||
1192 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
1193 | iwr0 = bfin_read32(SIC_IWR0); | ||
1194 | iwr1 = bfin_read32(SIC_IWR1); | ||
1195 | /* Only allow PPL Wakeup) */ | ||
1196 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
1197 | bfin_write32(SIC_IWR1, 0); | ||
1198 | |||
1199 | bfin_write16(VR_CTL, val); | ||
1200 | SSYNC(); | ||
1201 | asm("IDLE;"); | ||
1202 | |||
1203 | bfin_write32(SIC_IWR0, iwr0); | ||
1204 | bfin_write32(SIC_IWR1, iwr1); | ||
1205 | local_irq_restore_hw(flags); | ||
1206 | } | ||
1207 | |||
1204 | #endif /* _CDEF_BF52X_H */ | 1208 | #endif /* _CDEF_BF52X_H */ |
diff --git a/arch/blackfin/mach-bf527/include/mach/dma.h b/arch/blackfin/mach-bf527/include/mach/dma.h index 49dd693223e8..eb287da101a2 100644 --- a/arch/blackfin/mach-bf527/include/mach/dma.h +++ b/arch/blackfin/mach-bf527/include/mach/dma.h | |||
@@ -1,38 +1,14 @@ | |||
1 | /* | 1 | /* mach/dma.h - arch-specific DMA defines |
2 | * file: include/asm-blackfin/mach-bf527/dma.h | ||
3 | * based on: include/asm-blackfin/mach-bf537/dma.h | ||
4 | * author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 2 | * |
6 | * created: | 3 | * Copyright 2004-2008 Analog Devices Inc. |
7 | * description: | ||
8 | * system DMA map | ||
9 | * rev: | ||
10 | * | 4 | * |
11 | * modified: | 5 | * Licensed under the GPL-2 or later. |
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 6 | */ |
31 | 7 | ||
32 | #ifndef _MACH_DMA_H_ | 8 | #ifndef _MACH_DMA_H_ |
33 | #define _MACH_DMA_H_ | 9 | #define _MACH_DMA_H_ |
34 | 10 | ||
35 | #define MAX_BLACKFIN_DMA_CHANNEL 16 | 11 | #define MAX_DMA_CHANNELS 16 |
36 | 12 | ||
37 | #define CH_PPI 0 /* PPI receive/transmit or NFC */ | 13 | #define CH_PPI 0 /* PPI receive/transmit or NFC */ |
38 | #define CH_EMAC_RX 1 /* Ethernet MAC receive or HOSTDP */ | 14 | #define CH_EMAC_RX 1 /* Ethernet MAC receive or HOSTDP */ |
diff --git a/arch/blackfin/mach-bf527/include/mach/gpio.h b/arch/blackfin/mach-bf527/include/mach/gpio.h new file mode 100644 index 000000000000..06b6eebf0d49 --- /dev/null +++ b/arch/blackfin/mach-bf527/include/mach/gpio.h | |||
@@ -0,0 +1,68 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf527/include/mach/gpio.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2008 Analog Devices Inc. | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | |||
10 | #ifndef _MACH_GPIO_H_ | ||
11 | #define _MACH_GPIO_H_ | ||
12 | |||
13 | #define MAX_BLACKFIN_GPIOS 48 | ||
14 | |||
15 | #define GPIO_PF0 0 | ||
16 | #define GPIO_PF1 1 | ||
17 | #define GPIO_PF2 2 | ||
18 | #define GPIO_PF3 3 | ||
19 | #define GPIO_PF4 4 | ||
20 | #define GPIO_PF5 5 | ||
21 | #define GPIO_PF6 6 | ||
22 | #define GPIO_PF7 7 | ||
23 | #define GPIO_PF8 8 | ||
24 | #define GPIO_PF9 9 | ||
25 | #define GPIO_PF10 10 | ||
26 | #define GPIO_PF11 11 | ||
27 | #define GPIO_PF12 12 | ||
28 | #define GPIO_PF13 13 | ||
29 | #define GPIO_PF14 14 | ||
30 | #define GPIO_PF15 15 | ||
31 | #define GPIO_PG0 16 | ||
32 | #define GPIO_PG1 17 | ||
33 | #define GPIO_PG2 18 | ||
34 | #define GPIO_PG3 19 | ||
35 | #define GPIO_PG4 20 | ||
36 | #define GPIO_PG5 21 | ||
37 | #define GPIO_PG6 22 | ||
38 | #define GPIO_PG7 23 | ||
39 | #define GPIO_PG8 24 | ||
40 | #define GPIO_PG9 25 | ||
41 | #define GPIO_PG10 26 | ||
42 | #define GPIO_PG11 27 | ||
43 | #define GPIO_PG12 28 | ||
44 | #define GPIO_PG13 29 | ||
45 | #define GPIO_PG14 30 | ||
46 | #define GPIO_PG15 31 | ||
47 | #define GPIO_PH0 32 | ||
48 | #define GPIO_PH1 33 | ||
49 | #define GPIO_PH2 34 | ||
50 | #define GPIO_PH3 35 | ||
51 | #define GPIO_PH4 36 | ||
52 | #define GPIO_PH5 37 | ||
53 | #define GPIO_PH6 38 | ||
54 | #define GPIO_PH7 39 | ||
55 | #define GPIO_PH8 40 | ||
56 | #define GPIO_PH9 41 | ||
57 | #define GPIO_PH10 42 | ||
58 | #define GPIO_PH11 43 | ||
59 | #define GPIO_PH12 44 | ||
60 | #define GPIO_PH13 45 | ||
61 | #define GPIO_PH14 46 | ||
62 | #define GPIO_PH15 47 | ||
63 | |||
64 | #define PORT_F GPIO_PF0 | ||
65 | #define PORT_G GPIO_PG0 | ||
66 | #define PORT_H GPIO_PH0 | ||
67 | |||
68 | #endif /* _MACH_GPIO_H_ */ | ||
diff --git a/arch/blackfin/mach-bf527/include/mach/irq.h b/arch/blackfin/mach-bf527/include/mach/irq.h index 4e2b3f2020e5..8ea660d8151f 100644 --- a/arch/blackfin/mach-bf527/include/mach/irq.h +++ b/arch/blackfin/mach-bf527/include/mach/irq.h | |||
@@ -96,14 +96,14 @@ | |||
96 | #define IRQ_MAC_TX BFIN_IRQ(30) /* DMA2 Channel (MAC TX/NAND) */ | 96 | #define IRQ_MAC_TX BFIN_IRQ(30) /* DMA2 Channel (MAC TX/NAND) */ |
97 | #define IRQ_NFC BFIN_IRQ(30) /* DMA2 Channel (MAC TX/NAND) */ | 97 | #define IRQ_NFC BFIN_IRQ(30) /* DMA2 Channel (MAC TX/NAND) */ |
98 | #define IRQ_PORTH_INTB BFIN_IRQ(31) /* Port H Interrupt B */ | 98 | #define IRQ_PORTH_INTB BFIN_IRQ(31) /* Port H Interrupt B */ |
99 | #define IRQ_TMR0 BFIN_IRQ(32) /* Timer 0 */ | 99 | #define IRQ_TIMER0 BFIN_IRQ(32) /* Timer 0 */ |
100 | #define IRQ_TMR1 BFIN_IRQ(33) /* Timer 1 */ | 100 | #define IRQ_TIMER1 BFIN_IRQ(33) /* Timer 1 */ |
101 | #define IRQ_TMR2 BFIN_IRQ(34) /* Timer 2 */ | 101 | #define IRQ_TIMER2 BFIN_IRQ(34) /* Timer 2 */ |
102 | #define IRQ_TMR3 BFIN_IRQ(35) /* Timer 3 */ | 102 | #define IRQ_TIMER3 BFIN_IRQ(35) /* Timer 3 */ |
103 | #define IRQ_TMR4 BFIN_IRQ(36) /* Timer 4 */ | 103 | #define IRQ_TIMER4 BFIN_IRQ(36) /* Timer 4 */ |
104 | #define IRQ_TMR5 BFIN_IRQ(37) /* Timer 5 */ | 104 | #define IRQ_TIMER5 BFIN_IRQ(37) /* Timer 5 */ |
105 | #define IRQ_TMR6 BFIN_IRQ(38) /* Timer 6 */ | 105 | #define IRQ_TIMER6 BFIN_IRQ(38) /* Timer 6 */ |
106 | #define IRQ_TMR7 BFIN_IRQ(39) /* Timer 7 */ | 106 | #define IRQ_TIMER7 BFIN_IRQ(39) /* Timer 7 */ |
107 | #define IRQ_PORTG_INTA BFIN_IRQ(40) /* Port G Interrupt A */ | 107 | #define IRQ_PORTG_INTA BFIN_IRQ(40) /* Port G Interrupt A */ |
108 | #define IRQ_PORTG_INTB BFIN_IRQ(41) /* Port G Interrupt B */ | 108 | #define IRQ_PORTG_INTB BFIN_IRQ(41) /* Port G Interrupt B */ |
109 | #define IRQ_MEM_DMA0 BFIN_IRQ(42) /* MDMA Stream 0 */ | 109 | #define IRQ_MEM_DMA0 BFIN_IRQ(42) /* MDMA Stream 0 */ |
@@ -227,14 +227,14 @@ | |||
227 | #define IRQ_PORTH_INTB_POS 28 | 227 | #define IRQ_PORTH_INTB_POS 28 |
228 | 228 | ||
229 | /* IAR4 BIT FIELDS */ | 229 | /* IAR4 BIT FIELDS */ |
230 | #define IRQ_TMR0_POS 0 | 230 | #define IRQ_TIMER0_POS 0 |
231 | #define IRQ_TMR1_POS 4 | 231 | #define IRQ_TIMER1_POS 4 |
232 | #define IRQ_TMR2_POS 8 | 232 | #define IRQ_TIMER2_POS 8 |
233 | #define IRQ_TMR3_POS 12 | 233 | #define IRQ_TIMER3_POS 12 |
234 | #define IRQ_TMR4_POS 16 | 234 | #define IRQ_TIMER4_POS 16 |
235 | #define IRQ_TMR5_POS 20 | 235 | #define IRQ_TIMER5_POS 20 |
236 | #define IRQ_TMR6_POS 24 | 236 | #define IRQ_TIMER6_POS 24 |
237 | #define IRQ_TMR7_POS 28 | 237 | #define IRQ_TIMER7_POS 28 |
238 | 238 | ||
239 | /* IAR5 BIT FIELDS */ | 239 | /* IAR5 BIT FIELDS */ |
240 | #define IRQ_PORTG_INTA_POS 0 | 240 | #define IRQ_PORTG_INTA_POS 0 |
diff --git a/arch/blackfin/mach-bf527/include/mach/mem_init.h b/arch/blackfin/mach-bf527/include/mach/mem_init.h deleted file mode 100644 index cbe03f4a5698..000000000000 --- a/arch/blackfin/mach-bf527/include/mach/mem_init.h +++ /dev/null | |||
@@ -1,310 +0,0 @@ | |||
1 | /* | ||
2 | * File: include/asm-blackfin/mach-bf527/mem_init.h | ||
3 | * Based on: | ||
4 | * Author: | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * Copyright 2004-2007 Analog Devices Inc. | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | ||
31 | |||
32 | #if (CONFIG_MEM_MT48LC16M16A2TG_75 || CONFIG_MEM_MT48LC64M4A2FB_7E || CONFIG_MEM_MT48LC16M8A2TG_75 || CONFIG_MEM_GENERIC_BOARD || CONFIG_MEM_MT48LC32M8A2_75 || CONFIG_MEM_MT48LC32M16A2TG_75) | ||
33 | #if (CONFIG_SCLK_HZ > 119402985) | ||
34 | #define SDRAM_tRP TRP_2 | ||
35 | #define SDRAM_tRP_num 2 | ||
36 | #define SDRAM_tRAS TRAS_7 | ||
37 | #define SDRAM_tRAS_num 7 | ||
38 | #define SDRAM_tRCD TRCD_2 | ||
39 | #define SDRAM_tWR TWR_2 | ||
40 | #endif | ||
41 | #if (CONFIG_SCLK_HZ > 104477612) && (CONFIG_SCLK_HZ <= 119402985) | ||
42 | #define SDRAM_tRP TRP_2 | ||
43 | #define SDRAM_tRP_num 2 | ||
44 | #define SDRAM_tRAS TRAS_6 | ||
45 | #define SDRAM_tRAS_num 6 | ||
46 | #define SDRAM_tRCD TRCD_2 | ||
47 | #define SDRAM_tWR TWR_2 | ||
48 | #endif | ||
49 | #if (CONFIG_SCLK_HZ > 89552239) && (CONFIG_SCLK_HZ <= 104477612) | ||
50 | #define SDRAM_tRP TRP_2 | ||
51 | #define SDRAM_tRP_num 2 | ||
52 | #define SDRAM_tRAS TRAS_5 | ||
53 | #define SDRAM_tRAS_num 5 | ||
54 | #define SDRAM_tRCD TRCD_2 | ||
55 | #define SDRAM_tWR TWR_2 | ||
56 | #endif | ||
57 | #if (CONFIG_SCLK_HZ > 74626866) && (CONFIG_SCLK_HZ <= 89552239) | ||
58 | #define SDRAM_tRP TRP_2 | ||
59 | #define SDRAM_tRP_num 2 | ||
60 | #define SDRAM_tRAS TRAS_4 | ||
61 | #define SDRAM_tRAS_num 4 | ||
62 | #define SDRAM_tRCD TRCD_2 | ||
63 | #define SDRAM_tWR TWR_2 | ||
64 | #endif | ||
65 | #if (CONFIG_SCLK_HZ > 66666667) && (CONFIG_SCLK_HZ <= 74626866) | ||
66 | #define SDRAM_tRP TRP_2 | ||
67 | #define SDRAM_tRP_num 2 | ||
68 | #define SDRAM_tRAS TRAS_3 | ||
69 | #define SDRAM_tRAS_num 3 | ||
70 | #define SDRAM_tRCD TRCD_2 | ||
71 | #define SDRAM_tWR TWR_2 | ||
72 | #endif | ||
73 | #if (CONFIG_SCLK_HZ > 59701493) && (CONFIG_SCLK_HZ <= 66666667) | ||
74 | #define SDRAM_tRP TRP_1 | ||
75 | #define SDRAM_tRP_num 1 | ||
76 | #define SDRAM_tRAS TRAS_4 | ||
77 | #define SDRAM_tRAS_num 3 | ||
78 | #define SDRAM_tRCD TRCD_1 | ||
79 | #define SDRAM_tWR TWR_2 | ||
80 | #endif | ||
81 | #if (CONFIG_SCLK_HZ > 44776119) && (CONFIG_SCLK_HZ <= 59701493) | ||
82 | #define SDRAM_tRP TRP_1 | ||
83 | #define SDRAM_tRP_num 1 | ||
84 | #define SDRAM_tRAS TRAS_3 | ||
85 | #define SDRAM_tRAS_num 3 | ||
86 | #define SDRAM_tRCD TRCD_1 | ||
87 | #define SDRAM_tWR TWR_2 | ||
88 | #endif | ||
89 | #if (CONFIG_SCLK_HZ > 29850746) && (CONFIG_SCLK_HZ <= 44776119) | ||
90 | #define SDRAM_tRP TRP_1 | ||
91 | #define SDRAM_tRP_num 1 | ||
92 | #define SDRAM_tRAS TRAS_2 | ||
93 | #define SDRAM_tRAS_num 2 | ||
94 | #define SDRAM_tRCD TRCD_1 | ||
95 | #define SDRAM_tWR TWR_2 | ||
96 | #endif | ||
97 | #if (CONFIG_SCLK_HZ <= 29850746) | ||
98 | #define SDRAM_tRP TRP_1 | ||
99 | #define SDRAM_tRP_num 1 | ||
100 | #define SDRAM_tRAS TRAS_1 | ||
101 | #define SDRAM_tRAS_num 1 | ||
102 | #define SDRAM_tRCD TRCD_1 | ||
103 | #define SDRAM_tWR TWR_2 | ||
104 | #endif | ||
105 | #endif | ||
106 | |||
107 | #if (CONFIG_MEM_MT48LC16M16A2TG_75) | ||
108 | /*SDRAM INFORMATION: */ | ||
109 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
110 | #define SDRAM_NRA 8192 /* Number of row addresses in SDRAM */ | ||
111 | #define SDRAM_CL CL_3 | ||
112 | #endif | ||
113 | |||
114 | #if (CONFIG_MEM_MT48LC16M8A2TG_75) | ||
115 | /*SDRAM INFORMATION: */ | ||
116 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
117 | #define SDRAM_NRA 4096 /* Number of row addresses in SDRAM */ | ||
118 | #define SDRAM_CL CL_3 | ||
119 | #endif | ||
120 | |||
121 | #if (CONFIG_MEM_MT48LC32M8A2_75) | ||
122 | /*SDRAM INFORMATION: */ | ||
123 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
124 | #define SDRAM_NRA 8192 /* Number of row addresses in SDRAM */ | ||
125 | #define SDRAM_CL CL_3 | ||
126 | #endif | ||
127 | |||
128 | #if (CONFIG_MEM_MT48LC64M4A2FB_7E) | ||
129 | /*SDRAM INFORMATION: */ | ||
130 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
131 | #define SDRAM_NRA 8192 /* Number of row addresses in SDRAM */ | ||
132 | #define SDRAM_CL CL_3 | ||
133 | #endif | ||
134 | |||
135 | #if (CONFIG_MEM_GENERIC_BOARD) | ||
136 | /*SDRAM INFORMATION: Modify this for your board */ | ||
137 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
138 | #define SDRAM_NRA 8192 /* Number of row addresses in SDRAM */ | ||
139 | #define SDRAM_CL CL_3 | ||
140 | #endif | ||
141 | |||
142 | #if (CONFIG_MEM_MT48LC32M16A2TG_75) | ||
143 | /*SDRAM INFORMATION: */ | ||
144 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
145 | #define SDRAM_NRA 8192 /* Number of row addresses in SDRAM */ | ||
146 | #define SDRAM_CL CL_3 | ||
147 | #endif | ||
148 | |||
149 | /* Equation from section 17 (p17-46) of BF533 HRM */ | ||
150 | #define mem_SDRRC (((CONFIG_SCLK_HZ / 1000) * SDRAM_Tref) / SDRAM_NRA) - (SDRAM_tRAS_num + SDRAM_tRP_num) | ||
151 | |||
152 | /* Enable SCLK Out */ | ||
153 | #define mem_SDGCTL (SCTLE | SDRAM_CL | SDRAM_tRAS | SDRAM_tRP | SDRAM_tRCD | SDRAM_tWR | PSS) | ||
154 | |||
155 | #if defined CONFIG_CLKIN_HALF | ||
156 | #define CLKIN_HALF 1 | ||
157 | #else | ||
158 | #define CLKIN_HALF 0 | ||
159 | #endif | ||
160 | |||
161 | #if defined CONFIG_PLL_BYPASS | ||
162 | #define PLL_BYPASS 1 | ||
163 | #else | ||
164 | #define PLL_BYPASS 0 | ||
165 | #endif | ||
166 | |||
167 | /***************************************Currently Not Being Used *********************************/ | ||
168 | #define flash_EBIU_AMBCTL_WAT ((CONFIG_FLASH_SPEED_BWAT * 4) / (4000000000 / CONFIG_SCLK_HZ)) + 1 | ||
169 | #define flash_EBIU_AMBCTL_RAT ((CONFIG_FLASH_SPEED_BRAT * 4) / (4000000000 / CONFIG_SCLK_HZ)) + 1 | ||
170 | #define flash_EBIU_AMBCTL_HT ((CONFIG_FLASH_SPEED_BHT * 4) / (4000000000 / CONFIG_SCLK_HZ)) | ||
171 | #define flash_EBIU_AMBCTL_ST ((CONFIG_FLASH_SPEED_BST * 4) / (4000000000 / CONFIG_SCLK_HZ)) + 1 | ||
172 | #define flash_EBIU_AMBCTL_TT ((CONFIG_FLASH_SPEED_BTT * 4) / (4000000000 / CONFIG_SCLK_HZ)) + 1 | ||
173 | |||
174 | #if (flash_EBIU_AMBCTL_TT > 3) | ||
175 | #define flash_EBIU_AMBCTL0_TT B0TT_4 | ||
176 | #endif | ||
177 | #if (flash_EBIU_AMBCTL_TT == 3) | ||
178 | #define flash_EBIU_AMBCTL0_TT B0TT_3 | ||
179 | #endif | ||
180 | #if (flash_EBIU_AMBCTL_TT == 2) | ||
181 | #define flash_EBIU_AMBCTL0_TT B0TT_2 | ||
182 | #endif | ||
183 | #if (flash_EBIU_AMBCTL_TT < 2) | ||
184 | #define flash_EBIU_AMBCTL0_TT B0TT_1 | ||
185 | #endif | ||
186 | |||
187 | #if (flash_EBIU_AMBCTL_ST > 3) | ||
188 | #define flash_EBIU_AMBCTL0_ST B0ST_4 | ||
189 | #endif | ||
190 | #if (flash_EBIU_AMBCTL_ST == 3) | ||
191 | #define flash_EBIU_AMBCTL0_ST B0ST_3 | ||
192 | #endif | ||
193 | #if (flash_EBIU_AMBCTL_ST == 2) | ||
194 | #define flash_EBIU_AMBCTL0_ST B0ST_2 | ||
195 | #endif | ||
196 | #if (flash_EBIU_AMBCTL_ST < 2) | ||
197 | #define flash_EBIU_AMBCTL0_ST B0ST_1 | ||
198 | #endif | ||
199 | |||
200 | #if (flash_EBIU_AMBCTL_HT > 2) | ||
201 | #define flash_EBIU_AMBCTL0_HT B0HT_3 | ||
202 | #endif | ||
203 | #if (flash_EBIU_AMBCTL_HT == 2) | ||
204 | #define flash_EBIU_AMBCTL0_HT B0HT_2 | ||
205 | #endif | ||
206 | #if (flash_EBIU_AMBCTL_HT == 1) | ||
207 | #define flash_EBIU_AMBCTL0_HT B0HT_1 | ||
208 | #endif | ||
209 | #if (flash_EBIU_AMBCTL_HT == 0 && CONFIG_FLASH_SPEED_BHT == 0) | ||
210 | #define flash_EBIU_AMBCTL0_HT B0HT_0 | ||
211 | #endif | ||
212 | #if (flash_EBIU_AMBCTL_HT == 0 && CONFIG_FLASH_SPEED_BHT != 0) | ||
213 | #define flash_EBIU_AMBCTL0_HT B0HT_1 | ||
214 | #endif | ||
215 | |||
216 | #if (flash_EBIU_AMBCTL_WAT > 14) | ||
217 | #define flash_EBIU_AMBCTL0_WAT B0WAT_15 | ||
218 | #endif | ||
219 | #if (flash_EBIU_AMBCTL_WAT == 14) | ||
220 | #define flash_EBIU_AMBCTL0_WAT B0WAT_14 | ||
221 | #endif | ||
222 | #if (flash_EBIU_AMBCTL_WAT == 13) | ||
223 | #define flash_EBIU_AMBCTL0_WAT B0WAT_13 | ||
224 | #endif | ||
225 | #if (flash_EBIU_AMBCTL_WAT == 12) | ||
226 | #define flash_EBIU_AMBCTL0_WAT B0WAT_12 | ||
227 | #endif | ||
228 | #if (flash_EBIU_AMBCTL_WAT == 11) | ||
229 | #define flash_EBIU_AMBCTL0_WAT B0WAT_11 | ||
230 | #endif | ||
231 | #if (flash_EBIU_AMBCTL_WAT == 10) | ||
232 | #define flash_EBIU_AMBCTL0_WAT B0WAT_10 | ||
233 | #endif | ||
234 | #if (flash_EBIU_AMBCTL_WAT == 9) | ||
235 | #define flash_EBIU_AMBCTL0_WAT B0WAT_9 | ||
236 | #endif | ||
237 | #if (flash_EBIU_AMBCTL_WAT == 8) | ||
238 | #define flash_EBIU_AMBCTL0_WAT B0WAT_8 | ||
239 | #endif | ||
240 | #if (flash_EBIU_AMBCTL_WAT == 7) | ||
241 | #define flash_EBIU_AMBCTL0_WAT B0WAT_7 | ||
242 | #endif | ||
243 | #if (flash_EBIU_AMBCTL_WAT == 6) | ||
244 | #define flash_EBIU_AMBCTL0_WAT B0WAT_6 | ||
245 | #endif | ||
246 | #if (flash_EBIU_AMBCTL_WAT == 5) | ||
247 | #define flash_EBIU_AMBCTL0_WAT B0WAT_5 | ||
248 | #endif | ||
249 | #if (flash_EBIU_AMBCTL_WAT == 4) | ||
250 | #define flash_EBIU_AMBCTL0_WAT B0WAT_4 | ||
251 | #endif | ||
252 | #if (flash_EBIU_AMBCTL_WAT == 3) | ||
253 | #define flash_EBIU_AMBCTL0_WAT B0WAT_3 | ||
254 | #endif | ||
255 | #if (flash_EBIU_AMBCTL_WAT == 2) | ||
256 | #define flash_EBIU_AMBCTL0_WAT B0WAT_2 | ||
257 | #endif | ||
258 | #if (flash_EBIU_AMBCTL_WAT == 1) | ||
259 | #define flash_EBIU_AMBCTL0_WAT B0WAT_1 | ||
260 | #endif | ||
261 | |||
262 | #if (flash_EBIU_AMBCTL_RAT > 14) | ||
263 | #define flash_EBIU_AMBCTL0_RAT B0RAT_15 | ||
264 | #endif | ||
265 | #if (flash_EBIU_AMBCTL_RAT == 14) | ||
266 | #define flash_EBIU_AMBCTL0_RAT B0RAT_14 | ||
267 | #endif | ||
268 | #if (flash_EBIU_AMBCTL_RAT == 13) | ||
269 | #define flash_EBIU_AMBCTL0_RAT B0RAT_13 | ||
270 | #endif | ||
271 | #if (flash_EBIU_AMBCTL_RAT == 12) | ||
272 | #define flash_EBIU_AMBCTL0_RAT B0RAT_12 | ||
273 | #endif | ||
274 | #if (flash_EBIU_AMBCTL_RAT == 11) | ||
275 | #define flash_EBIU_AMBCTL0_RAT B0RAT_11 | ||
276 | #endif | ||
277 | #if (flash_EBIU_AMBCTL_RAT == 10) | ||
278 | #define flash_EBIU_AMBCTL0_RAT B0RAT_10 | ||
279 | #endif | ||
280 | #if (flash_EBIU_AMBCTL_RAT == 9) | ||
281 | #define flash_EBIU_AMBCTL0_RAT B0RAT_9 | ||
282 | #endif | ||
283 | #if (flash_EBIU_AMBCTL_RAT == 8) | ||
284 | #define flash_EBIU_AMBCTL0_RAT B0RAT_8 | ||
285 | #endif | ||
286 | #if (flash_EBIU_AMBCTL_RAT == 7) | ||
287 | #define flash_EBIU_AMBCTL0_RAT B0RAT_7 | ||
288 | #endif | ||
289 | #if (flash_EBIU_AMBCTL_RAT == 6) | ||
290 | #define flash_EBIU_AMBCTL0_RAT B0RAT_6 | ||
291 | #endif | ||
292 | #if (flash_EBIU_AMBCTL_RAT == 5) | ||
293 | #define flash_EBIU_AMBCTL0_RAT B0RAT_5 | ||
294 | #endif | ||
295 | #if (flash_EBIU_AMBCTL_RAT == 4) | ||
296 | #define flash_EBIU_AMBCTL0_RAT B0RAT_4 | ||
297 | #endif | ||
298 | #if (flash_EBIU_AMBCTL_RAT == 3) | ||
299 | #define flash_EBIU_AMBCTL0_RAT B0RAT_3 | ||
300 | #endif | ||
301 | #if (flash_EBIU_AMBCTL_RAT == 2) | ||
302 | #define flash_EBIU_AMBCTL0_RAT B0RAT_2 | ||
303 | #endif | ||
304 | #if (flash_EBIU_AMBCTL_RAT == 1) | ||
305 | #define flash_EBIU_AMBCTL0_RAT B0RAT_1 | ||
306 | #endif | ||
307 | |||
308 | #define flash_EBIU_AMBCTL0 \ | ||
309 | (flash_EBIU_AMBCTL0_WAT | flash_EBIU_AMBCTL0_RAT | flash_EBIU_AMBCTL0_HT | \ | ||
310 | flash_EBIU_AMBCTL0_ST | flash_EBIU_AMBCTL0_TT | CONFIG_FLASH_SPEED_RDYEN) | ||
diff --git a/arch/blackfin/mach-bf527/include/mach/mem_map.h b/arch/blackfin/mach-bf527/include/mach/mem_map.h index ef46dc991cd4..019e0017ad81 100644 --- a/arch/blackfin/mach-bf527/include/mach/mem_map.h +++ b/arch/blackfin/mach-bf527/include/mach/mem_map.h | |||
@@ -99,4 +99,10 @@ | |||
99 | #define L1_SCRATCH_START 0xFFB00000 | 99 | #define L1_SCRATCH_START 0xFFB00000 |
100 | #define L1_SCRATCH_LENGTH 0x1000 | 100 | #define L1_SCRATCH_LENGTH 0x1000 |
101 | 101 | ||
102 | #define GET_PDA_SAFE(preg) \ | ||
103 | preg.l = _cpu_pda; \ | ||
104 | preg.h = _cpu_pda; | ||
105 | |||
106 | #define GET_PDA(preg, dreg) GET_PDA_SAFE(preg) | ||
107 | |||
102 | #endif /* _MEM_MAP_527_H_ */ | 108 | #endif /* _MEM_MAP_527_H_ */ |