aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf548/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-10-13 13:08:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-13 13:08:43 -0400
commit54cebc68c81eacac41a21bdfe99dc889d3882c60 (patch)
treeda1d3872c6ddf208768e784bd1ea09054a81462d /arch/blackfin/mach-bf548/include
parentfffdedef691a0f6fa7ca1fc0a2a508cbb49def69 (diff)
parent71de1f8a6365ea65346881e526132563d93696d1 (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: (60 commits) Blackfin arch: make sure we include the fix for SPORT hysteresis when reprogramming clocks Blackfin arch: Fix bogus str_ident check in gpio code Blackfin arch: AD7879 Touchscreen driver Blackfin arch: introducing bfin_addr_dcachable Blackfin arch: fix a typo in comments Blackfin arch: Remove useless head file Blackfin arch: make sure L2 start and length are always defined (fixes building on BF542) Blackfin arch: use the Blackfin on-chip ROM to do software reset when possible Blackfin arch: update anomaly headers to match the latest sheet Blackfin arch: bfin_reset() is an internal reboot function ... everyone should go through machine_restart() Blackfin arch: print out error/warning if you are running on the incorrect CPU type Blackfin arch: remove non-bf54x ifdef logic since this file is only compiled on bf54x parts Blackfin arch: update board defconfigs Blackfin arch: Add optional verbose debug Blackfin arch: emulate a TTY over the EMUDAT/JTAG interface Blackfin arch: have is_user_addr_valid() check for overflows (like when address is -1) Blackfin arch: ptrace - fix off-by-one check on end of memory regions Blackfin arch: Enable framebuffer support for the BF526-EZkit TFT LCD display Blackfin arch: flash memory map and dm9000 resources updating Blackfin arch: early prink code still use uart core console functions to parse and set configure option string ...
Diffstat (limited to 'arch/blackfin/mach-bf548/include')
-rw-r--r--arch/blackfin/mach-bf548/include/mach/anomaly.h93
-rw-r--r--arch/blackfin/mach-bf548/include/mach/bf548.h25
-rw-r--r--arch/blackfin/mach-bf548/include/mach/mem_map.h14
3 files changed, 105 insertions, 27 deletions
diff --git a/arch/blackfin/mach-bf548/include/mach/anomaly.h b/arch/blackfin/mach-bf548/include/mach/anomaly.h
index 3ad59655881a..816b09278f62 100644
--- a/arch/blackfin/mach-bf548/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf548/include/mach/anomaly.h
@@ -2,18 +2,18 @@
2 * File: include/asm-blackfin/mach-bf548/anomaly.h 2 * File: include/asm-blackfin/mach-bf548/anomaly.h
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * Bugs: Enter bugs at http://blackfin.uclinux.org/
4 * 4 *
5 * Copyright (C) 2004-2007 Analog Devices Inc. 5 * Copyright (C) 2004-2008 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 6 * Licensed under the GPL-2 or later.
7 */ 7 */
8 8
9/* This file shoule be up to date with: 9/* This file shoule be up to date with:
10 * - Revision E, 11/28/2007; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List 10 * - Revision G, 08/07/2008; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List
11 */ 11 */
12 12
13#ifndef _MACH_ANOMALY_H_ 13#ifndef _MACH_ANOMALY_H_
14#define _MACH_ANOMALY_H_ 14#define _MACH_ANOMALY_H_
15 15
16/* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot 2 Not Supported */ 16/* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */
17#define ANOMALY_05000074 (1) 17#define ANOMALY_05000074 (1)
18/* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ 18/* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */
19#define ANOMALY_05000119 (1) 19#define ANOMALY_05000119 (1)
@@ -36,14 +36,14 @@
36/* TWI Slave Boot Mode Is Not Functional */ 36/* TWI Slave Boot Mode Is Not Functional */
37#define ANOMALY_05000324 (__SILICON_REVISION__ < 1) 37#define ANOMALY_05000324 (__SILICON_REVISION__ < 1)
38/* External FIFO Boot Mode Is Not Functional */ 38/* External FIFO Boot Mode Is Not Functional */
39#define ANOMALY_05000325 (__SILICON_REVISION__ < 1) 39#define ANOMALY_05000325 (__SILICON_REVISION__ < 2)
40/* Data Lost When Core and DMA Accesses Are Made to the USB FIFO Simultaneously */ 40/* Data Lost When Core and DMA Accesses Are Made to the USB FIFO Simultaneously */
41#define ANOMALY_05000327 (__SILICON_REVISION__ < 1) 41#define ANOMALY_05000327 (__SILICON_REVISION__ < 1)
42/* Incorrect Access of OTP_STATUS During otp_write() Function */ 42/* Incorrect Access of OTP_STATUS During otp_write() Function */
43#define ANOMALY_05000328 (__SILICON_REVISION__ < 1) 43#define ANOMALY_05000328 (__SILICON_REVISION__ < 1)
44/* Synchronous Burst Flash Boot Mode Is Not Functional */ 44/* Synchronous Burst Flash Boot Mode Is Not Functional */
45#define ANOMALY_05000329 (__SILICON_REVISION__ < 1) 45#define ANOMALY_05000329 (__SILICON_REVISION__ < 1)
46/* Host DMA Boot Mode Is Not Functional */ 46/* Host DMA Boot Modes Are Not Functional */
47#define ANOMALY_05000330 (__SILICON_REVISION__ < 1) 47#define ANOMALY_05000330 (__SILICON_REVISION__ < 1)
48/* Inadequate Timing Margins on DDR DQS to DQ and DQM Skew */ 48/* Inadequate Timing Margins on DDR DQS to DQ and DQM Skew */
49#define ANOMALY_05000334 (__SILICON_REVISION__ < 1) 49#define ANOMALY_05000334 (__SILICON_REVISION__ < 1)
@@ -61,26 +61,102 @@
61#define ANOMALY_05000344 (__SILICON_REVISION__ < 1) 61#define ANOMALY_05000344 (__SILICON_REVISION__ < 1)
62/* USB Calibration Value Is Not Intialized */ 62/* USB Calibration Value Is Not Intialized */
63#define ANOMALY_05000346 (__SILICON_REVISION__ < 1) 63#define ANOMALY_05000346 (__SILICON_REVISION__ < 1)
64/* Boot ROM Kernel Incorrectly Alters Reset Value of USB Register */ 64/* USB Calibration Value to use */
65#define ANOMALY_05000346_value 0x5411
66/* Preboot Routine Incorrectly Alters Reset Value of USB Register */
65#define ANOMALY_05000347 (__SILICON_REVISION__ < 1) 67#define ANOMALY_05000347 (__SILICON_REVISION__ < 1)
66/* Data Lost when Core Reads SDH Data FIFO */ 68/* Data Lost when Core Reads SDH Data FIFO */
67#define ANOMALY_05000349 (__SILICON_REVISION__ < 1) 69#define ANOMALY_05000349 (__SILICON_REVISION__ < 1)
68/* PLL Status Register Is Inaccurate */ 70/* PLL Status Register Is Inaccurate */
69#define ANOMALY_05000351 (__SILICON_REVISION__ < 1) 71#define ANOMALY_05000351 (__SILICON_REVISION__ < 1)
72/* bfrom_SysControl() Firmware Function Performs Improper System Reset */
73#define ANOMALY_05000353 (__SILICON_REVISION__ < 2)
74/* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */
75#define ANOMALY_05000355 (__SILICON_REVISION__ < 1)
76/* System Stalled During A Core Access To AMC While A Core Access To NFC FIFO Is Required */
77#define ANOMALY_05000356 (__SILICON_REVISION__ < 1)
70/* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ 78/* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */
71#define ANOMALY_05000357 (1) 79#define ANOMALY_05000357 (1)
72/* External Memory Read Access Hangs Core With PLL Bypass */ 80/* External Memory Read Access Hangs Core With PLL Bypass */
73#define ANOMALY_05000360 (1) 81#define ANOMALY_05000360 (1)
74/* DMAs that Go Urgent during Tight Core Writes to External Memory Are Blocked */ 82/* DMAs that Go Urgent during Tight Core Writes to External Memory Are Blocked */
75#define ANOMALY_05000365 (1) 83#define ANOMALY_05000365 (1)
84/* WURESET Bit In SYSCR Register Does Not Properly Indicate Hibernate Wake-Up */
85#define ANOMALY_05000367 (__SILICON_REVISION__ < 1)
76/* Addressing Conflict between Boot ROM and Asynchronous Memory */ 86/* Addressing Conflict between Boot ROM and Asynchronous Memory */
77#define ANOMALY_05000369 (1) 87#define ANOMALY_05000369 (1)
88/* Default PLL MSEL and SSEL Settings Can Cause 400MHz Product To Violate Specifications */
89#define ANOMALY_05000370 (__SILICON_REVISION__ < 1)
78/* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ 90/* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */
79#define ANOMALY_05000371 (1) 91#define ANOMALY_05000371 (__SILICON_REVISION__ < 2)
92/* USB DP/DM Data Pins May Lose State When Entering Hibernate */
93#define ANOMALY_05000372 (__SILICON_REVISION__ < 1)
80/* Mobile DDR Operation Not Functional */ 94/* Mobile DDR Operation Not Functional */
81#define ANOMALY_05000377 (1) 95#define ANOMALY_05000377 (1)
82/* Security/Authentication Speedpath Causes Authentication To Fail To Initiate */ 96/* Security/Authentication Speedpath Causes Authentication To Fail To Initiate */
83#define ANOMALY_05000378 (1) 97#define ANOMALY_05000378 (__SILICON_REVISION__ < 2)
98/* 16-Bit NAND FLASH Boot Mode Is Not Functional */
99#define ANOMALY_05000379 (1)
100/* 8-Bit NAND Flash Boot Mode Not Functional */
101#define ANOMALY_05000382 (__SILICON_REVISION__ < 1)
102/* Some ATAPI Modes Are Not Functional */
103#define ANOMALY_05000383 (1)
104/* Boot from OTP Memory Not Functional */
105#define ANOMALY_05000385 (__SILICON_REVISION__ < 1)
106/* bfrom_SysControl() Firmware Routine Not Functional */
107#define ANOMALY_05000386 (__SILICON_REVISION__ < 1)
108/* Programmable Preboot Settings Not Functional */
109#define ANOMALY_05000387 (__SILICON_REVISION__ < 1)
110/* CRC32 Checksum Support Not Functional */
111#define ANOMALY_05000388 (__SILICON_REVISION__ < 1)
112/* Reset Vector Must Not Be in SDRAM Memory Space */
113#define ANOMALY_05000389 (__SILICON_REVISION__ < 1)
114/* Changed Meaning of BCODE Field in SYSCR Register */
115#define ANOMALY_05000390 (__SILICON_REVISION__ < 1)
116/* Repeated Boot from Page-Mode or Burst-Mode Flash Memory May Fail */
117#define ANOMALY_05000391 (__SILICON_REVISION__ < 1)
118/* pTempCurrent Not Present in ADI_BOOT_DATA Structure */
119#define ANOMALY_05000392 (__SILICON_REVISION__ < 1)
120/* Deprecated Value of dTempByteCount in ADI_BOOT_DATA Structure */
121#define ANOMALY_05000393 (__SILICON_REVISION__ < 1)
122/* Log Buffer Not Functional */
123#define ANOMALY_05000394 (__SILICON_REVISION__ < 1)
124/* Hook Routine Not Functional */
125#define ANOMALY_05000395 (__SILICON_REVISION__ < 1)
126/* Header Indirect Bit Not Functional */
127#define ANOMALY_05000396 (__SILICON_REVISION__ < 1)
128/* BK_ONES, BK_ZEROS, and BK_DATECODE Constants Not Functional */
129#define ANOMALY_05000397 (__SILICON_REVISION__ < 1)
130/* Lockbox SESR Disallows Certain User Interrupts */
131#define ANOMALY_05000404 (__SILICON_REVISION__ < 2)
132/* Lockbox SESR Firmware Does Not Save/Restore Full Context */
133#define ANOMALY_05000405 (1)
134/* Lockbox SESR Argument Checking Does Not Check L2 Memory Protection Range */
135#define ANOMALY_05000406 (__SILICON_REVISION__ < 2)
136/* Lockbox SESR Firmware Arguments Are Not Retained After First Initialization */
137#define ANOMALY_05000407 (__SILICON_REVISION__ < 2)
138/* Lockbox Firmware Memory Cleanup Routine Does not Clear Registers */
139#define ANOMALY_05000408 (1)
140/* Lockbox firmware leaves MDMA0 channel enabled */
141#define ANOMALY_05000409 (__SILICON_REVISION__ < 2)
142/* bfrom_SysControl() Firmware Function Cannot be Used to Enter Power Saving Modes */
143#define ANOMALY_05000411 (__SILICON_REVISION__ < 2)
144/* NAND Boot Mode Not Compatible With Some NAND Flash Devices */
145#define ANOMALY_05000413 (__SILICON_REVISION__ < 2)
146/* OTP_CHECK_FOR_PREV_WRITE Bit is Not Functional in bfrom_OtpWrite() API */
147#define ANOMALY_05000414 (__SILICON_REVISION__ < 2)
148/* Speculative Fetches Can Cause Undesired External FIFO Operations */
149#define ANOMALY_05000416 (1)
150/* Multichannel SPORT Channel Misalignment Under Specific Configuration */
151#define ANOMALY_05000425 (1)
152/* Speculative Fetches of Indirect-Pointer Instructions Can Cause Spurious Hardware Errors */
153#define ANOMALY_05000426 (1)
154/* CORE_EPPI_PRIO bit and SYS_EPPI_PRIO bit in the HMDMA1_CONTROL register are not functional */
155#define ANOMALY_05000427 (__SILICON_REVISION__ < 2)
156/* WB_EDGE Bit in NFC_IRQSTAT Incorrectly Behaves as a Buffer Status Bit Instead of an IRQ Status Bit */
157#define ANOMALY_05000429 (__SILICON_REVISION__ < 2)
158/* Software System Reset Corrupts PLL_LOCKCNT Register */
159#define ANOMALY_05000430 (__SILICON_REVISION__ >= 2)
84 160
85/* Anomalies that don't exist on this proc */ 161/* Anomalies that don't exist on this proc */
86#define ANOMALY_05000125 (0) 162#define ANOMALY_05000125 (0)
@@ -93,6 +169,7 @@
93#define ANOMALY_05000263 (0) 169#define ANOMALY_05000263 (0)
94#define ANOMALY_05000266 (0) 170#define ANOMALY_05000266 (0)
95#define ANOMALY_05000273 (0) 171#define ANOMALY_05000273 (0)
172#define ANOMALY_05000307 (0)
96#define ANOMALY_05000311 (0) 173#define ANOMALY_05000311 (0)
97#define ANOMALY_05000323 (0) 174#define ANOMALY_05000323 (0)
98#define ANOMALY_05000363 (0) 175#define ANOMALY_05000363 (0)
diff --git a/arch/blackfin/mach-bf548/include/mach/bf548.h b/arch/blackfin/mach-bf548/include/mach/bf548.h
index e748588e8930..49f9b403d458 100644
--- a/arch/blackfin/mach-bf548/include/mach/bf548.h
+++ b/arch/blackfin/mach-bf548/include/mach/bf548.h
@@ -30,8 +30,6 @@
30#ifndef __MACH_BF548_H__ 30#ifndef __MACH_BF548_H__
31#define __MACH_BF548_H__ 31#define __MACH_BF548_H__
32 32
33#define SUPPORTED_REVID 0
34
35#define OFFSET_(x) ((x) & 0x0000FFFF) 33#define OFFSET_(x) ((x) & 0x0000FFFF)
36 34
37/*some misc defines*/ 35/*some misc defines*/
@@ -108,20 +106,23 @@
108 106
109#if defined(CONFIG_BF542) 107#if defined(CONFIG_BF542)
110# define CPU "BF542" 108# define CPU "BF542"
111# define CPUID 0x027c8000 109# define CPUID 0x27de
112#elif defined(CONFIG_BF544) 110#elif defined(CONFIG_BF544)
113# define CPU "BF544" 111# define CPU "BF544"
114# define CPUID 0x027c8000 112# define CPUID 0x27de
115#elif defined(CONFIG_BF547) 113#elif defined(CONFIG_BF547)
116# define CPU "BF547" 114# define CPU "BF547"
115# define CPUID 0x27de
117#elif defined(CONFIG_BF548) 116#elif defined(CONFIG_BF548)
118# define CPU "BF548" 117# define CPU "BF548"
119# define CPUID 0x027c6000 118# define CPUID 0x27de
120#elif defined(CONFIG_BF549) 119#elif defined(CONFIG_BF549)
121# define CPU "BF549" 120# define CPU "BF549"
122#else 121# define CPUID 0x27de
123# define CPU "UNKNOWN" 122#endif
124# define CPUID 0x0 123
124#ifndef CPU
125#error Unknown CPU type - This kernel doesn't seem to be configured properly
125#endif 126#endif
126 127
127#endif /* __MACH_BF48_H__ */ 128#endif /* __MACH_BF48_H__ */
diff --git a/arch/blackfin/mach-bf548/include/mach/mem_map.h b/arch/blackfin/mach-bf548/include/mach/mem_map.h
index f99f47bc3a07..a2228428dc06 100644
--- a/arch/blackfin/mach-bf548/include/mach/mem_map.h
+++ b/arch/blackfin/mach-bf548/include/mach/mem_map.h
@@ -94,13 +94,13 @@
94#endif /*CONFIG_BFIN_DCACHE*/ 94#endif /*CONFIG_BFIN_DCACHE*/
95 95
96/* Level 2 Memory */ 96/* Level 2 Memory */
97#if !defined(CONFIG_BF542) 97#define L2_START 0xFEB00000
98# define L2_START 0xFEB00000 98#if defined(CONFIG_BF542)
99# if defined(CONFIG_BF544) 99# define L2_LENGTH 0
100# define L2_LENGTH 0x10000 100#elif defined(CONFIG_BF544)
101# else 101# define L2_LENGTH 0x10000
102# define L2_LENGTH 0x20000 102#else
103# endif 103# define L2_LENGTH 0x20000
104#endif 104#endif
105 105
106/* Scratch Pad Memory */ 106/* Scratch Pad Memory */