forked from mirrors/linux
		
	arch: remove blackfin port
The Analog Devices Blackfin port was added in 2007 and was rather active for a while, but all work on it has come to a standstill over time, as Analog have changed their product line-up. Aaron Wu confirmed that the architecture port is no longer relevant, and multiple people suggested removing blackfin independently because of some of its oddities like a non-working SMP port, and the amount of duplication between the chip variants, which cause extra work when doing cross-architecture changes. Link: https://docs.blackfin.uclinux.org/ Acked-by: Aaron Wu <Aaron.Wu@analog.com> Acked-by: Bryan Wu <cooloney@gmail.com> Cc: Steven Miao <realmz6@gmail.com> Cc: Mike Frysinger <vapier@chromium.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
		
							parent
							
								
									b8c9c8f019
								
							
						
					
					
						commit
						4ba66a9760
					
				
					 475 changed files with 2 additions and 123907 deletions
				
			
		|  | @ -66,8 +66,6 @@ backlight/ | ||||||
| 	- directory with info on controlling backlights in flat panel displays | 	- directory with info on controlling backlights in flat panel displays | ||||||
| bcache.txt | bcache.txt | ||||||
| 	- Block-layer cache on fast SSDs to improve slow (raid) I/O performance. | 	- Block-layer cache on fast SSDs to improve slow (raid) I/O performance. | ||||||
| blackfin/ |  | ||||||
| 	- directory with documentation for the Blackfin arch. |  | ||||||
| block/ | block/ | ||||||
| 	- info on the Block I/O (BIO) layer. | 	- info on the Block I/O (BIO) layer. | ||||||
| blockdev/ | blockdev/ | ||||||
|  |  | ||||||
|  | @ -89,7 +89,6 @@ parameter is applicable:: | ||||||
| 	APM	Advanced Power Management support is enabled. | 	APM	Advanced Power Management support is enabled. | ||||||
| 	ARM	ARM architecture is enabled. | 	ARM	ARM architecture is enabled. | ||||||
| 	AX25	Appropriate AX.25 support is enabled. | 	AX25	Appropriate AX.25 support is enabled. | ||||||
| 	BLACKFIN Blackfin architecture is enabled. |  | ||||||
| 	CLK	Common clock infrastructure is enabled. | 	CLK	Common clock infrastructure is enabled. | ||||||
| 	CMA	Contiguous Memory Area support is enabled. | 	CMA	Contiguous Memory Area support is enabled. | ||||||
| 	DRM	Direct Rendering Management support is enabled. | 	DRM	Direct Rendering Management support is enabled. | ||||||
|  |  | ||||||
|  | @ -1025,7 +1025,7 @@ | ||||||
| 			address. The serial port must already be setup | 			address. The serial port must already be setup | ||||||
| 			and configured. Options are not yet supported. | 			and configured. Options are not yet supported. | ||||||
| 
 | 
 | ||||||
| 	earlyprintk=	[X86,SH,BLACKFIN,ARM,M68k,S390] | 	earlyprintk=	[X86,SH,ARM,M68k,S390] | ||||||
| 			earlyprintk=vga | 			earlyprintk=vga | ||||||
| 			earlyprintk=efi | 			earlyprintk=efi | ||||||
| 			earlyprintk=sclp | 			earlyprintk=sclp | ||||||
|  |  | ||||||
|  | @ -1,6 +0,0 @@ | ||||||
| 00-INDEX |  | ||||||
| 	- This file |  | ||||||
| bfin-gpio-notes.txt |  | ||||||
| 	- Notes in developing/using bfin-gpio driver. |  | ||||||
| bfin-spi-notes.txt |  | ||||||
| 	- Notes for using bfin spi bus driver. |  | ||||||
|  | @ -1,71 +0,0 @@ | ||||||
| /* |  | ||||||
|  * File:         Documentation/blackfin/bfin-gpio-notes.txt |  | ||||||
|  * Based on: |  | ||||||
|  * Author: |  | ||||||
|  * |  | ||||||
|  * Created:      $Id: bfin-gpio-note.txt 2008-11-24 16:42 grafyang $ |  | ||||||
|  * Description:  This file contains the notes in developing/using bfin-gpio. |  | ||||||
|  * |  | ||||||
|  * |  | ||||||
|  * Rev: |  | ||||||
|  * |  | ||||||
|  * Modified: |  | ||||||
|  *               Copyright 2004-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Bugs:         Enter bugs at http://blackfin.uclinux.org/ |  | ||||||
|  * |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 1. Blackfin GPIO introduction |  | ||||||
| 
 |  | ||||||
|     There are many GPIO pins on Blackfin. Most of these pins are muxed to |  | ||||||
|     multi-functions. They can be configured as peripheral, or just as GPIO, |  | ||||||
|     configured to input with interrupt enabled, or output. |  | ||||||
| 
 |  | ||||||
|     For detailed information, please see "arch/blackfin/kernel/bfin_gpio.c", |  | ||||||
|     or the relevant HRM. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 2. Avoiding resource conflict |  | ||||||
| 
 |  | ||||||
|     Followed function groups are used to avoiding resource conflict, |  | ||||||
|     - Use the pin as peripheral, |  | ||||||
| 	int peripheral_request(unsigned short per, const char *label); |  | ||||||
| 	int peripheral_request_list(const unsigned short per[], const char *label); |  | ||||||
| 	void peripheral_free(unsigned short per); |  | ||||||
| 	void peripheral_free_list(const unsigned short per[]); |  | ||||||
|     - Use the pin as GPIO, |  | ||||||
| 	int bfin_gpio_request(unsigned gpio, const char *label); |  | ||||||
| 	void bfin_gpio_free(unsigned gpio); |  | ||||||
|     - Use the pin as GPIO interrupt, |  | ||||||
| 	int bfin_gpio_irq_request(unsigned gpio, const char *label); |  | ||||||
| 	void bfin_gpio_irq_free(unsigned gpio); |  | ||||||
| 
 |  | ||||||
|     The request functions will record the function state for a certain pin, |  | ||||||
|     the free functions will clear its function state. |  | ||||||
|     Once a pin is requested, it can't be requested again before it is freed by |  | ||||||
|     previous caller, otherwise kernel will dump stacks, and the request |  | ||||||
|     function fail. |  | ||||||
|     These functions are wrapped by other functions, most of the users need not |  | ||||||
|     care. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 3. But there are some exceptions |  | ||||||
|     - Kernel permit the identical GPIO be requested both as GPIO and GPIO |  | ||||||
|     interrupt. |  | ||||||
|     Some drivers, like gpio-keys, need this behavior. Kernel only print out |  | ||||||
|     warning messages like, |  | ||||||
| 	bfin-gpio: GPIO 24 is already reserved by gpio-keys: BTN0, and you are |  | ||||||
| configuring it as IRQ! |  | ||||||
| 
 |  | ||||||
|         Note: Consider the case that, if there are two drivers need the |  | ||||||
| 	identical GPIO, one of them use it as GPIO, the other use it as |  | ||||||
| 	GPIO interrupt. This will really cause resource conflict. So if |  | ||||||
| 	there is any abnormal driver behavior, please check the bfin-gpio |  | ||||||
| 	warning messages. |  | ||||||
| 
 |  | ||||||
|     - Kernel permit the identical GPIO be requested from the same driver twice. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  | @ -1,16 +0,0 @@ | ||||||
| SPI Chip Select behavior: |  | ||||||
| 
 |  | ||||||
| With the Blackfin on-chip SPI peripheral, there is some logic tied to the CPHA |  | ||||||
| bit whether the Slave Select Line is controlled by hardware (CPHA=0) or |  | ||||||
| controlled by software (CPHA=1). However, the Linux SPI bus driver assumes that |  | ||||||
| the Slave Select is always under software control and being asserted during |  | ||||||
| the entire SPI transfer. - And not just bits_per_word duration. |  | ||||||
| 
 |  | ||||||
| In most cases you can utilize SPI MODE_3 instead of MODE_0 to work-around this |  | ||||||
| behavior. If your SPI slave device in question requires SPI MODE_0 or MODE_2 |  | ||||||
| timing, you can utilize the GPIO controlled SPI Slave Select option instead. |  | ||||||
| In this case, you should use GPIO based CS for all of your slaves and not just |  | ||||||
| the ones using mode 0 or 2 in order to guarantee correct CS toggling behavior. |  | ||||||
| 
 |  | ||||||
| You can even use the same pin whose peripheral role is a SSEL, |  | ||||||
| but use it as a GPIO instead. |  | ||||||
							
								
								
									
										45
									
								
								MAINTAINERS
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								MAINTAINERS
									
									
									
									
									
								
							|  | @ -2629,51 +2629,6 @@ F:	Documentation/filesystems/bfs.txt | ||||||
| F:	fs/bfs/ | F:	fs/bfs/ | ||||||
| F:	include/uapi/linux/bfs_fs.h | F:	include/uapi/linux/bfs_fs.h | ||||||
| 
 | 
 | ||||||
| BLACKFIN ARCHITECTURE |  | ||||||
| L:	adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) |  | ||||||
| T:	git git://git.code.sf.net/p/adi-linux/code |  | ||||||
| W:	http://blackfin.uclinux.org |  | ||||||
| S:	Orphan |  | ||||||
| F:	arch/blackfin/ |  | ||||||
| 
 |  | ||||||
| BLACKFIN EMAC DRIVER |  | ||||||
| L:	adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) |  | ||||||
| W:	http://blackfin.uclinux.org |  | ||||||
| S:	Orphan |  | ||||||
| F:	drivers/net/ethernet/adi/ |  | ||||||
| 
 |  | ||||||
| BLACKFIN MEDIA DRIVER |  | ||||||
| L:	adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) |  | ||||||
| W:	http://blackfin.uclinux.org/ |  | ||||||
| S:	Orphan |  | ||||||
| F:	drivers/media/platform/blackfin/ |  | ||||||
| F:	drivers/media/i2c/adv7183* |  | ||||||
| F:	drivers/media/i2c/vs6624* |  | ||||||
| 
 |  | ||||||
| BLACKFIN RTC DRIVER |  | ||||||
| L:	adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) |  | ||||||
| W:	http://blackfin.uclinux.org |  | ||||||
| S:	Orphan |  | ||||||
| F:	drivers/rtc/rtc-bfin.c |  | ||||||
| 
 |  | ||||||
| BLACKFIN SDH DRIVER |  | ||||||
| L:	adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) |  | ||||||
| W:	http://blackfin.uclinux.org |  | ||||||
| S:	Orphan |  | ||||||
| F:	drivers/mmc/host/bfin_sdh.c |  | ||||||
| 
 |  | ||||||
| BLACKFIN SERIAL DRIVER |  | ||||||
| L:	adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) |  | ||||||
| W:	http://blackfin.uclinux.org |  | ||||||
| S:	Orphan |  | ||||||
| F:	drivers/tty/serial/bfin_uart.c |  | ||||||
| 
 |  | ||||||
| BLACKFIN WATCHDOG DRIVER |  | ||||||
| L:	adi-buildroot-devel@lists.sourceforge.net (moderated for non-subscribers) |  | ||||||
| W:	http://blackfin.uclinux.org |  | ||||||
| S:	Orphan |  | ||||||
| F:	drivers/watchdog/bfin_wdt.c |  | ||||||
| 
 |  | ||||||
| BLINKM RGB LED DRIVER | BLINKM RGB LED DRIVER | ||||||
| M:	Jan-Simon Moeller <jansimon.moeller@gmx.de> | M:	Jan-Simon Moeller <jansimon.moeller@gmx.de> | ||||||
| S:	Maintained | S:	Maintained | ||||||
|  |  | ||||||
|  | @ -1,33 +0,0 @@ | ||||||
| The Clear BSD license: |  | ||||||
| 
 |  | ||||||
| Copyright (c) 2012, Analog Devices, Inc.  All rights reserved. |  | ||||||
| 
 |  | ||||||
| Redistribution and use in source and binary forms, with or without |  | ||||||
| modification, are permitted (subject to the limitations in the |  | ||||||
| disclaimer below) provided that the following conditions are met: |  | ||||||
| 
 |  | ||||||
| * Redistributions of source code must retain the above copyright |  | ||||||
|    notice, this list of conditions and the following disclaimer. |  | ||||||
| 
 |  | ||||||
| * Redistributions in binary form must reproduce the above copyright |  | ||||||
|    notice, this list of conditions and the following disclaimer in the |  | ||||||
|    documentation and/or other materials provided with the |  | ||||||
|    distribution. |  | ||||||
| 
 |  | ||||||
| * Neither the name of Analog Devices, Inc.  nor the names of its |  | ||||||
|    contributors may be used to endorse or promote products derived |  | ||||||
|    from this software without specific prior written permission. |  | ||||||
| 
 |  | ||||||
| NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE |  | ||||||
| GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT |  | ||||||
| HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED |  | ||||||
| WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |  | ||||||
| MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |  | ||||||
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |  | ||||||
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |  | ||||||
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |  | ||||||
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR |  | ||||||
| BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |  | ||||||
| WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE |  | ||||||
| OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN |  | ||||||
| IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  | ||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -1,258 +0,0 @@ | ||||||
| # SPDX-License-Identifier: GPL-2.0 |  | ||||||
| menu "Kernel hacking" |  | ||||||
| 
 |  | ||||||
| source "lib/Kconfig.debug" |  | ||||||
| 
 |  | ||||||
| config DEBUG_VERBOSE |  | ||||||
| 	bool "Verbose fault messages" |  | ||||||
| 	default y |  | ||||||
| 	select PRINTK |  | ||||||
| 	help |  | ||||||
| 	  When a program crashes due to an exception, or the kernel detects |  | ||||||
| 	  an internal error, the kernel can print a not so brief message |  | ||||||
| 	  explaining what the problem was. This debugging information is |  | ||||||
| 	  useful to developers and kernel hackers when tracking down problems, |  | ||||||
| 	  but mostly meaningless to other people. This is always helpful for |  | ||||||
| 	  debugging but serves no purpose on a production system. |  | ||||||
| 	  Most people should say N here. |  | ||||||
| 
 |  | ||||||
| config DEBUG_MMRS |  | ||||||
| 	tristate "Generate Blackfin MMR tree" |  | ||||||
| 	depends on !PINCTRL |  | ||||||
| 	select DEBUG_FS |  | ||||||
| 	help |  | ||||||
| 	  Create a tree of Blackfin MMRs via the debugfs tree.  If |  | ||||||
| 	  you enable this, you will find all MMRs laid out in the |  | ||||||
| 	  /sys/kernel/debug/blackfin/ directory where you can read/write |  | ||||||
| 	  MMRs directly from userspace.  This is obviously just a debug |  | ||||||
| 	  feature. |  | ||||||
| 
 |  | ||||||
| config DEBUG_HWERR |  | ||||||
| 	bool "Hardware error interrupt debugging" |  | ||||||
| 	depends on DEBUG_KERNEL |  | ||||||
| 	help |  | ||||||
| 	  When enabled, the hardware error interrupt is never disabled, and |  | ||||||
| 	  will happen immediately when an error condition occurs.  This comes |  | ||||||
| 	  at a slight cost in code size, but is necessary if you are getting |  | ||||||
| 	  hardware error interrupts and need to know where they are coming |  | ||||||
| 	  from. |  | ||||||
| 
 |  | ||||||
| config EXACT_HWERR |  | ||||||
| 	bool "Try to make Hardware errors exact" |  | ||||||
| 	depends on DEBUG_HWERR |  | ||||||
| 	help |  | ||||||
| 	  By default, the Blackfin hardware errors are not exact - the error |  | ||||||
|           be reported multiple cycles after the error happens. This delay |  | ||||||
| 	  can cause the wrong application, or even the kernel to receive a |  | ||||||
| 	  signal to be killed. If you are getting HW errors in your system, |  | ||||||
| 	  try turning this on to ensure they are at least coming from the |  | ||||||
| 	  proper thread. |  | ||||||
| 
 |  | ||||||
| 	  On production systems, it is safe (and a small optimization) to say N. |  | ||||||
| 
 |  | ||||||
| config DEBUG_DOUBLEFAULT |  | ||||||
| 	bool "Debug Double Faults" |  | ||||||
| 	default n |  | ||||||
| 	help |  | ||||||
| 	  If an exception is caused while executing code within the exception |  | ||||||
| 	  handler, the NMI handler, the reset vector, or in emulator mode, |  | ||||||
| 	  a double fault occurs. On the Blackfin, this is a unrecoverable |  | ||||||
| 	  event. You have two options: |  | ||||||
| 	  - RESET exactly when double fault occurs. The excepting |  | ||||||
| 	    instruction address is stored in RETX, where the next kernel |  | ||||||
| 	    boot will print it out. |  | ||||||
| 	  - Print debug message. This is much more error prone, although |  | ||||||
| 	    easier to handle. It is error prone since: |  | ||||||
| 	    - The excepting instruction is not committed. |  | ||||||
| 	    - All writebacks from the instruction are prevented. |  | ||||||
| 	    - The generated exception is not taken. |  | ||||||
| 	    - The EXCAUSE field is updated with an unrecoverable event |  | ||||||
| 	    The only way to check this is to see if EXCAUSE contains the |  | ||||||
| 	    unrecoverable event value at every exception return. By selecting |  | ||||||
| 	    this option, you are skipping over the faulting instruction, and  |  | ||||||
| 	    hoping things stay together enough to print out a debug message. |  | ||||||
| 
 |  | ||||||
| 	  This does add a little kernel code, but is the only method to debug |  | ||||||
| 	  double faults - if unsure say "Y" |  | ||||||
| 
 |  | ||||||
| choice |  | ||||||
| 	prompt "Double Fault Failure Method" |  | ||||||
| 	default DEBUG_DOUBLEFAULT_PRINT |  | ||||||
| 	depends on DEBUG_DOUBLEFAULT |  | ||||||
| 
 |  | ||||||
| config DEBUG_DOUBLEFAULT_PRINT |  | ||||||
| 	bool "Print" |  | ||||||
| 
 |  | ||||||
| config DEBUG_DOUBLEFAULT_RESET |  | ||||||
| 	bool "Reset" |  | ||||||
| 
 |  | ||||||
| endchoice |  | ||||||
| 
 |  | ||||||
| config DEBUG_HUNT_FOR_ZERO |  | ||||||
| 	bool "Catch NULL pointer reads/writes" |  | ||||||
| 	default y |  | ||||||
| 	help |  | ||||||
| 	  Say Y here to catch reads/writes to anywhere in the memory range |  | ||||||
| 	  from 0x0000 - 0x0FFF (the first 4k) of memory.  This is useful in |  | ||||||
| 	  catching common programming errors such as NULL pointer dereferences. |  | ||||||
| 
 |  | ||||||
| 	  Misbehaving applications will be killed (generate a SEGV) while the |  | ||||||
| 	  kernel will trigger a panic. |  | ||||||
| 
 |  | ||||||
| 	  Enabling this option will take up an extra entry in CPLB table. |  | ||||||
| 	  Otherwise, there is no extra overhead. |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_HWTRACE_ON |  | ||||||
| 	bool "Turn on Blackfin's Hardware Trace" |  | ||||||
| 	default y |  | ||||||
| 	help |  | ||||||
| 	  All Blackfins include a Trace Unit which stores a history of the last |  | ||||||
| 	  16 changes in program flow taken by the program sequencer. The history |  | ||||||
| 	  allows the user to recreate the program sequencer’s recent path. This |  | ||||||
| 	  can be handy when an application dies - we print out the execution |  | ||||||
| 	  path of how it got to the offending instruction. |  | ||||||
| 
 |  | ||||||
| 	  By turning this off, you may save a tiny amount of power. |  | ||||||
| 
 |  | ||||||
| choice |  | ||||||
| 	prompt "Omit loop Tracing" |  | ||||||
| 	default DEBUG_BFIN_HWTRACE_COMPRESSION_OFF |  | ||||||
| 	depends on DEBUG_BFIN_HWTRACE_ON |  | ||||||
| 	help |  | ||||||
| 	  The trace buffer can be configured to omit recording of changes in |  | ||||||
| 	  program flow that match either the last entry or one of the last |  | ||||||
| 	  two entries. Omitting one of these entries from the record prevents |  | ||||||
| 	  the trace buffer from overflowing because of any sort of loop (for, do |  | ||||||
| 	  while, etc) in the program. |  | ||||||
| 
 |  | ||||||
| 	  Because zero-overhead Hardware loops are not recorded in the trace buffer, |  | ||||||
| 	  this feature can be used to prevent trace overflow from loops that |  | ||||||
| 	  are nested four deep. |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF |  | ||||||
| 	bool "Trace all Loops" |  | ||||||
| 	help |  | ||||||
| 	  The trace buffer records all changes of flow  |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_HWTRACE_COMPRESSION_ONE |  | ||||||
| 	bool "Compress single-level loops" |  | ||||||
| 	help |  | ||||||
| 	  The trace buffer does not record single loops - helpful if trace  |  | ||||||
| 	  is spinning on a while or do loop. |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_HWTRACE_COMPRESSION_TWO |  | ||||||
| 	bool "Compress two-level loops" |  | ||||||
| 	help |  | ||||||
| 	  The trace buffer does not record loops two levels deep. Helpful if |  | ||||||
| 	  the trace is spinning in a nested loop |  | ||||||
| 
 |  | ||||||
| endchoice |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_HWTRACE_COMPRESSION |  | ||||||
| 	int |  | ||||||
| 	depends on DEBUG_BFIN_HWTRACE_ON |  | ||||||
| 	default 0 if DEBUG_BFIN_HWTRACE_COMPRESSION_OFF |  | ||||||
| 	default 1 if DEBUG_BFIN_HWTRACE_COMPRESSION_ONE |  | ||||||
| 	default 2 if DEBUG_BFIN_HWTRACE_COMPRESSION_TWO |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_HWTRACE_EXPAND |  | ||||||
| 	bool "Expand Trace Buffer greater than 16 entries" |  | ||||||
| 	depends on DEBUG_BFIN_HWTRACE_ON |  | ||||||
| 	default n |  | ||||||
| 	help |  | ||||||
| 	  By selecting this option, every time the 16 hardware entries in |  | ||||||
| 	  the Blackfin's HW Trace buffer are full, the kernel will move them |  | ||||||
| 	  into a software buffer, for dumping when there is an issue. This  |  | ||||||
| 	  has a great impact on performance, (an interrupt every 16 change of  |  | ||||||
| 	  flows) and should normally be turned off, except in those nasty |  | ||||||
| 	  debugging sessions |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_HWTRACE_EXPAND_LEN |  | ||||||
| 	int "Size of Trace buffer (in power of 2k)" |  | ||||||
| 	range 0 4 |  | ||||||
| 	depends on DEBUG_BFIN_HWTRACE_EXPAND |  | ||||||
| 	default 1 |  | ||||||
| 	help |  | ||||||
| 	  This sets the size of the software buffer that the trace information |  | ||||||
| 	  is kept in. |  | ||||||
| 	  0 for (2^0)  1k, or 256 entries, |  | ||||||
| 	  1 for (2^1)  2k, or 512 entries, |  | ||||||
| 	  2 for (2^2)  4k, or 1024 entries, |  | ||||||
| 	  3 for (2^3)  8k, or 2048 entries, |  | ||||||
| 	  4 for (2^4) 16k, or 4096 entries |  | ||||||
| 
 |  | ||||||
| config DEBUG_BFIN_NO_KERN_HWTRACE |  | ||||||
| 	bool "Turn off hwtrace in CPLB handlers" |  | ||||||
| 	depends on DEBUG_BFIN_HWTRACE_ON |  | ||||||
| 	default y |  | ||||||
| 	help |  | ||||||
| 	  The CPLB error handler contains a lot of flow changes which can |  | ||||||
| 	  quickly fill up the hardware trace buffer.  When debugging crashes, |  | ||||||
| 	  the hardware trace may indicate that the problem lies in kernel |  | ||||||
| 	  space when in reality an application is buggy. |  | ||||||
| 
 |  | ||||||
| 	  Say Y here to disable hardware tracing in some known "jumpy" pieces |  | ||||||
| 	  of code so that the trace buffer will extend further back. |  | ||||||
| 
 |  | ||||||
| config EARLY_PRINTK |  | ||||||
| 	bool "Early printk"  |  | ||||||
| 	default n |  | ||||||
| 	select SERIAL_CORE_CONSOLE |  | ||||||
| 	help |  | ||||||
| 	  This option enables special console drivers which allow the kernel |  | ||||||
| 	  to print messages very early in the bootup process. |  | ||||||
| 
 |  | ||||||
| 	  This is useful for kernel debugging when your machine crashes very |  | ||||||
| 	  early before the console code is initialized. After enabling this |  | ||||||
| 	  feature, you must add "earlyprintk=serial,uart0,57600" to the |  | ||||||
| 	  command line (bootargs). It is safe to say Y here in all cases, as |  | ||||||
| 	  all of this lives in the init section and is thrown away after the |  | ||||||
| 	  kernel boots completely. |  | ||||||
| 
 |  | ||||||
| config NMI_WATCHDOG |  | ||||||
| 	bool "Enable NMI watchdog to help debugging lockup on SMP" |  | ||||||
| 	default n |  | ||||||
| 	depends on SMP |  | ||||||
| 	help |  | ||||||
| 	  If any CPU in the system does not execute the period local timer |  | ||||||
| 	  interrupt for more than 5 seconds, then the NMI handler dumps debug |  | ||||||
| 	  information. This information can be used to debug the lockup. |  | ||||||
| 
 |  | ||||||
| config CPLB_INFO |  | ||||||
| 	bool "Display the CPLB information" |  | ||||||
| 	help |  | ||||||
| 	  Display the CPLB information via /proc/cplbinfo. |  | ||||||
| 
 |  | ||||||
| config ACCESS_CHECK |  | ||||||
| 	bool "Check the user pointer address" |  | ||||||
| 	default y |  | ||||||
| 	help |  | ||||||
| 	  Usually the pointer transfer from user space is checked to see if its |  | ||||||
| 	  address is in the kernel space. |  | ||||||
| 
 |  | ||||||
| 	  Say N here to disable that check to improve the performance. |  | ||||||
| 
 |  | ||||||
| config BFIN_ISRAM_SELF_TEST |  | ||||||
| 	bool "isram boot self tests" |  | ||||||
| 	default n |  | ||||||
| 	help |  | ||||||
| 	  Run some self tests of the isram driver code at boot. |  | ||||||
| 
 |  | ||||||
| config BFIN_PSEUDODBG_INSNS |  | ||||||
| 	bool "Support pseudo debug instructions" |  | ||||||
| 	default n |  | ||||||
| 	help |  | ||||||
| 	  This option allows the kernel to emulate some pseudo instructions which |  | ||||||
| 	  allow simulator test cases to be run under Linux with no changes. |  | ||||||
| 
 |  | ||||||
| 	  Most people should say N here. |  | ||||||
| 
 |  | ||||||
| config BFIN_PM_WAKEUP_TIME_BENCH |  | ||||||
| 	bool "Display the total time for kernel to resume from power saving mode" |  | ||||||
| 	default n |  | ||||||
| 	help |  | ||||||
| 	  Display the total time when kernel resumes normal from standby or |  | ||||||
| 	  suspend to mem mode. |  | ||||||
| 
 |  | ||||||
| endmenu |  | ||||||
|  | @ -1,168 +0,0 @@ | ||||||
| #
 |  | ||||||
| # arch/blackfin/Makefile
 |  | ||||||
| #
 |  | ||||||
| # This file is subject to the terms and conditions of the GNU General Public
 |  | ||||||
| # License.  See the file "COPYING" in the main directory of this archive
 |  | ||||||
| # for more details.
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| ifeq ($(CROSS_COMPILE),) |  | ||||||
| CROSS_COMPILE    := bfin-uclinux- |  | ||||||
| endif |  | ||||||
| LDFLAGS_vmlinux  := -X |  | ||||||
| OBJCOPYFLAGS     := -O binary -R .note -R .comment -S |  | ||||||
| GZFLAGS          := -9 |  | ||||||
| 
 |  | ||||||
| KBUILD_CFLAGS           += $(call cc-option,-mno-fdpic) |  | ||||||
| ifeq ($(CONFIG_ROMKERNEL),y) |  | ||||||
| KBUILD_CFLAGS           += -mlong-calls |  | ||||||
| endif |  | ||||||
| KBUILD_AFLAGS           += $(call cc-option,-mno-fdpic) |  | ||||||
| KBUILD_CFLAGS_MODULE    += -mlong-calls |  | ||||||
| LDFLAGS                 += -m elf32bfin |  | ||||||
| 
 |  | ||||||
| KBUILD_DEFCONFIG := BF537-STAMP_defconfig |  | ||||||
| 
 |  | ||||||
| # setup the machine name and the machine dependent settings
 |  | ||||||
| machine-$(CONFIG_BF512)  := bf518 |  | ||||||
| machine-$(CONFIG_BF514)  := bf518 |  | ||||||
| machine-$(CONFIG_BF516)  := bf518 |  | ||||||
| machine-$(CONFIG_BF518)  := bf518 |  | ||||||
| machine-$(CONFIG_BF522)  := bf527 |  | ||||||
| machine-$(CONFIG_BF523)  := bf527 |  | ||||||
| machine-$(CONFIG_BF524)  := bf527 |  | ||||||
| machine-$(CONFIG_BF525)  := bf527 |  | ||||||
| machine-$(CONFIG_BF526)  := bf527 |  | ||||||
| machine-$(CONFIG_BF527)  := bf527 |  | ||||||
| machine-$(CONFIG_BF531)  := bf533 |  | ||||||
| machine-$(CONFIG_BF532)  := bf533 |  | ||||||
| machine-$(CONFIG_BF533)  := bf533 |  | ||||||
| machine-$(CONFIG_BF534)  := bf537 |  | ||||||
| machine-$(CONFIG_BF536)  := bf537 |  | ||||||
| machine-$(CONFIG_BF537)  := bf537 |  | ||||||
| machine-$(CONFIG_BF538)  := bf538 |  | ||||||
| machine-$(CONFIG_BF539)  := bf538 |  | ||||||
| machine-$(CONFIG_BF542)  := bf548 |  | ||||||
| machine-$(CONFIG_BF542M) := bf548 |  | ||||||
| machine-$(CONFIG_BF544)  := bf548 |  | ||||||
| machine-$(CONFIG_BF544M) := bf548 |  | ||||||
| machine-$(CONFIG_BF547)  := bf548 |  | ||||||
| machine-$(CONFIG_BF547M) := bf548 |  | ||||||
| machine-$(CONFIG_BF548)  := bf548 |  | ||||||
| machine-$(CONFIG_BF548M) := bf548 |  | ||||||
| machine-$(CONFIG_BF549)  := bf548 |  | ||||||
| machine-$(CONFIG_BF549M) := bf548 |  | ||||||
| machine-$(CONFIG_BF561)  := bf561 |  | ||||||
| machine-$(CONFIG_BF609)  := bf609 |  | ||||||
| MACHINE := $(machine-y) |  | ||||||
| export MACHINE |  | ||||||
| 
 |  | ||||||
| cpu-$(CONFIG_BF512)  := bf512 |  | ||||||
| cpu-$(CONFIG_BF514)  := bf514 |  | ||||||
| cpu-$(CONFIG_BF516)  := bf516 |  | ||||||
| cpu-$(CONFIG_BF518)  := bf518 |  | ||||||
| cpu-$(CONFIG_BF522)  := bf522 |  | ||||||
| cpu-$(CONFIG_BF523)  := bf523 |  | ||||||
| cpu-$(CONFIG_BF524)  := bf524 |  | ||||||
| cpu-$(CONFIG_BF525)  := bf525 |  | ||||||
| cpu-$(CONFIG_BF526)  := bf526 |  | ||||||
| cpu-$(CONFIG_BF527)  := bf527 |  | ||||||
| cpu-$(CONFIG_BF531)  := bf531 |  | ||||||
| cpu-$(CONFIG_BF532)  := bf532 |  | ||||||
| cpu-$(CONFIG_BF533)  := bf533 |  | ||||||
| cpu-$(CONFIG_BF534)  := bf534 |  | ||||||
| cpu-$(CONFIG_BF536)  := bf536 |  | ||||||
| cpu-$(CONFIG_BF537)  := bf537 |  | ||||||
| cpu-$(CONFIG_BF538)  := bf538 |  | ||||||
| cpu-$(CONFIG_BF539)  := bf539 |  | ||||||
| cpu-$(CONFIG_BF542)  := bf542 |  | ||||||
| cpu-$(CONFIG_BF542M) := bf542m |  | ||||||
| cpu-$(CONFIG_BF544)  := bf544 |  | ||||||
| cpu-$(CONFIG_BF544M) := bf544m |  | ||||||
| cpu-$(CONFIG_BF547)  := bf547 |  | ||||||
| cpu-$(CONFIG_BF547M) := bf547m |  | ||||||
| cpu-$(CONFIG_BF548)  := bf548 |  | ||||||
| cpu-$(CONFIG_BF548M) := bf548m |  | ||||||
| cpu-$(CONFIG_BF549)  := bf549 |  | ||||||
| cpu-$(CONFIG_BF549M) := bf549m |  | ||||||
| cpu-$(CONFIG_BF561)  := bf561 |  | ||||||
| cpu-$(CONFIG_BF609)  := bf609 |  | ||||||
| 
 |  | ||||||
| rev-$(CONFIG_BF_REV_0_0)  := 0.0 |  | ||||||
| rev-$(CONFIG_BF_REV_0_1)  := 0.1 |  | ||||||
| rev-$(CONFIG_BF_REV_0_2)  := 0.2 |  | ||||||
| rev-$(CONFIG_BF_REV_0_3)  := 0.3 |  | ||||||
| rev-$(CONFIG_BF_REV_0_4)  := 0.4 |  | ||||||
| rev-$(CONFIG_BF_REV_0_5)  := 0.5 |  | ||||||
| rev-$(CONFIG_BF_REV_0_6)  := 0.6 |  | ||||||
| rev-$(CONFIG_BF_REV_NONE) := none |  | ||||||
| rev-$(CONFIG_BF_REV_ANY)  := any |  | ||||||
| 
 |  | ||||||
| CPU_REV := $(cpu-y)-$(rev-y) |  | ||||||
| export CPU_REV |  | ||||||
| 
 |  | ||||||
| KBUILD_CFLAGS += -mcpu=$(CPU_REV) |  | ||||||
| KBUILD_AFLAGS += -mcpu=$(CPU_REV) |  | ||||||
| 
 |  | ||||||
| # - we utilize the silicon rev from the toolchain, so move it over to the checkflags
 |  | ||||||
| CHECKFLAGS_SILICON = $(shell echo "" | $(CPP) $(KBUILD_CFLAGS) -dD - 2>/dev/null | awk '$$2 == "__SILICON_REVISION__" { print $$3 }') |  | ||||||
| CHECKFLAGS += -D__SILICON_REVISION__=$(CHECKFLAGS_SILICON) -D__bfin__ |  | ||||||
| 
 |  | ||||||
| core-y   += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ arch/$(ARCH)/mach-common/ |  | ||||||
| 
 |  | ||||||
| # If we have a machine-specific directory, then include it in the build.
 |  | ||||||
| ifneq ($(machine-y),) |  | ||||||
| core-y   += arch/$(ARCH)/mach-$(MACHINE)/ |  | ||||||
| core-y   += arch/$(ARCH)/mach-$(MACHINE)/boards/ |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| ifeq ($(CONFIG_MPU),y) |  | ||||||
| core-y	+= arch/$(ARCH)/kernel/cplb-mpu/ |  | ||||||
| else |  | ||||||
| core-y	+= arch/$(ARCH)/kernel/cplb-nompu/ |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| drivers-$(CONFIG_OPROFILE) += arch/$(ARCH)/oprofile/ |  | ||||||
| 
 |  | ||||||
| libs-y   += arch/$(ARCH)/lib/ |  | ||||||
| 
 |  | ||||||
| machdirs	:= $(patsubst %,arch/blackfin/mach-%/, $(machine-y)) |  | ||||||
| 
 |  | ||||||
| KBUILD_CFLAGS += -Iarch/$(ARCH)/include/ |  | ||||||
| KBUILD_CFLAGS += -Iarch/$(ARCH)/mach-$(MACHINE)/include |  | ||||||
| 
 |  | ||||||
| KBUILD_CPPFLAGS	+= $(patsubst %,-I$(srctree)/%include,$(machdirs)) |  | ||||||
| 
 |  | ||||||
| CLEAN_FILES += \
 |  | ||||||
| 	arch/$(ARCH)/kernel/asm-offsets.s \
 |  | ||||||
| 
 |  | ||||||
| archclean: |  | ||||||
| 	$(Q)$(MAKE) $(clean)=$(boot) |  | ||||||
| 
 |  | ||||||
| INSTALL_PATH ?= /tftpboot |  | ||||||
| boot := arch/$(ARCH)/boot |  | ||||||
| BOOT_TARGETS = uImage uImage.bin uImage.bz2 uImage.gz uImage.lzma uImage.lzo uImage.xip |  | ||||||
| PHONY += $(BOOT_TARGETS) install |  | ||||||
| KBUILD_IMAGE := $(boot)/uImage |  | ||||||
| 
 |  | ||||||
| all: uImage |  | ||||||
| 
 |  | ||||||
| $(BOOT_TARGETS): vmlinux |  | ||||||
| 	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ |  | ||||||
| 
 |  | ||||||
| install: |  | ||||||
| 	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install |  | ||||||
| 
 |  | ||||||
| define archhelp |  | ||||||
|   echo  '* vmImage         - Alias to selected kernel format (vmImage.gz by default)' |  | ||||||
|   echo  '  vmImage.bin     - Uncompressed Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bin)' |  | ||||||
|   echo  '  vmImage.bz2     - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)' |  | ||||||
|   echo  '* vmImage.gz      - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)' |  | ||||||
|   echo  '  vmImage.lzma    - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)' |  | ||||||
|   echo  '  vmImage.lzo     - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzo)' |  | ||||||
|   echo  '  vmImage.xip     - XIP Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.xip)' |  | ||||||
|   echo  '  install         - Install kernel using' |  | ||||||
|   echo  '                     (your) ~/bin/$(INSTALLKERNEL) or' |  | ||||||
|   echo  '                     (distribution) PATH: $(INSTALLKERNEL) or' |  | ||||||
|   echo  '                     install to $$(INSTALL_PATH)' |  | ||||||
| endef |  | ||||||
							
								
								
									
										3
									
								
								arch/blackfin/boot/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								arch/blackfin/boot/.gitignore
									
									
									
									
										vendored
									
									
								
							|  | @ -1,3 +0,0 @@ | ||||||
| vmImage* |  | ||||||
| vmlinux* |  | ||||||
| uImage* |  | ||||||
|  | @ -1,71 +0,0 @@ | ||||||
| #
 |  | ||||||
| # arch/blackfin/boot/Makefile
 |  | ||||||
| #
 |  | ||||||
| # This file is subject to the terms and conditions of the GNU General Public
 |  | ||||||
| # License.  See the file "COPYING" in the main directory of this archive
 |  | ||||||
| # for more details.
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| targets := uImage uImage.bin uImage.bz2 uImage.gz uImage.lzma uImage.lzo uImage.xip |  | ||||||
| extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip |  | ||||||
| 
 |  | ||||||
| ifeq ($(CONFIG_RAMKERNEL),y) |  | ||||||
| UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD) |  | ||||||
| else # CONFIG_ROMKERNEL must be set
 |  | ||||||
| UIMAGE_LOADADDR = $(CONFIG_ROM_BASE) |  | ||||||
| endif |  | ||||||
| UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') |  | ||||||
| UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)' |  | ||||||
| UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x |  | ||||||
| 
 |  | ||||||
| $(obj)/vmlinux.bin: vmlinux FORCE |  | ||||||
| 	$(call if_changed,objcopy) |  | ||||||
| 
 |  | ||||||
| $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE |  | ||||||
| 	$(call if_changed,gzip) |  | ||||||
| 
 |  | ||||||
| $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE |  | ||||||
| 	$(call if_changed,bzip2) |  | ||||||
| 
 |  | ||||||
| $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE |  | ||||||
| 	$(call if_changed,lzma) |  | ||||||
| 
 |  | ||||||
| $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE |  | ||||||
| 	$(call if_changed,lzo) |  | ||||||
| 
 |  | ||||||
| # The mkimage tool wants 64bytes prepended to the image
 |  | ||||||
| quiet_cmd_mk_bin_xip = BIN     $@ |  | ||||||
|       cmd_mk_bin_xip = ( printf '%64s' | tr ' ' '\377' ; cat $< ) > $@ |  | ||||||
| $(obj)/vmlinux.bin.xip: $(obj)/vmlinux.bin FORCE |  | ||||||
| 	$(call if_changed,mk_bin_xip) |  | ||||||
| 
 |  | ||||||
| $(obj)/uImage.bin: $(obj)/vmlinux.bin |  | ||||||
| 	$(call if_changed,uimage,none) |  | ||||||
| 
 |  | ||||||
| $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 |  | ||||||
| 	$(call if_changed,uimage,bzip2) |  | ||||||
| 
 |  | ||||||
| $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz |  | ||||||
| 	$(call if_changed,uimage,gzip) |  | ||||||
| 
 |  | ||||||
| $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma |  | ||||||
| 	$(call if_changed,uimage,lzma) |  | ||||||
| 
 |  | ||||||
| $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo |  | ||||||
| 	$(call if_changed,uimage,lzo) |  | ||||||
| 
 |  | ||||||
| $(obj)/uImage.xip: $(obj)/vmlinux.bin.xip |  | ||||||
| 	$(call if_changed,uimage,none) |  | ||||||
| 
 |  | ||||||
| suffix-y                      := bin |  | ||||||
| suffix-$(CONFIG_KERNEL_GZIP)  := gz |  | ||||||
| suffix-$(CONFIG_KERNEL_BZIP2) := bz2 |  | ||||||
| suffix-$(CONFIG_KERNEL_LZMA)  := lzma |  | ||||||
| suffix-$(CONFIG_KERNEL_LZO)   := lzo |  | ||||||
| suffix-$(CONFIG_ROMKERNEL)    := xip |  | ||||||
| 
 |  | ||||||
| $(obj)/uImage: $(obj)/uImage.$(suffix-y) |  | ||||||
| 	@ln -sf $(notdir $<) $@ |  | ||||||
| 
 |  | ||||||
| install: |  | ||||||
| 	sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)" |  | ||||||
|  | @ -1,57 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| # |  | ||||||
| # arch/blackfin/boot/install.sh |  | ||||||
| # |  | ||||||
| # This file is subject to the terms and conditions of the GNU General Public |  | ||||||
| # License.  See the file "COPYING" in the main directory of this archive |  | ||||||
| # for more details. |  | ||||||
| # |  | ||||||
| # Copyright (C) 1995 by Linus Torvalds |  | ||||||
| # |  | ||||||
| # Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin |  | ||||||
| # Adapted from code in arch/i386/boot/install.sh by Mike Frysinger |  | ||||||
| # |  | ||||||
| # "make install" script for Blackfin architecture |  | ||||||
| # |  | ||||||
| # Arguments: |  | ||||||
| #   $1 - kernel version |  | ||||||
| #   $2 - kernel image file |  | ||||||
| #   $3 - kernel map file |  | ||||||
| #   $4 - default install path (blank if root directory) |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| verify () { |  | ||||||
| 	if [ ! -f "$1" ]; then |  | ||||||
| 		echo ""                                                   1>&2 |  | ||||||
| 		echo " *** Missing file: $1"                              1>&2 |  | ||||||
| 		echo ' *** You need to run "make" before "make install".' 1>&2 |  | ||||||
| 		echo ""                                                   1>&2 |  | ||||||
| 		exit 1 |  | ||||||
|  	fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # Make sure the files actually exist |  | ||||||
| verify "$2" |  | ||||||
| verify "$3" |  | ||||||
| 
 |  | ||||||
| # User may have a custom install script |  | ||||||
| 
 |  | ||||||
| if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi |  | ||||||
| if which ${INSTALLKERNEL} >/dev/null 2>&1; then |  | ||||||
| 	exec ${INSTALLKERNEL} "$@" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # Default install - same as make zlilo |  | ||||||
| 
 |  | ||||||
| back_it_up() { |  | ||||||
| 	local file=$1 |  | ||||||
| 	[ -f ${file} ] || return 0 |  | ||||||
| 	local stamp=$(stat -c %Y ${file} 2>/dev/null) |  | ||||||
| 	mv ${file} ${file}.${stamp:-old} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| back_it_up $4/uImage |  | ||||||
| back_it_up $4/System.map |  | ||||||
| 
 |  | ||||||
| cat $2 > $4/uImage |  | ||||||
| cp $3 $4/System.map |  | ||||||
|  | @ -1,121 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF518=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_JEDECPROBE=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_BFIN=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| # CONFIG_NET_VENDOR_SMSC is not set |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_SDH_BFIN=y |  | ||||||
| CONFIG_SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=m |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_VFAT_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_CODEPAGE_936=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
|  | @ -1,158 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF526=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_BFIN526_EZBRD=y |  | ||||||
| CONFIG_IRQ_USB_INT0=11 |  | ||||||
| CONFIG_IRQ_USB_INT1=11 |  | ||||||
| CONFIG_IRQ_USB_INT2=11 |  | ||||||
| CONFIG_IRQ_USB_DMA=11 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_NAND=m |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| # CONFIG_SCSI_PROC_FS is not set |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_BLK_DEV_SR=m |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_BFIN=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| # CONFIG_NET_VENDOR_SMSC is not set |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| CONFIG_INPUT_FF_MEMLESS=m |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_HID_A4TECH=y |  | ||||||
| CONFIG_HID_APPLE=y |  | ||||||
| CONFIG_HID_BELKIN=y |  | ||||||
| CONFIG_HID_CHERRY=y |  | ||||||
| CONFIG_HID_CHICONY=y |  | ||||||
| CONFIG_HID_CYPRESS=y |  | ||||||
| CONFIG_HID_EZKEY=y |  | ||||||
| CONFIG_HID_GYRATION=y |  | ||||||
| CONFIG_HID_LOGITECH=y |  | ||||||
| CONFIG_HID_MICROSOFT=y |  | ||||||
| CONFIG_HID_MONTEREY=y |  | ||||||
| CONFIG_HID_PANTHERLORD=y |  | ||||||
| CONFIG_HID_PETALYNX=y |  | ||||||
| CONFIG_HID_SAMSUNG=y |  | ||||||
| CONFIG_HID_SONY=y |  | ||||||
| CONFIG_HID_SUNPLUS=y |  | ||||||
| CONFIG_USB=y |  | ||||||
| # CONFIG_USB_DEVICE_CLASS is not set |  | ||||||
| CONFIG_USB_OTG_BLACKLIST_HUB=y |  | ||||||
| CONFIG_USB_MON=y |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=m |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_ISO9660_FS=m |  | ||||||
| CONFIG_JOLIET=y |  | ||||||
| CONFIG_VFAT_FS=m |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_CODEPAGE_936=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
|  | @ -1,104 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_PREEMPT=y |  | ||||||
| CONFIG_BF527=y |  | ||||||
| CONFIG_BF_REV_0_2=y |  | ||||||
| CONFIG_IRQ_TWI=7 |  | ||||||
| CONFIG_IRQ_PORTH_INTA=7 |  | ||||||
| CONFIG_IRQ_PORTH_INTB=7 |  | ||||||
| CONFIG_BFIN527_AD7160EVAL=y |  | ||||||
| CONFIG_BF527_SPORT0_PORTF=y |  | ||||||
| CONFIG_BF527_UART1_PORTG=y |  | ||||||
| CONFIG_IRQ_USB_INT0=11 |  | ||||||
| CONFIG_IRQ_USB_INT1=11 |  | ||||||
| CONFIG_IRQ_USB_INT2=11 |  | ||||||
| CONFIG_IRQ_USB_DMA=11 |  | ||||||
| CONFIG_CMDLINE_BOOL=y |  | ||||||
| CONFIG_CMDLINE="bootargs=root=/dev/mtdblock0 rw clkin_hz=24000000 earlyprintk=serial,uart0,57600 console=tty0 console=ttyBF0,57600" |  | ||||||
| CONFIG_CLKIN_HZ=24000000 |  | ||||||
| CONFIG_HZ_300=y |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| CONFIG_BFIN_GPTIMERS=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_1=0x5554 |  | ||||||
| CONFIG_BANK_3=0xFFC0 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_BLK_DEV_LOOP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=y |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_TOUCHSCREEN=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7160=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7160_FW=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_BFIN_DMA_INTERFACE is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_BFIN_OTP is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| # CONFIG_I2C_HELPER_AUTO is not set |  | ||||||
| CONFIG_I2C_ALGOBIT=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=400 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_FB=y |  | ||||||
| CONFIG_FRAMEBUFFER_CONSOLE=y |  | ||||||
| CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y |  | ||||||
| CONFIG_LOGO=y |  | ||||||
| # CONFIG_LOGO_LINUX_MONO is not set |  | ||||||
| # CONFIG_LOGO_LINUX_VGA16 is not set |  | ||||||
| # CONFIG_LOGO_LINUX_CLUT224 is not set |  | ||||||
| # CONFIG_LOGO_BLACKFIN_VGA16 is not set |  | ||||||
| # CONFIG_HID_SUPPORT is not set |  | ||||||
| CONFIG_USB_MUSB_HDRC=y |  | ||||||
| CONFIG_USB_GADGET_MUSB_HDRC=y |  | ||||||
| CONFIG_USB_GADGET=y |  | ||||||
| CONFIG_USB_GADGET_VBUS_DRAW=500 |  | ||||||
| CONFIG_USB_G_SERIAL=y |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_SPI=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| CONFIG_DEBUG_KERNEL=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| # CONFIG_SCHED_DEBUG is not set |  | ||||||
| # CONFIG_DEBUG_BUGVERBOSE is not set |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
|  | @ -1,188 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF527=y |  | ||||||
| CONFIG_BF_REV_0_2=y |  | ||||||
| CONFIG_BFIN527_EZKIT_V2=y |  | ||||||
| CONFIG_IRQ_USB_INT0=11 |  | ||||||
| CONFIG_IRQ_USB_INT1=11 |  | ||||||
| CONFIG_IRQ_USB_INT2=11 |  | ||||||
| CONFIG_IRQ_USB_DMA=11 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| CONFIG_BFIN_SIR=m |  | ||||||
| CONFIG_BFIN_SIR0=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_JEDECPROBE=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_NAND=m |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| # CONFIG_SCSI_PROC_FS is not set |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_BLK_DEV_SR=m |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_BFIN=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| # CONFIG_NET_VENDOR_SMSC is not set |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| CONFIG_INPUT_FF_MEMLESS=m |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=y |  | ||||||
| CONFIG_KEYBOARD_ADP5520=y |  | ||||||
| # CONFIG_KEYBOARD_ATKBD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_TOUCHSCREEN=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7879=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7879_I2C=y |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_PMIC_ADP5520=y |  | ||||||
| CONFIG_FB=y |  | ||||||
| CONFIG_FB_BFIN_LQ035Q1=y |  | ||||||
| CONFIG_BACKLIGHT_LCD_SUPPORT=y |  | ||||||
| CONFIG_FRAMEBUFFER_CONSOLE=y |  | ||||||
| CONFIG_LOGO=y |  | ||||||
| # CONFIG_LOGO_LINUX_MONO is not set |  | ||||||
| # CONFIG_LOGO_LINUX_VGA16 is not set |  | ||||||
| # CONFIG_LOGO_LINUX_CLUT224 is not set |  | ||||||
| # CONFIG_LOGO_BLACKFIN_VGA16 is not set |  | ||||||
| CONFIG_SOUND=y |  | ||||||
| CONFIG_SND=y |  | ||||||
| CONFIG_SND_SOC=y |  | ||||||
| CONFIG_SND_BF5XX_I2S=y |  | ||||||
| CONFIG_SND_BF5XX_SOC_SSM2602=y |  | ||||||
| CONFIG_HID_A4TECH=y |  | ||||||
| CONFIG_HID_APPLE=y |  | ||||||
| CONFIG_HID_BELKIN=y |  | ||||||
| CONFIG_HID_CHERRY=y |  | ||||||
| CONFIG_HID_CHICONY=y |  | ||||||
| CONFIG_HID_CYPRESS=y |  | ||||||
| CONFIG_HID_EZKEY=y |  | ||||||
| CONFIG_HID_GYRATION=y |  | ||||||
| CONFIG_HID_LOGITECH=y |  | ||||||
| CONFIG_HID_MICROSOFT=y |  | ||||||
| CONFIG_HID_MONTEREY=y |  | ||||||
| CONFIG_HID_PANTHERLORD=y |  | ||||||
| CONFIG_HID_PETALYNX=y |  | ||||||
| CONFIG_HID_SAMSUNG=y |  | ||||||
| CONFIG_HID_SONY=y |  | ||||||
| CONFIG_HID_SUNPLUS=y |  | ||||||
| CONFIG_USB=y |  | ||||||
| # CONFIG_USB_DEVICE_CLASS is not set |  | ||||||
| CONFIG_USB_OTG_BLACKLIST_HUB=y |  | ||||||
| CONFIG_USB_MON=y |  | ||||||
| CONFIG_USB_MUSB_HDRC=y |  | ||||||
| CONFIG_USB_MUSB_BLACKFIN=y |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_USB_GADGET=y |  | ||||||
| CONFIG_NEW_LEDS=y |  | ||||||
| CONFIG_LEDS_CLASS=y |  | ||||||
| CONFIG_LEDS_ADP5520=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=m |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_ISO9660_FS=m |  | ||||||
| CONFIG_JOLIET=y |  | ||||||
| CONFIG_UDF_FS=m |  | ||||||
| CONFIG_VFAT_FS=m |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_CODEPAGE_936=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,181 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF527=y |  | ||||||
| CONFIG_BF_REV_0_1=y |  | ||||||
| CONFIG_IRQ_USB_INT0=11 |  | ||||||
| CONFIG_IRQ_USB_INT1=11 |  | ||||||
| CONFIG_IRQ_USB_INT2=11 |  | ||||||
| CONFIG_IRQ_USB_DMA=11 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| CONFIG_BFIN_SIR=m |  | ||||||
| CONFIG_BFIN_SIR0=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_JEDECPROBE=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_NAND=m |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| # CONFIG_SCSI_PROC_FS is not set |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_BLK_DEV_SR=m |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_BFIN=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| # CONFIG_NET_VENDOR_SMSC is not set |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| CONFIG_INPUT_FF_MEMLESS=m |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_FB=y |  | ||||||
| CONFIG_FB_BFIN_T350MCQB=y |  | ||||||
| CONFIG_BACKLIGHT_LCD_SUPPORT=y |  | ||||||
| CONFIG_LCD_LTV350QV=m |  | ||||||
| CONFIG_FRAMEBUFFER_CONSOLE=y |  | ||||||
| CONFIG_LOGO=y |  | ||||||
| # CONFIG_LOGO_LINUX_MONO is not set |  | ||||||
| # CONFIG_LOGO_LINUX_VGA16 is not set |  | ||||||
| # CONFIG_LOGO_LINUX_CLUT224 is not set |  | ||||||
| # CONFIG_LOGO_BLACKFIN_VGA16 is not set |  | ||||||
| CONFIG_SOUND=y |  | ||||||
| CONFIG_SND=y |  | ||||||
| CONFIG_SND_SOC=y |  | ||||||
| CONFIG_SND_BF5XX_I2S=y |  | ||||||
| CONFIG_SND_BF5XX_SOC_SSM2602=y |  | ||||||
| CONFIG_HID_A4TECH=y |  | ||||||
| CONFIG_HID_APPLE=y |  | ||||||
| CONFIG_HID_BELKIN=y |  | ||||||
| CONFIG_HID_CHERRY=y |  | ||||||
| CONFIG_HID_CHICONY=y |  | ||||||
| CONFIG_HID_CYPRESS=y |  | ||||||
| CONFIG_HID_EZKEY=y |  | ||||||
| CONFIG_HID_GYRATION=y |  | ||||||
| CONFIG_HID_LOGITECH=y |  | ||||||
| CONFIG_HID_MICROSOFT=y |  | ||||||
| CONFIG_HID_MONTEREY=y |  | ||||||
| CONFIG_HID_PANTHERLORD=y |  | ||||||
| CONFIG_HID_PETALYNX=y |  | ||||||
| CONFIG_HID_SAMSUNG=y |  | ||||||
| CONFIG_HID_SONY=y |  | ||||||
| CONFIG_HID_SUNPLUS=y |  | ||||||
| CONFIG_USB=y |  | ||||||
| # CONFIG_USB_DEVICE_CLASS is not set |  | ||||||
| CONFIG_USB_OTG_BLACKLIST_HUB=y |  | ||||||
| CONFIG_USB_MON=y |  | ||||||
| CONFIG_USB_MUSB_HDRC=y |  | ||||||
| CONFIG_MUSB_PIO_ONLY=y |  | ||||||
| CONFIG_USB_MUSB_BLACKFIN=y |  | ||||||
| CONFIG_MUSB_PIO_ONLY=y |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_USB_GADGET=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=m |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_ISO9660_FS=m |  | ||||||
| CONFIG_JOLIET=y |  | ||||||
| CONFIG_UDF_FS=m |  | ||||||
| CONFIG_VFAT_FS=m |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_CODEPAGE_936=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,178 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_LOCALVERSION="DEV_0-1_pre2010" |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF527=y |  | ||||||
| CONFIG_BF_REV_0_2=y |  | ||||||
| CONFIG_BFIN527_TLL6527M=y |  | ||||||
| CONFIG_BF527_UART1_PORTG=y |  | ||||||
| CONFIG_IRQ_USB_INT0=11 |  | ||||||
| CONFIG_IRQ_USB_INT1=11 |  | ||||||
| CONFIG_IRQ_USB_INT2=11 |  | ||||||
| CONFIG_IRQ_USB_DMA=11 |  | ||||||
| CONFIG_BOOT_LOAD=0x400000 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=y |  | ||||||
| CONFIG_DMA_UNCACHED_2M=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_0=0xFFC2 |  | ||||||
| CONFIG_BANK_1=0xFFC2 |  | ||||||
| CONFIG_BANK_2=0xFFC2 |  | ||||||
| CONFIG_BANK_3=0xFFC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| CONFIG_BFIN_SIR=m |  | ||||||
| CONFIG_BFIN_SIR0=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_GPIO_ADDR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| # CONFIG_SCSI_PROC_FS is not set |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_BLK_DEV_SR=m |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=y |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_TOUCHSCREEN=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7879=m |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| CONFIG_INPUT_AD714X=y |  | ||||||
| CONFIG_INPUT_ADXL34X=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| CONFIG_BFIN_PPI=m |  | ||||||
| CONFIG_BFIN_SIMPLE_TIMER=m |  | ||||||
| CONFIG_BFIN_SPORT=m |  | ||||||
| # CONFIG_CONSOLE_TRANSLATIONS is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| # CONFIG_I2C_HELPER_AUTO is not set |  | ||||||
| CONFIG_I2C_SMBUS=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_MEDIA_SUPPORT=y |  | ||||||
| CONFIG_VIDEO_DEV=y |  | ||||||
| # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |  | ||||||
| CONFIG_VIDEO_HELPER_CHIPS_AUTO=y |  | ||||||
| CONFIG_VIDEO_BLACKFIN_CAM=m |  | ||||||
| CONFIG_OV9655=y |  | ||||||
| CONFIG_FB=y |  | ||||||
| CONFIG_BACKLIGHT_LCD_SUPPORT=y |  | ||||||
| CONFIG_FRAMEBUFFER_CONSOLE=y |  | ||||||
| CONFIG_FONTS=y |  | ||||||
| CONFIG_FONT_6x11=y |  | ||||||
| CONFIG_LOGO=y |  | ||||||
| # CONFIG_LOGO_LINUX_MONO is not set |  | ||||||
| # CONFIG_LOGO_LINUX_VGA16 is not set |  | ||||||
| # CONFIG_LOGO_LINUX_CLUT224 is not set |  | ||||||
| # CONFIG_LOGO_BLACKFIN_VGA16 is not set |  | ||||||
| CONFIG_SOUND=y |  | ||||||
| CONFIG_SND=y |  | ||||||
| CONFIG_SND_MIXER_OSS=y |  | ||||||
| CONFIG_SND_PCM_OSS=y |  | ||||||
| CONFIG_SND_SOC=y |  | ||||||
| CONFIG_SND_BF5XX_I2S=y |  | ||||||
| CONFIG_SND_BF5XX_SOC_SSM2602=y |  | ||||||
| # CONFIG_HID_SUPPORT is not set |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_MMC=m |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_ISO9660_FS=m |  | ||||||
| CONFIG_JOLIET=y |  | ||||||
| CONFIG_UDF_FS=m |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| # CONFIG_RPCSEC_GSS_KRB5 is not set |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_CODEPAGE_936=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_KERNEL=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC7=m |  | ||||||
|  | @ -1,114 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BFIN533_EZKIT=y |  | ||||||
| CONFIG_TIMER0=11 |  | ||||||
| CONFIG_CLKIN_HZ=27000000 |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xAAC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_JEDECPROBE=y |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_MTD_PLATRAM=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| CONFIG_SMC91X=y |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| CONFIG_INPUT=m |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,124 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_TIMER0=11 |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xAAC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| CONFIG_BFIN_SIR=m |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=m |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| CONFIG_SMC91X=y |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=m |  | ||||||
| CONFIG_I2C_CHARDEV=m |  | ||||||
| CONFIG_I2C_GPIO=m |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_FB=m |  | ||||||
| CONFIG_FIRMWARE_EDID=y |  | ||||||
| CONFIG_SOUND=m |  | ||||||
| CONFIG_SND=m |  | ||||||
| CONFIG_SND_MIXER_OSS=m |  | ||||||
| CONFIG_SND_PCM_OSS=m |  | ||||||
| CONFIG_SND_SOC=m |  | ||||||
| CONFIG_SND_BF5XX_I2S=m |  | ||||||
| CONFIG_SND_BF5XX_SOC_AD73311=m |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,136 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF537=y |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_CAN=m |  | ||||||
| CONFIG_CAN_RAW=m |  | ||||||
| CONFIG_CAN_BCM=m |  | ||||||
| CONFIG_CAN_BFIN=m |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| CONFIG_BFIN_SIR=m |  | ||||||
| CONFIG_BFIN_SIR1=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=m |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_PHYSMAP=m |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_BFIN=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| # CONFIG_NET_VENDOR_SMSC is not set |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=m |  | ||||||
| CONFIG_I2C_CHARDEV=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_FB=m |  | ||||||
| CONFIG_FIRMWARE_EDID=y |  | ||||||
| CONFIG_BACKLIGHT_LCD_SUPPORT=y |  | ||||||
| CONFIG_SOUND=m |  | ||||||
| CONFIG_SND=m |  | ||||||
| CONFIG_SND_MIXER_OSS=m |  | ||||||
| CONFIG_SND_PCM_OSS=m |  | ||||||
| CONFIG_SND_SOC=m |  | ||||||
| CONFIG_SND_BF5XX_I2S=m |  | ||||||
| CONFIG_SND_BF5XX_SOC_AD73311=m |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,133 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF538=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_IRQ_TIMER1=12 |  | ||||||
| CONFIG_IRQ_TIMER2=12 |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_PM=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_CAN=m |  | ||||||
| CONFIG_CAN_RAW=m |  | ||||||
| CONFIG_CAN_BCM=m |  | ||||||
| CONFIG_CAN_DEV=m |  | ||||||
| CONFIG_CAN_BFIN=m |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| CONFIG_BFIN_SIR=m |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=m |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_PHYSMAP=m |  | ||||||
| CONFIG_MTD_NAND=m |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_PHYLIB=y |  | ||||||
| CONFIG_SMSC_PHY=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_SMC91X=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_TOUCHSCREEN=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7879=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7879_SPI=y |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART2=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_FB=m |  | ||||||
| CONFIG_FB_BFIN_LQ035Q1=m |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_SMB_FS=m |  | ||||||
| CONFIG_DEBUG_KERNEL=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,207 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF548_std=y |  | ||||||
| CONFIG_IRQ_TIMER0=11 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_CACHELINE_ALIGNED_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_DMA_UNCACHED_2M=y |  | ||||||
| CONFIG_BFIN_EXTMEM_WRITETHROUGH=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_EBIU_MBSCTLVAL=0x0 |  | ||||||
| CONFIG_EBIU_MODEVAL=0x1 |  | ||||||
| CONFIG_EBIU_FCTLVAL=0x6 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_CAN=m |  | ||||||
| CONFIG_CAN_RAW=m |  | ||||||
| CONFIG_CAN_BCM=m |  | ||||||
| CONFIG_CAN_BFIN=m |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| CONFIG_BFIN_SIR=m |  | ||||||
| CONFIG_BFIN_SIR3=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_FW_LOADER=m |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_NAND=y |  | ||||||
| CONFIG_MTD_NAND_BF5XX=y |  | ||||||
| # CONFIG_MTD_NAND_BF5XX_HWECC is not set |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| # CONFIG_SCSI_PROC_FS is not set |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_BLK_DEV_SR=m |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_ATA=y |  | ||||||
| # CONFIG_SATA_PMP is not set |  | ||||||
| CONFIG_PATA_BF54X=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| CONFIG_SMSC911X=y |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| CONFIG_INPUT_FF_MEMLESS=m |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| CONFIG_INPUT_EVBUG=m |  | ||||||
| # CONFIG_KEYBOARD_ATKBD is not set |  | ||||||
| CONFIG_KEYBOARD_BFIN=y |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_TOUCHSCREEN=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7877=m |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_FB=y |  | ||||||
| CONFIG_FIRMWARE_EDID=y |  | ||||||
| CONFIG_FB_BF54X_LQ043=y |  | ||||||
| CONFIG_FRAMEBUFFER_CONSOLE=y |  | ||||||
| CONFIG_FONTS=y |  | ||||||
| CONFIG_FONT_6x11=y |  | ||||||
| CONFIG_LOGO=y |  | ||||||
| # CONFIG_LOGO_LINUX_MONO is not set |  | ||||||
| # CONFIG_LOGO_LINUX_VGA16 is not set |  | ||||||
| # CONFIG_LOGO_LINUX_CLUT224 is not set |  | ||||||
| # CONFIG_LOGO_BLACKFIN_VGA16 is not set |  | ||||||
| CONFIG_SOUND=y |  | ||||||
| CONFIG_SND=y |  | ||||||
| CONFIG_SND_MIXER_OSS=y |  | ||||||
| CONFIG_SND_PCM_OSS=y |  | ||||||
| CONFIG_SND_SOC=y |  | ||||||
| CONFIG_SND_BF5XX_AC97=y |  | ||||||
| CONFIG_SND_BF5XX_SOC_AD1980=y |  | ||||||
| CONFIG_HID_A4TECH=y |  | ||||||
| CONFIG_HID_APPLE=y |  | ||||||
| CONFIG_HID_BELKIN=y |  | ||||||
| CONFIG_HID_CHERRY=y |  | ||||||
| CONFIG_HID_CHICONY=y |  | ||||||
| CONFIG_HID_CYPRESS=y |  | ||||||
| CONFIG_HID_EZKEY=y |  | ||||||
| CONFIG_HID_GYRATION=y |  | ||||||
| CONFIG_HID_LOGITECH=y |  | ||||||
| CONFIG_HID_MICROSOFT=y |  | ||||||
| CONFIG_HID_MONTEREY=y |  | ||||||
| CONFIG_HID_PANTHERLORD=y |  | ||||||
| CONFIG_HID_PETALYNX=y |  | ||||||
| CONFIG_HID_SAMSUNG=y |  | ||||||
| CONFIG_HID_SONY=y |  | ||||||
| CONFIG_HID_SUNPLUS=y |  | ||||||
| CONFIG_USB=y |  | ||||||
| # CONFIG_USB_DEVICE_CLASS is not set |  | ||||||
| CONFIG_USB_OTG_BLACKLIST_HUB=y |  | ||||||
| CONFIG_USB_MON=y |  | ||||||
| CONFIG_USB_MUSB_HDRC=y |  | ||||||
| CONFIG_USB_MUSB_BLACKFIN=y |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_USB_GADGET=y |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_BLOCK=m |  | ||||||
| CONFIG_SDH_BFIN=y |  | ||||||
| CONFIG_SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_ISO9660_FS=m |  | ||||||
| CONFIG_JOLIET=y |  | ||||||
| CONFIG_ZISOFS=y |  | ||||||
| CONFIG_MSDOS_FS=m |  | ||||||
| CONFIG_VFAT_FS=m |  | ||||||
| CONFIG_NTFS_FS=m |  | ||||||
| CONFIG_NTFS_RW=y |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NFSD=m |  | ||||||
| CONFIG_NFSD_V3=y |  | ||||||
| CONFIG_CIFS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_CODEPAGE_936=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,149 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_SYSFS_DEPRECATED_V2=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF561=y |  | ||||||
| CONFIG_BF_REV_0_5=y |  | ||||||
| CONFIG_IRQ_TIMER0=10 |  | ||||||
| CONFIG_BFIN561_ACVILON=y |  | ||||||
| # CONFIG_BF561_COREB is not set |  | ||||||
| CONFIG_CLKIN_HZ=12000000 |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=y |  | ||||||
| CONFIG_DMA_UNCACHED_4M=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_0=0x99b2 |  | ||||||
| CONFIG_BANK_1=0x3350 |  | ||||||
| CONFIG_BANK_3=0xAAC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| CONFIG_SYN_COOKIES=y |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_PLATRAM=y |  | ||||||
| CONFIG_MTD_PHRAM=y |  | ||||||
| CONFIG_MTD_BLOCK2MTD=y |  | ||||||
| CONFIG_MTD_NAND=y |  | ||||||
| CONFIG_MTD_NAND_PLATFORM=y |  | ||||||
| CONFIG_BLK_DEV_LOOP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_BLK_DEV_RAM_COUNT=2 |  | ||||||
| CONFIG_BLK_DEV_RAM_SIZE=16384 |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| # CONFIG_SCSI_PROC_FS is not set |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_SMSC911X=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_PIO=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_PCA_PLATFORM=y |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_SPI_SPIDEV=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_GPIO_PCF857X=y |  | ||||||
| CONFIG_SENSORS_LM75=y |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_SOUND=y |  | ||||||
| CONFIG_SND=y |  | ||||||
| CONFIG_SND_MIXER_OSS=y |  | ||||||
| CONFIG_SND_PCM_OSS=y |  | ||||||
| # CONFIG_SND_DRIVERS is not set |  | ||||||
| # CONFIG_SND_USB is not set |  | ||||||
| CONFIG_SND_SOC=y |  | ||||||
| CONFIG_SND_BF5XX_I2S=y |  | ||||||
| CONFIG_SND_BF5XX_SPORT_NUM=1 |  | ||||||
| CONFIG_USB=y |  | ||||||
| CONFIG_USB_ANNOUNCE_NEW_DEVICES=y |  | ||||||
| # CONFIG_USB_DEVICE_CLASS is not set |  | ||||||
| CONFIG_USB_MON=y |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_USB_SERIAL=y |  | ||||||
| CONFIG_USB_SERIAL_FTDI_SIO=y |  | ||||||
| CONFIG_USB_SERIAL_PL2303=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_DS1307=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| CONFIG_EXT2_FS_POSIX_ACL=y |  | ||||||
| CONFIG_EXT2_FS_SECURITY=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_FAT_DEFAULT_CODEPAGE=866 |  | ||||||
| CONFIG_FAT_DEFAULT_IOCHARSET="cp1251" |  | ||||||
| CONFIG_NTFS_FS=y |  | ||||||
| CONFIG_CONFIGFS_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_JFFS2_COMPRESSION_OPTIONS=y |  | ||||||
| # CONFIG_JFFS2_ZLIB is not set |  | ||||||
| CONFIG_JFFS2_LZO=y |  | ||||||
| # CONFIG_JFFS2_RTIME is not set |  | ||||||
| CONFIG_JFFS2_CMODE_FAVOURLZO=y |  | ||||||
| CONFIG_CRAMFS=y |  | ||||||
| CONFIG_MINIX_FS=y |  | ||||||
| CONFIG_NFS_FS=y |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_ROOT_NFS=y |  | ||||||
| CONFIG_NLS_DEFAULT="cp1251" |  | ||||||
| CONFIG_NLS_CODEPAGE_866=y |  | ||||||
| CONFIG_NLS_CODEPAGE_1251=y |  | ||||||
| CONFIG_NLS_KOI8_R=y |  | ||||||
| CONFIG_NLS_UTF8=y |  | ||||||
| CONFIG_DEBUG_KERNEL=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| # CONFIG_DEBUG_BUGVERBOSE is not set |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,112 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF561=y |  | ||||||
| CONFIG_SMP=y |  | ||||||
| CONFIG_IRQ_TIMER0=10 |  | ||||||
| CONFIG_CLKIN_HZ=30000000 |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xAAC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| CONFIG_SMC91X=y |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| CONFIG_INPUT=m |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,114 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF561=y |  | ||||||
| CONFIG_IRQ_TIMER0=10 |  | ||||||
| CONFIG_CLKIN_HZ=30000000 |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_BFIN_EXTMEM_WRITETHROUGH=y |  | ||||||
| CONFIG_BFIN_L2_DCACHEABLE=y |  | ||||||
| CONFIG_BFIN_L2_WRITETHROUGH=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xAAC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| CONFIG_SMC91X=y |  | ||||||
| # CONFIG_NET_VENDOR_STMICRO is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| CONFIG_INPUT=m |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
|  | @ -1,154 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF609=y |  | ||||||
| CONFIG_PINT1_ASSIGN=0x01010000 |  | ||||||
| CONFIG_PINT2_ASSIGN=0x07000101 |  | ||||||
| CONFIG_PINT3_ASSIGN=0x02020303 |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| # CONFIG_APP_STACK_L1 is not set |  | ||||||
| # CONFIG_BFIN_INS_LOWOVERHEAD is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_PM_BFIN_WAKE_PE12=y |  | ||||||
| CONFIG_PM_BFIN_WAKE_PE12_POL=1 |  | ||||||
| CONFIG_CPU_FREQ=y |  | ||||||
| CONFIG_CPU_FREQ_GOV_POWERSAVE=y |  | ||||||
| CONFIG_CPU_FREQ_GOV_ONDEMAND=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| CONFIG_IP_PNP_DHCP=y |  | ||||||
| CONFIG_IP_PNP_BOOTP=y |  | ||||||
| CONFIG_IP_PNP_RARP=y |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_NETFILTER=y |  | ||||||
| CONFIG_CAN=y |  | ||||||
| CONFIG_CAN_BFIN=y |  | ||||||
| CONFIG_IRDA=y |  | ||||||
| CONFIG_IRTTY_SIR=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_FW_LOADER=m |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_CFI_STAA=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_MTD_UBI=m |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NET_VENDOR_BROADCOM is not set |  | ||||||
| # CONFIG_NET_VENDOR_CHELSIO is not set |  | ||||||
| # CONFIG_NET_VENDOR_INTEL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MARVELL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICREL is not set |  | ||||||
| # CONFIG_NET_VENDOR_MICROCHIP is not set |  | ||||||
| # CONFIG_NET_VENDOR_NATSEMI is not set |  | ||||||
| # CONFIG_NET_VENDOR_SEEQ is not set |  | ||||||
| # CONFIG_NET_VENDOR_SMSC is not set |  | ||||||
| CONFIG_STMMAC_ETH=y |  | ||||||
| CONFIG_STMMAC_IEEE1588=y |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=y |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| CONFIG_INPUT_BFIN_ROTARY=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_BFIN_SIMPLE_TIMER=m |  | ||||||
| # CONFIG_BFIN_CRC is not set |  | ||||||
| CONFIG_BFIN_LINKPORT=y |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_ADI_V3=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_PINCTRL_MCP23S08=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_SOUND=m |  | ||||||
| CONFIG_SND=m |  | ||||||
| CONFIG_SND_MIXER_OSS=m |  | ||||||
| CONFIG_SND_PCM_OSS=m |  | ||||||
| # CONFIG_SND_DRIVERS is not set |  | ||||||
| # CONFIG_SND_SPI is not set |  | ||||||
| # CONFIG_SND_USB is not set |  | ||||||
| CONFIG_SND_SOC=m |  | ||||||
| CONFIG_USB=y |  | ||||||
| CONFIG_USB_MUSB_HDRC=y |  | ||||||
| CONFIG_USB_MUSB_BLACKFIN=m |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_USB_GADGET=y |  | ||||||
| CONFIG_USB_GADGET_MUSB_HDRC=y |  | ||||||
| CONFIG_USB_ZERO=y |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_SDH_BFIN=y |  | ||||||
| # CONFIG_IOMMU_SUPPORT is not set |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_UBIFS_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| CONFIG_DEBUG_FS=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| CONFIG_FRAME_POINTER=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_BFIN_PSEUDODBG_INSNS=y |  | ||||||
| CONFIG_CRYPTO_HMAC=m |  | ||||||
| CONFIG_CRYPTO_MD4=m |  | ||||||
| CONFIG_CRYPTO_MD5=m |  | ||||||
| CONFIG_CRYPTO_ARC4=m |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRYPTO_DEV_BFIN_CRC=m |  | ||||||
|  | @ -1,108 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_SYSFS_DEPRECATED_V2=y |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| CONFIG_MODULE_FORCE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF532=y |  | ||||||
| CONFIG_BF_REV_0_5=y |  | ||||||
| CONFIG_BLACKSTAMP=y |  | ||||||
| CONFIG_TIMER0=11 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_HIGH_RES_TIMERS=y |  | ||||||
| CONFIG_ROMKERNEL=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xAAC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_BINFMT_SHARED_FLAT=y |  | ||||||
| CONFIG_PM=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=m |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_BLK_DEV_LOOP=y |  | ||||||
| CONFIG_BLK_DEV_NBD=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_MISC_DEVICES=y |  | ||||||
| CONFIG_EEPROM_AT25=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_SMC91X=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_HW_RANDOM=y |  | ||||||
| CONFIG_I2C=m |  | ||||||
| CONFIG_I2C_CHARDEV=m |  | ||||||
| CONFIG_I2C_GPIO=m |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_SPI_SPIDEV=m |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_SPI=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NFS_FS=y |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NFS_V4=y |  | ||||||
| CONFIG_SMB_FS=y |  | ||||||
| CONFIG_CIFS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ASCII=y |  | ||||||
| CONFIG_NLS_UTF8=y |  | ||||||
| CONFIG_SYSCTL_SYSCALL_CHECK=y |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
|  | @ -1,129 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF527=y |  | ||||||
| CONFIG_BF_REV_0_1=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_BFIN527_BLUETECHNIX_CM=y |  | ||||||
| CONFIG_IRQ_USB_INT0=11 |  | ||||||
| CONFIG_IRQ_USB_INT1=11 |  | ||||||
| CONFIG_IRQ_USB_INT2=11 |  | ||||||
| CONFIG_IRQ_USB_DMA=11 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xFFC0 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_GPIO_ADDR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=m |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_USB=m |  | ||||||
| CONFIG_USB_ANNOUNCE_NEW_DEVICES=y |  | ||||||
| # CONFIG_USB_DEVICE_CLASS is not set |  | ||||||
| CONFIG_USB_OTG_BLACKLIST_HUB=y |  | ||||||
| CONFIG_USB_MON=m |  | ||||||
| CONFIG_USB_MUSB_HDRC=m |  | ||||||
| CONFIG_USB_MUSB_PERIPHERAL=y |  | ||||||
| CONFIG_USB_GADGET_MUSB_HDRC=y |  | ||||||
| CONFIG_MUSB_PIO_ONLY=y |  | ||||||
| CONFIG_USB_STORAGE=m |  | ||||||
| CONFIG_USB_GADGET=m |  | ||||||
| CONFIG_USB_ETH=m |  | ||||||
| CONFIG_USB_MASS_STORAGE=m |  | ||||||
| CONFIG_USB_G_SERIAL=m |  | ||||||
| CONFIG_USB_G_PRINTER=m |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_SMB_FS=m |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| CONFIG_DEBUG_FS=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
| CONFIG_CRC_ITU_T=y |  | ||||||
| CONFIG_CRC7=y |  | ||||||
|  | @ -1,76 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_UID16 is not set |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_BFIN533_BLUETECHNIX_CM=y |  | ||||||
| CONFIG_TIMER0=11 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xFFC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_BINFMT_SHARED_FLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_MMC=y |  | ||||||
| # CONFIG_MMC_BLOCK_BOUNCE is not set |  | ||||||
| CONFIG_MMC_SPI=m |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| # CONFIG_NETWORK_FILESYSTEMS is not set |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRC_CCITT=y |  | ||||||
| CONFIG_CRC_ITU_T=y |  | ||||||
| CONFIG_CRC7=y |  | ||||||
|  | @ -1,107 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_UID16 is not set |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_DEFAULT_NOOP=y |  | ||||||
| CONFIG_BF537=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_BFIN537_BLUETECHNIX_CM_E=y |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xFFC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_BINFMT_SHARED_FLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_GPIO_ADDR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_USB_GADGET=m |  | ||||||
| CONFIG_USB_ETH=m |  | ||||||
| CONFIG_MMC=y |  | ||||||
| # CONFIG_MMC_BLOCK_BOUNCE is not set |  | ||||||
| CONFIG_MMC_SPI=m |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
| CONFIG_CRC_ITU_T=y |  | ||||||
| CONFIG_CRC7=y |  | ||||||
|  | @ -1,96 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_UID16 is not set |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_DEFAULT_NOOP=y |  | ||||||
| CONFIG_BF537=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_BFIN537_BLUETECHNIX_CM_U=y |  | ||||||
| CONFIG_CLKIN_HZ=30000000 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_2=0xFFC2 |  | ||||||
| CONFIG_BANK_3=0xFFC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_BINFMT_SHARED_FLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_GPIO_ADDR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_USB_GADGET=y |  | ||||||
| CONFIG_USB_ETH=y |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_SPI=m |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
| CONFIG_CRC_ITU_T=y |  | ||||||
| CONFIG_CRC7=y |  | ||||||
|  | @ -1,170 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_UID16 is not set |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_DEFAULT_NOOP=y |  | ||||||
| CONFIG_BF548_std=y |  | ||||||
| CONFIG_BF_REV_ANY=y |  | ||||||
| CONFIG_IRQ_TIMER0=11 |  | ||||||
| CONFIG_BFIN548_BLUETECHNIX_CM=y |  | ||||||
| # CONFIG_DEB_DMA_URGENT is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_CACHELINE_ALIGNED_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_EXTMEM_WRITETHROUGH=y |  | ||||||
| CONFIG_BANK_1=0x5554 |  | ||||||
| CONFIG_EBIU_MBSCTLVAL=0x0 |  | ||||||
| CONFIG_EBIU_MODEVAL=0x1 |  | ||||||
| CONFIG_EBIU_FCTLVAL=0x6 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| CONFIG_INET_XFRM_MODE_TRANSPORT=m |  | ||||||
| CONFIG_INET_XFRM_MODE_TUNNEL=m |  | ||||||
| CONFIG_INET_XFRM_MODE_BEET=m |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_SCSI=m |  | ||||||
| CONFIG_BLK_DEV_SD=m |  | ||||||
| # CONFIG_SCSI_LOWLEVEL is not set |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_SMSC911X=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| CONFIG_INPUT_EVBUG=m |  | ||||||
| # CONFIG_KEYBOARD_ATKBD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_PIO=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_HID_SUPPORT is not set |  | ||||||
| CONFIG_USB=m |  | ||||||
| # CONFIG_USB_DEVICE_CLASS is not set |  | ||||||
| CONFIG_USB_MON=m |  | ||||||
| CONFIG_USB_MUSB_HDRC=m |  | ||||||
| CONFIG_USB_MUSB_PERIPHERAL=y |  | ||||||
| CONFIG_USB_GADGET_MUSB_HDRC=y |  | ||||||
| CONFIG_USB_STORAGE=m |  | ||||||
| CONFIG_USB_GADGET=m |  | ||||||
| CONFIG_USB_ZERO=m |  | ||||||
| CONFIG_USB_ETH=m |  | ||||||
| # CONFIG_USB_ETH_RNDIS is not set |  | ||||||
| CONFIG_USB_GADGETFS=m |  | ||||||
| CONFIG_USB_MASS_STORAGE=m |  | ||||||
| CONFIG_USB_G_SERIAL=m |  | ||||||
| CONFIG_USB_G_PRINTER=m |  | ||||||
| CONFIG_MMC=m |  | ||||||
| CONFIG_SDH_BFIN=m |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=m |  | ||||||
| CONFIG_EXT2_FS=m |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=m |  | ||||||
| CONFIG_VFAT_FS=m |  | ||||||
| CONFIG_NTFS_FS=m |  | ||||||
| CONFIG_NTFS_RW=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_CIFS=m |  | ||||||
| CONFIG_NLS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_CODEPAGE_737=m |  | ||||||
| CONFIG_NLS_CODEPAGE_775=m |  | ||||||
| CONFIG_NLS_CODEPAGE_850=m |  | ||||||
| CONFIG_NLS_CODEPAGE_852=m |  | ||||||
| CONFIG_NLS_CODEPAGE_855=m |  | ||||||
| CONFIG_NLS_CODEPAGE_857=m |  | ||||||
| CONFIG_NLS_CODEPAGE_860=m |  | ||||||
| CONFIG_NLS_CODEPAGE_861=m |  | ||||||
| CONFIG_NLS_CODEPAGE_862=m |  | ||||||
| CONFIG_NLS_CODEPAGE_863=m |  | ||||||
| CONFIG_NLS_CODEPAGE_864=m |  | ||||||
| CONFIG_NLS_CODEPAGE_865=m |  | ||||||
| CONFIG_NLS_CODEPAGE_866=m |  | ||||||
| CONFIG_NLS_CODEPAGE_869=m |  | ||||||
| CONFIG_NLS_CODEPAGE_936=m |  | ||||||
| CONFIG_NLS_CODEPAGE_950=m |  | ||||||
| CONFIG_NLS_CODEPAGE_932=m |  | ||||||
| CONFIG_NLS_CODEPAGE_949=m |  | ||||||
| CONFIG_NLS_CODEPAGE_874=m |  | ||||||
| CONFIG_NLS_ISO8859_8=m |  | ||||||
| CONFIG_NLS_CODEPAGE_1250=m |  | ||||||
| CONFIG_NLS_CODEPAGE_1251=m |  | ||||||
| CONFIG_NLS_ASCII=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_ISO8859_2=m |  | ||||||
| CONFIG_NLS_ISO8859_3=m |  | ||||||
| CONFIG_NLS_ISO8859_4=m |  | ||||||
| CONFIG_NLS_ISO8859_5=m |  | ||||||
| CONFIG_NLS_ISO8859_6=m |  | ||||||
| CONFIG_NLS_ISO8859_7=m |  | ||||||
| CONFIG_NLS_ISO8859_9=m |  | ||||||
| CONFIG_NLS_ISO8859_13=m |  | ||||||
| CONFIG_NLS_ISO8859_14=m |  | ||||||
| CONFIG_NLS_ISO8859_15=m |  | ||||||
| CONFIG_NLS_KOI8_R=m |  | ||||||
| CONFIG_NLS_KOI8_U=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_FS=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| # CONFIG_CRYPTO_HW is not set |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
|  | @ -1,104 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_UID16 is not set |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_DEFAULT_NOOP=y |  | ||||||
| CONFIG_BF561=y |  | ||||||
| CONFIG_IRQ_TIMER0=10 |  | ||||||
| CONFIG_BFIN561_BLUETECHNIX_CM=y |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_EXTMEM_WRITETHROUGH=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xFFC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_BINFMT_SHARED_FLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_PHYLIB=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_MII=y |  | ||||||
| CONFIG_SMSC911X=m |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_USB_GADGET=m |  | ||||||
| CONFIG_USB_ETH=m |  | ||||||
| CONFIG_USB_MASS_STORAGE=m |  | ||||||
| CONFIG_USB_G_SERIAL=m |  | ||||||
| CONFIG_USB_G_PRINTER=m |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_SPI=m |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
| CONFIG_CRC_ITU_T=y |  | ||||||
| CONFIG_CRC7=y |  | ||||||
|  | @ -1,118 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_LOCALVERSION="DNP5370" |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| CONFIG_SLOB=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_BF537=y |  | ||||||
| CONFIG_BF_REV_0_3=y |  | ||||||
| CONFIG_DNP5370=y |  | ||||||
| CONFIG_IRQ_ERROR=7 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_C_AMBEN_B0_B1_B2=y |  | ||||||
| CONFIG_PM=y |  | ||||||
| # CONFIG_SUSPEND is not set |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| CONFIG_IP_PNP_RARP=y |  | ||||||
| CONFIG_SYN_COOKIES=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_LLC2=y |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_DEBUG=y |  | ||||||
| CONFIG_MTD_DEBUG_VERBOSE=1 |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_NFTL=y |  | ||||||
| CONFIG_NFTL_RW=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=y |  | ||||||
| CONFIG_MTD_ROM=y |  | ||||||
| CONFIG_MTD_ABSENT=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_MTD_UCLINUX=y |  | ||||||
| CONFIG_MTD_PLATRAM=y |  | ||||||
| CONFIG_MTD_DATAFLASH=y |  | ||||||
| CONFIG_MTD_BLOCK2MTD=y |  | ||||||
| CONFIG_MTD_NAND=y |  | ||||||
| CONFIG_MTD_NAND_PLATFORM=y |  | ||||||
| CONFIG_BLK_DEV_LOOP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_DAVICOM_PHY=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_BFIN_DMA_INTERFACE is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=y |  | ||||||
| CONFIG_BFIN_JTAG_COMM_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| CONFIG_LEGACY_PTY_COUNT=64 |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_SPI_SPIDEV=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_SENSORS_LM75=y |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_SPI=y |  | ||||||
| CONFIG_DMADEVICES=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_FAT_DEFAULT_CODEPAGE=850 |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_CRAMFS=y |  | ||||||
| CONFIG_ROMFS_FS=y |  | ||||||
| CONFIG_ROMFS_BACKED_BY_BOTH=y |  | ||||||
| # CONFIG_NETWORK_FILESYSTEMS is not set |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_CODEPAGE_850=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| CONFIG_DEBUG_KERNEL=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_OBJECTS=y |  | ||||||
| CONFIG_DEBUG_LOCK_ALLOC=y |  | ||||||
| CONFIG_DEBUG_KOBJECT=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| CONFIG_DEBUG_VM=y |  | ||||||
| CONFIG_DEBUG_MEMORY_INIT=y |  | ||||||
| CONFIG_DEBUG_LIST=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| CONFIG_SYSCTL_SYSCALL_CHECK=y |  | ||||||
| CONFIG_PAGE_POISONING=y |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRC_CCITT=y |  | ||||||
|  | @ -1,87 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_BF532=y |  | ||||||
| CONFIG_BF_REV_0_5=y |  | ||||||
| CONFIG_H8606_HVSISTEMAS=y |  | ||||||
| CONFIG_TIMER0=11 |  | ||||||
| # CONFIG_CACHELINE_ALIGNED_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_PM=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_M25P80=y |  | ||||||
| CONFIG_MTD_SPI_NOR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_MISC_DEVICES=y |  | ||||||
| CONFIG_EEPROM_AT25=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_DM9000=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=y |  | ||||||
| # CONFIG_KEYBOARD_ATKBD is not set |  | ||||||
| CONFIG_KEYBOARD_GPIO=y |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| CONFIG_SERIAL_8250=y |  | ||||||
| CONFIG_SERIAL_8250_EXTENDED=y |  | ||||||
| CONFIG_SERIAL_8250_SHARE_IRQ=y |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_SPI_SPIDEV=y |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_SOUND=m |  | ||||||
| CONFIG_SND=m |  | ||||||
| CONFIG_SND_MIXER_OSS=m |  | ||||||
| CONFIG_SND_PCM_OSS=m |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_INTF_DEV_UIE_EMUL=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_NLS=m |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
|  | @ -1,91 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_HOTPLUG is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_BF532=y |  | ||||||
| CONFIG_BF_REV_0_5=y |  | ||||||
| CONFIG_BFIN532_IP0X=y |  | ||||||
| CONFIG_TIMER0=11 |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| # CONFIG_BFIN_ICACHE is not set |  | ||||||
| # CONFIG_BFIN_DCACHE is not set |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_0=0xffc2 |  | ||||||
| CONFIG_BANK_1=0xffc2 |  | ||||||
| CONFIG_BANK_2=0xffc2 |  | ||||||
| CONFIG_BANK_3=0xffc2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_PM=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_NETFILTER=y |  | ||||||
| CONFIG_NETFILTER_XT_MATCH_MAC=y |  | ||||||
| CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y |  | ||||||
| CONFIG_IP_NF_IPTABLES=y |  | ||||||
| CONFIG_IP_NF_FILTER=y |  | ||||||
| CONFIG_IP_NF_TARGET_REJECT=y |  | ||||||
| CONFIG_IP_NF_MANGLE=y |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_AMDSTD=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_UCLINUX=y |  | ||||||
| CONFIG_MTD_PLATRAM=y |  | ||||||
| CONFIG_MTD_NAND=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| # CONFIG_SCSI_PROC_FS is not set |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_DM9000=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_HW_RANDOM=y |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_USB=y |  | ||||||
| CONFIG_USB_OTG_WHITELIST=y |  | ||||||
| CONFIG_USB_MON=y |  | ||||||
| CONFIG_USB_ISP1362_HCD=y |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_MMC=m |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRC_CCITT=y |  | ||||||
|  | @ -1,111 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF537=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_PNAV10=y |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_1=0x33B0 |  | ||||||
| CONFIG_BANK_2=0x33B0 |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_UCLINUX=y |  | ||||||
| CONFIG_MTD_NAND=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_BFIN_MAC_USE_L1 is not set |  | ||||||
| CONFIG_BFIN_TX_DESC_NUM=100 |  | ||||||
| CONFIG_BFIN_RX_DESC_NUM=100 |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=y |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_TOUCHSCREEN=y |  | ||||||
| CONFIG_TOUCHSCREEN_AD7877=y |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| CONFIG_INPUT_UINPUT=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_HW_RANDOM=y |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_FB=y |  | ||||||
| CONFIG_FIRMWARE_EDID=y |  | ||||||
| CONFIG_BACKLIGHT_LCD_SUPPORT=y |  | ||||||
| CONFIG_LCD_CLASS_DEVICE=y |  | ||||||
| CONFIG_BACKLIGHT_CLASS_DEVICE=y |  | ||||||
| CONFIG_SOUND=y |  | ||||||
| CONFIG_SND=m |  | ||||||
| # CONFIG_SND_SUPPORT_OLD_API is not set |  | ||||||
| # CONFIG_SND_VERBOSE_PROCFS is not set |  | ||||||
| CONFIG_SOUND_PRIME=y |  | ||||||
| # CONFIG_HID is not set |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_SMB_FS=m |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| # CONFIG_DEBUG_HUNT_FOR_ZERO is not set |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| # CONFIG_ACCESS_CHECK is not set |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
|  | @ -1,88 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| CONFIG_KALLSYMS_ALL=y |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF537=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_BOOT_LOAD=0x400000 |  | ||||||
| CONFIG_CLKIN_HZ=22118400 |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_DMA_UNCACHED_2M=y |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_PM=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| CONFIG_IRDA=m |  | ||||||
| CONFIG_IRLAN=m |  | ||||||
| CONFIG_IRCOMM=m |  | ||||||
| CONFIG_IRDA_CACHE_LAST_LSAP=y |  | ||||||
| CONFIG_IRTTY_SIR=m |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_JEDECPROBE=m |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_UCLINUX=y |  | ||||||
| CONFIG_MTD_NAND=m |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_MISC_DEVICES=y |  | ||||||
| CONFIG_EEPROM_AT25=m |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| CONFIG_INPUT_EVDEV=m |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| CONFIG_INPUT_UINPUT=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_HWMON=m |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_HID is not set |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_JFFS2_FS=m |  | ||||||
| CONFIG_NFS_FS=m |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_SMB_FS=m |  | ||||||
| CONFIG_DEBUG_KERNEL=y |  | ||||||
| # CONFIG_DEBUG_BUGVERBOSE is not set |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
|  | @ -1,131 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_SIGNALFD is not set |  | ||||||
| # CONFIG_TIMERFD is not set |  | ||||||
| # CONFIG_EVENTFD is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_LBDAF is not set |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| # CONFIG_IOSCHED_CFQ is not set |  | ||||||
| CONFIG_PREEMPT_VOLUNTARY=y |  | ||||||
| CONFIG_BF518=y |  | ||||||
| CONFIG_BF_REV_0_1=y |  | ||||||
| CONFIG_BFIN518F_TCM=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| # CONFIG_SCHEDULE_L1 is not set |  | ||||||
| # CONFIG_MEMSET_L1 is not set |  | ||||||
| # CONFIG_MEMCPY_L1 is not set |  | ||||||
| # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_BFIN_GPTIMERS=m |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0x99B2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| CONFIG_IP_PNP=y |  | ||||||
| # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_TUNNEL is not set |  | ||||||
| # CONFIG_INET_XFRM_MODE_BEET is not set |  | ||||||
| # CONFIG_INET_LRO is not set |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| # CONFIG_FW_LOADER is not set |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_ADV_OPTIONS=y |  | ||||||
| CONFIG_MTD_CFI_GEOMETRY=y |  | ||||||
| # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set |  | ||||||
| # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set |  | ||||||
| # CONFIG_MTD_CFI_I2 is not set |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT_MOUSEDEV is not set |  | ||||||
| # CONFIG_INPUT_KEYBOARD is not set |  | ||||||
| # CONFIG_INPUT_MOUSE is not set |  | ||||||
| CONFIG_INPUT_MISC=y |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_BFIN_JTAG_COMM=m |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_I2C=y |  | ||||||
| CONFIG_I2C_CHARDEV=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI=y |  | ||||||
| CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| # CONFIG_HID_SUPPORT is not set |  | ||||||
| # CONFIG_USB_SUPPORT is not set |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_DEBUG=y |  | ||||||
| CONFIG_MMC_SPI=y |  | ||||||
| CONFIG_RTC_CLASS=y |  | ||||||
| CONFIG_RTC_DRV_BFIN=y |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_VFAT_FS=m |  | ||||||
| # CONFIG_MISC_FILESYSTEMS is not set |  | ||||||
| CONFIG_NFS_FS=y |  | ||||||
| CONFIG_NFS_V3=y |  | ||||||
| CONFIG_ROOT_NFS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=m |  | ||||||
| CONFIG_NLS_ISO8859_1=m |  | ||||||
| CONFIG_NLS_UTF8=m |  | ||||||
| CONFIG_DEBUG_KERNEL=y |  | ||||||
| CONFIG_DEBUG_SHIRQ=y |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| # CONFIG_FTRACE is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| CONFIG_DEBUG_HWERR=y |  | ||||||
| CONFIG_EXACT_HWERR=y |  | ||||||
| CONFIG_DEBUG_DOUBLEFAULT=y |  | ||||||
| CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| CONFIG_CRYPTO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC_CCITT=m |  | ||||||
|  | @ -1,95 +0,0 @@ | ||||||
| CONFIG_EXPERIMENTAL=y |  | ||||||
| CONFIG_KERNEL_LZMA=y |  | ||||||
| CONFIG_SYSVIPC=y |  | ||||||
| CONFIG_IKCONFIG=y |  | ||||||
| CONFIG_IKCONFIG_PROC=y |  | ||||||
| CONFIG_LOG_BUF_SHIFT=14 |  | ||||||
| CONFIG_BLK_DEV_INITRD=y |  | ||||||
| # CONFIG_RD_GZIP is not set |  | ||||||
| CONFIG_RD_LZMA=y |  | ||||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |  | ||||||
| CONFIG_EXPERT=y |  | ||||||
| # CONFIG_UID16 is not set |  | ||||||
| # CONFIG_SYSCTL_SYSCALL is not set |  | ||||||
| # CONFIG_ELF_CORE is not set |  | ||||||
| # CONFIG_FUTEX is not set |  | ||||||
| # CONFIG_AIO is not set |  | ||||||
| CONFIG_SLAB=y |  | ||||||
| CONFIG_MMAP_ALLOW_UNINITIALIZED=y |  | ||||||
| CONFIG_MODULES=y |  | ||||||
| CONFIG_MODULE_UNLOAD=y |  | ||||||
| # CONFIG_BLK_DEV_BSG is not set |  | ||||||
| # CONFIG_IOSCHED_DEADLINE is not set |  | ||||||
| CONFIG_DEFAULT_NOOP=y |  | ||||||
| CONFIG_BF537=y |  | ||||||
| CONFIG_IRQ_TIMER0=12 |  | ||||||
| CONFIG_BFIN537_BLUETECHNIX_TCM=y |  | ||||||
| # CONFIG_CYCLES_CLOCKSOURCE is not set |  | ||||||
| CONFIG_IP_CHECKSUM_L1=y |  | ||||||
| CONFIG_SYSCALL_TAB_L1=y |  | ||||||
| CONFIG_CPLB_SWITCH_TAB_L1=y |  | ||||||
| CONFIG_NOMMU_INITIAL_TRIM_EXCESS=0 |  | ||||||
| CONFIG_C_CDPRIO=y |  | ||||||
| CONFIG_BANK_3=0xFFC2 |  | ||||||
| CONFIG_BINFMT_FLAT=y |  | ||||||
| CONFIG_BINFMT_ZFLAT=y |  | ||||||
| CONFIG_BINFMT_SHARED_FLAT=y |  | ||||||
| CONFIG_NET=y |  | ||||||
| CONFIG_PACKET=y |  | ||||||
| CONFIG_UNIX=y |  | ||||||
| CONFIG_INET=y |  | ||||||
| # CONFIG_INET_DIAG is not set |  | ||||||
| # CONFIG_IPV6 is not set |  | ||||||
| # CONFIG_WIRELESS is not set |  | ||||||
| CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |  | ||||||
| CONFIG_MTD=y |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| CONFIG_MTD_BLOCK=y |  | ||||||
| CONFIG_MTD_CFI=y |  | ||||||
| CONFIG_MTD_CFI_INTELEXT=y |  | ||||||
| CONFIG_MTD_RAM=y |  | ||||||
| CONFIG_MTD_ROM=m |  | ||||||
| CONFIG_MTD_COMPLEX_MAPPINGS=y |  | ||||||
| CONFIG_MTD_GPIO_ADDR=y |  | ||||||
| CONFIG_BLK_DEV_RAM=y |  | ||||||
| CONFIG_NETDEVICES=y |  | ||||||
| CONFIG_NET_ETHERNET=y |  | ||||||
| CONFIG_BFIN_MAC=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| # CONFIG_NETDEV_10000 is not set |  | ||||||
| # CONFIG_WLAN is not set |  | ||||||
| # CONFIG_INPUT is not set |  | ||||||
| # CONFIG_SERIO is not set |  | ||||||
| # CONFIG_VT is not set |  | ||||||
| # CONFIG_DEVKMEM is not set |  | ||||||
| CONFIG_SERIAL_BFIN=y |  | ||||||
| CONFIG_SERIAL_BFIN_CONSOLE=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART0=y |  | ||||||
| CONFIG_SERIAL_BFIN_UART1=y |  | ||||||
| # CONFIG_LEGACY_PTYS is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| CONFIG_SPI=y |  | ||||||
| CONFIG_SPI_BFIN5XX=y |  | ||||||
| # CONFIG_HWMON is not set |  | ||||||
| CONFIG_WATCHDOG=y |  | ||||||
| CONFIG_BFIN_WDT=y |  | ||||||
| CONFIG_USB_GADGET=y |  | ||||||
| CONFIG_USB_ETH=y |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_SPI=m |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_EXT2_FS_XATTR=y |  | ||||||
| # CONFIG_DNOTIFY is not set |  | ||||||
| CONFIG_MSDOS_FS=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_JFFS2_FS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| # CONFIG_RCU_CPU_STALL_DETECTOR is not set |  | ||||||
| CONFIG_DEBUG_MMRS=y |  | ||||||
| # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_CPLB_INFO=y |  | ||||||
| # CONFIG_CRYPTO_ANSI_CPRNG is not set |  | ||||||
| CONFIG_CRC_ITU_T=y |  | ||||||
| CONFIG_CRC7=y |  | ||||||
|  | @ -1,28 +0,0 @@ | ||||||
| generic-y += bugs.h |  | ||||||
| generic-y += current.h |  | ||||||
| generic-y += device.h |  | ||||||
| generic-y += div64.h |  | ||||||
| generic-y += emergency-restart.h |  | ||||||
| generic-y += extable.h |  | ||||||
| generic-y += fb.h |  | ||||||
| generic-y += futex.h |  | ||||||
| generic-y += hw_irq.h |  | ||||||
| generic-y += irq_regs.h |  | ||||||
| generic-y += irq_work.h |  | ||||||
| generic-y += kdebug.h |  | ||||||
| generic-y += kmap_types.h |  | ||||||
| generic-y += kprobes.h |  | ||||||
| generic-y += local.h |  | ||||||
| generic-y += local64.h |  | ||||||
| generic-y += mcs_spinlock.h |  | ||||||
| generic-y += mm-arch-hooks.h |  | ||||||
| generic-y += percpu.h |  | ||||||
| generic-y += pgalloc.h |  | ||||||
| generic-y += preempt.h |  | ||||||
| generic-y += serial.h |  | ||||||
| generic-y += topology.h |  | ||||||
| generic-y += trace_clock.h |  | ||||||
| generic-y += unaligned.h |  | ||||||
| generic-y += user.h |  | ||||||
| generic-y += word-at-a-time.h |  | ||||||
| generic-y += xor.h |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| #include <generated/asm-offsets.h> |  | ||||||
|  | @ -1,47 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2011 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ARCH_BLACKFIN_ATOMIC__ |  | ||||||
| #define __ARCH_BLACKFIN_ATOMIC__ |  | ||||||
| 
 |  | ||||||
| #include <asm/cmpxchg.h> |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| 
 |  | ||||||
| #include <asm/barrier.h> |  | ||||||
| #include <linux/linkage.h> |  | ||||||
| #include <linux/types.h> |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_uncached_fetch_asm(const volatile int *ptr); |  | ||||||
| asmlinkage int __raw_atomic_add_asm(volatile int *ptr, int value); |  | ||||||
| asmlinkage int __raw_atomic_xadd_asm(volatile int *ptr, int value); |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_atomic_and_asm(volatile int *ptr, int value); |  | ||||||
| asmlinkage int __raw_atomic_or_asm(volatile int *ptr, int value); |  | ||||||
| asmlinkage int __raw_atomic_xor_asm(volatile int *ptr, int value); |  | ||||||
| asmlinkage int __raw_atomic_test_asm(const volatile int *ptr, int value); |  | ||||||
| 
 |  | ||||||
| #define atomic_read(v) __raw_uncached_fetch_asm(&(v)->counter) |  | ||||||
| 
 |  | ||||||
| #define atomic_add_return(i, v) __raw_atomic_add_asm(&(v)->counter, i) |  | ||||||
| #define atomic_sub_return(i, v) __raw_atomic_add_asm(&(v)->counter, -(i)) |  | ||||||
| 
 |  | ||||||
| #define atomic_fetch_add(i, v) __raw_atomic_xadd_asm(&(v)->counter, i) |  | ||||||
| #define atomic_fetch_sub(i, v) __raw_atomic_xadd_asm(&(v)->counter, -(i)) |  | ||||||
| 
 |  | ||||||
| #define atomic_or(i, v)  (void)__raw_atomic_or_asm(&(v)->counter, i) |  | ||||||
| #define atomic_and(i, v) (void)__raw_atomic_and_asm(&(v)->counter, i) |  | ||||||
| #define atomic_xor(i, v) (void)__raw_atomic_xor_asm(&(v)->counter, i) |  | ||||||
| 
 |  | ||||||
| #define atomic_fetch_or(i, v)  __raw_atomic_or_asm(&(v)->counter, i) |  | ||||||
| #define atomic_fetch_and(i, v) __raw_atomic_and_asm(&(v)->counter, i) |  | ||||||
| #define atomic_fetch_xor(i, v) __raw_atomic_xor_asm(&(v)->counter, i) |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/atomic.h> |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,86 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  *               Tony Kou (tonyko@lineo.ca) |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_BARRIER_H |  | ||||||
| #define _BLACKFIN_BARRIER_H |  | ||||||
| 
 |  | ||||||
| #include <asm/cache.h> |  | ||||||
| 
 |  | ||||||
| #define nop()  __asm__ __volatile__ ("nop;\n\t" : : ) |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Force strict CPU ordering. |  | ||||||
|  */ |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| 
 |  | ||||||
| #ifdef __ARCH_SYNC_CORE_DCACHE |  | ||||||
| /* Force Core data cache coherence */ |  | ||||||
| # define mb()	do { barrier(); smp_check_barrier(); smp_mark_barrier(); } while (0) |  | ||||||
| # define rmb()	do { barrier(); smp_check_barrier(); } while (0) |  | ||||||
| # define wmb()	do { barrier(); smp_mark_barrier(); } while (0) |  | ||||||
| /*
 |  | ||||||
|  * read_barrier_depends - Flush all pending reads that subsequents reads |  | ||||||
|  * depend on. |  | ||||||
|  * |  | ||||||
|  * No data-dependent reads from memory-like regions are ever reordered |  | ||||||
|  * over this barrier.  All reads preceding this primitive are guaranteed |  | ||||||
|  * to access memory (but not necessarily other CPUs' caches) before any |  | ||||||
|  * reads following this primitive that depend on the data return by |  | ||||||
|  * any of the preceding reads.  This primitive is much lighter weight than |  | ||||||
|  * rmb() on most CPUs, and is never heavier weight than is |  | ||||||
|  * rmb(). |  | ||||||
|  * |  | ||||||
|  * These ordering constraints are respected by both the local CPU |  | ||||||
|  * and the compiler. |  | ||||||
|  * |  | ||||||
|  * Ordering is not guaranteed by anything other than these primitives, |  | ||||||
|  * not even by data dependencies.  See the documentation for |  | ||||||
|  * memory_barrier() for examples and URLs to more information. |  | ||||||
|  * |  | ||||||
|  * For example, the following code would force ordering (the initial |  | ||||||
|  * value of "a" is zero, "b" is one, and "p" is "&a"): |  | ||||||
|  * |  | ||||||
|  * <programlisting> |  | ||||||
|  *	CPU 0				CPU 1 |  | ||||||
|  * |  | ||||||
|  *	b = 2; |  | ||||||
|  *	memory_barrier(); |  | ||||||
|  *	p = &b;				q = p; |  | ||||||
|  *					read_barrier_depends(); |  | ||||||
|  *					d = *q; |  | ||||||
|  * </programlisting> |  | ||||||
|  * |  | ||||||
|  * because the read of "*q" depends on the read of "p" and these |  | ||||||
|  * two reads are separated by a read_barrier_depends().  However, |  | ||||||
|  * the following code, with the same initial values for "a" and "b": |  | ||||||
|  * |  | ||||||
|  * <programlisting> |  | ||||||
|  *	CPU 0				CPU 1 |  | ||||||
|  * |  | ||||||
|  *	a = 2; |  | ||||||
|  *	memory_barrier(); |  | ||||||
|  *	b = 3;				y = b; |  | ||||||
|  *					read_barrier_depends(); |  | ||||||
|  *					x = a; |  | ||||||
|  * </programlisting> |  | ||||||
|  * |  | ||||||
|  * does not enforce ordering, since there is no data dependency between |  | ||||||
|  * the read of "a" and the read of "b".  Therefore, on some CPUs, such |  | ||||||
|  * as Alpha, "y" could be set to 3 and "x" to 0.  Use rmb() |  | ||||||
|  * in cases like this where there are no data dependencies. |  | ||||||
|  */ |  | ||||||
| # define read_barrier_depends()	do { barrier(); smp_check_barrier(); } while (0) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif /* !CONFIG_SMP */ |  | ||||||
| 
 |  | ||||||
| #define __smp_mb__before_atomic()	barrier() |  | ||||||
| #define __smp_mb__after_atomic()	barrier() |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/barrier.h> |  | ||||||
| 
 |  | ||||||
| #endif /* _BLACKFIN_BARRIER_H */ |  | ||||||
|  | @ -1,95 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Global extern defines for blackfin |  | ||||||
|  * |  | ||||||
|  * Copyright 2006-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BFIN_GLOBAL_H_ |  | ||||||
| #define _BFIN_GLOBAL_H_ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| #include <linux/linkage.h> |  | ||||||
| #include <linux/types.h> |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_DMA_UNCACHED_32M) |  | ||||||
| # define DMA_UNCACHED_REGION (32 * 1024 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_16M) |  | ||||||
| # define DMA_UNCACHED_REGION (16 * 1024 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_8M) |  | ||||||
| # define DMA_UNCACHED_REGION (8 * 1024 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_4M) |  | ||||||
| # define DMA_UNCACHED_REGION (4 * 1024 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_2M) |  | ||||||
| # define DMA_UNCACHED_REGION (2 * 1024 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_1M) |  | ||||||
| # define DMA_UNCACHED_REGION (1024 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_512K) |  | ||||||
| # define DMA_UNCACHED_REGION (512 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_256K) |  | ||||||
| # define DMA_UNCACHED_REGION (256 * 1024) |  | ||||||
| #elif defined(CONFIG_DMA_UNCACHED_128K) |  | ||||||
| # define DMA_UNCACHED_REGION (128 * 1024) |  | ||||||
| #else |  | ||||||
| # define DMA_UNCACHED_REGION (0) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| extern void bfin_setup_caches(unsigned int cpu); |  | ||||||
| extern void bfin_setup_cpudata(unsigned int cpu); |  | ||||||
| 
 |  | ||||||
| extern unsigned long get_cclk(void); |  | ||||||
| extern unsigned long get_sclk(void); |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| extern unsigned long get_sclk0(void); |  | ||||||
| extern unsigned long get_sclk1(void); |  | ||||||
| extern unsigned long get_dclk(void); |  | ||||||
| #endif |  | ||||||
| extern unsigned long sclk_to_usecs(unsigned long sclk); |  | ||||||
| extern unsigned long usecs_to_sclk(unsigned long usecs); |  | ||||||
| 
 |  | ||||||
| struct pt_regs; |  | ||||||
| #if defined(CONFIG_DEBUG_VERBOSE) |  | ||||||
| extern void dump_bfin_process(struct pt_regs *regs); |  | ||||||
| extern void dump_bfin_mem(struct pt_regs *regs); |  | ||||||
| extern void dump_bfin_trace_buffer(void); |  | ||||||
| #else |  | ||||||
| #define dump_bfin_process(regs) |  | ||||||
| #define dump_bfin_mem(regs) |  | ||||||
| #define dump_bfin_trace_buffer() |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| extern void *l1_data_A_sram_alloc(size_t); |  | ||||||
| extern void *l1_data_B_sram_alloc(size_t); |  | ||||||
| extern void *l1_inst_sram_alloc(size_t); |  | ||||||
| extern void *l1_data_sram_alloc(size_t); |  | ||||||
| extern void *l1_data_sram_zalloc(size_t); |  | ||||||
| extern void *l2_sram_alloc(size_t); |  | ||||||
| extern void *l2_sram_zalloc(size_t); |  | ||||||
| extern int l1_data_A_sram_free(const void*); |  | ||||||
| extern int l1_data_B_sram_free(const void*); |  | ||||||
| extern int l1_inst_sram_free(const void*); |  | ||||||
| extern int l1_data_sram_free(const void*); |  | ||||||
| extern int l2_sram_free(const void *); |  | ||||||
| extern int sram_free(const void*); |  | ||||||
| 
 |  | ||||||
| #define L1_INST_SRAM		0x00000001 |  | ||||||
| #define L1_DATA_A_SRAM		0x00000002 |  | ||||||
| #define L1_DATA_B_SRAM		0x00000004 |  | ||||||
| #define L1_DATA_SRAM		0x00000006 |  | ||||||
| #define L2_SRAM			0x00000008 |  | ||||||
| extern void *sram_alloc_with_lsl(size_t, unsigned long); |  | ||||||
| extern int sram_free_with_lsl(const void*); |  | ||||||
| 
 |  | ||||||
| extern void *isram_memcpy(void *dest, const void *src, size_t n); |  | ||||||
| 
 |  | ||||||
| extern const char bfin_board_name[]; |  | ||||||
| 
 |  | ||||||
| extern unsigned long bfin_sic_iwr[]; |  | ||||||
| extern unsigned vr_wakeup; |  | ||||||
| extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */ |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif				/* _BLACKFIN_H_ */ |  | ||||||
|  | @ -1,40 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Blackfin LCD Framebuffer driver SHARP LQ035Q1DH02 |  | ||||||
|  * |  | ||||||
|  * Copyright 2008-2009 Analog Devices Inc. |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef BFIN_LQ035Q1_H |  | ||||||
| #define BFIN_LQ035Q1_H |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * LCD Modes |  | ||||||
|  */ |  | ||||||
| #define LQ035_RL	(0 << 8)	/* Right -> Left Scan */ |  | ||||||
| #define LQ035_LR	(1 << 8)	/* Left -> Right Scan */ |  | ||||||
| #define LQ035_TB	(1 << 9)	/* Top -> Botton Scan */ |  | ||||||
| #define LQ035_BT	(0 << 9)	/* Botton -> Top Scan */ |  | ||||||
| #define LQ035_BGR	(1 << 11)	/* Use BGR format */ |  | ||||||
| #define LQ035_RGB	(0 << 11)	/* Use RGB format */ |  | ||||||
| #define LQ035_NORM	(1 << 13)	/* Reversal */ |  | ||||||
| #define LQ035_REV	(0 << 13)	/* Reversal */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * PPI Modes |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #define USE_RGB565_16_BIT_PPI	1 |  | ||||||
| #define USE_RGB565_8_BIT_PPI	2 |  | ||||||
| #define USE_RGB888_8_BIT_PPI	3 |  | ||||||
| 
 |  | ||||||
| struct bfin_lq035q1fb_disp_info { |  | ||||||
| 
 |  | ||||||
| 	unsigned	mode; |  | ||||||
| 	unsigned	ppi_mode; |  | ||||||
| 	/* GPIOs */ |  | ||||||
| 	int		use_bl; |  | ||||||
| 	unsigned 	gpio_bl; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #endif /* BFIN_LQ035Q1_H */ |  | ||||||
|  | @ -1,86 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Blackfin On-Chip SPI Driver |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _SPI_CHANNEL_H_ |  | ||||||
| #define _SPI_CHANNEL_H_ |  | ||||||
| 
 |  | ||||||
| #define MIN_SPI_BAUD_VAL	2 |  | ||||||
| 
 |  | ||||||
| #define BIT_CTL_ENABLE      0x4000 |  | ||||||
| #define BIT_CTL_OPENDRAIN   0x2000 |  | ||||||
| #define BIT_CTL_MASTER      0x1000 |  | ||||||
| #define BIT_CTL_CPOL        0x0800 |  | ||||||
| #define BIT_CTL_CPHA        0x0400 |  | ||||||
| #define BIT_CTL_LSBF        0x0200 |  | ||||||
| #define BIT_CTL_WORDSIZE    0x0100 |  | ||||||
| #define BIT_CTL_EMISO       0x0020 |  | ||||||
| #define BIT_CTL_PSSE        0x0010 |  | ||||||
| #define BIT_CTL_GM          0x0008 |  | ||||||
| #define BIT_CTL_SZ          0x0004 |  | ||||||
| #define BIT_CTL_RXMOD       0x0000 |  | ||||||
| #define BIT_CTL_TXMOD       0x0001 |  | ||||||
| #define BIT_CTL_TIMOD_DMA_TX 0x0003 |  | ||||||
| #define BIT_CTL_TIMOD_DMA_RX 0x0002 |  | ||||||
| #define BIT_CTL_SENDOPT     0x0004 |  | ||||||
| #define BIT_CTL_TIMOD       0x0003 |  | ||||||
| 
 |  | ||||||
| #define BIT_STAT_SPIF       0x0001 |  | ||||||
| #define BIT_STAT_MODF       0x0002 |  | ||||||
| #define BIT_STAT_TXE        0x0004 |  | ||||||
| #define BIT_STAT_TXS        0x0008 |  | ||||||
| #define BIT_STAT_RBSY       0x0010 |  | ||||||
| #define BIT_STAT_RXS        0x0020 |  | ||||||
| #define BIT_STAT_TXCOL      0x0040 |  | ||||||
| #define BIT_STAT_CLR        0xFFFF |  | ||||||
| 
 |  | ||||||
| #define BIT_STU_SENDOVER    0x0001 |  | ||||||
| #define BIT_STU_RECVFULL    0x0020 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * All Blackfin system MMRs are padded to 32bits even if the register |  | ||||||
|  * itself is only 16bits.  So use a helper macro to streamline this. |  | ||||||
|  */ |  | ||||||
| #define __BFP(m) u16 m; u16 __pad_##m |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin spi registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_spi_regs { |  | ||||||
| 	__BFP(ctl); |  | ||||||
| 	__BFP(flg); |  | ||||||
| 	__BFP(stat); |  | ||||||
| 	__BFP(tdbr); |  | ||||||
| 	__BFP(rdbr); |  | ||||||
| 	__BFP(baud); |  | ||||||
| 	__BFP(shadow); |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #undef __BFP |  | ||||||
| 
 |  | ||||||
| #define MAX_CTRL_CS          8  /* cs in spi controller */ |  | ||||||
| 
 |  | ||||||
| /* device.platform_data for SSP controller devices */ |  | ||||||
| struct bfin5xx_spi_master { |  | ||||||
| 	u16 num_chipselect; |  | ||||||
| 	u8 enable_dma; |  | ||||||
| 	u16 pin_req[7]; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /* spi_board_info.controller_data for SPI slave devices,
 |  | ||||||
|  * copied to spi_device.platform_data ... mostly for dma tuning |  | ||||||
|  */ |  | ||||||
| struct bfin5xx_spi_chip { |  | ||||||
| 	u16 ctl_reg; |  | ||||||
| 	u8 enable_dma; |  | ||||||
| 	u16 cs_chg_udelay; /* Some devices require 16-bit delays */ |  | ||||||
| 	/* Value to send if no TX value is supplied, usually 0x0 or 0xFFFF */ |  | ||||||
| 	u16 idle_tx_val; |  | ||||||
| 	u8 pio_interrupt; /* Enable spi data irq */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #endif /* _SPI_CHANNEL_H_ */ |  | ||||||
|  | @ -1,728 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_can.h - interface to Blackfin CANs |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BFIN_CAN_H__ |  | ||||||
| #define __ASM_BFIN_CAN_H__ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * transmit and receive channels |  | ||||||
|  */ |  | ||||||
| #define TRANSMIT_CHL            24 |  | ||||||
| #define RECEIVE_STD_CHL         0 |  | ||||||
| #define RECEIVE_EXT_CHL         4 |  | ||||||
| #define RECEIVE_RTR_CHL         8 |  | ||||||
| #define RECEIVE_EXT_RTR_CHL     12 |  | ||||||
| #define MAX_CHL_NUMBER          32 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * All Blackfin system MMRs are padded to 32bits even if the register |  | ||||||
|  * itself is only 16bits.  So use a helper macro to streamline this. |  | ||||||
|  */ |  | ||||||
| #define __BFP(m) u16 m; u16 __pad_##m |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin can registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_can_mask_regs { |  | ||||||
| 	__BFP(aml); |  | ||||||
| 	__BFP(amh); |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| struct bfin_can_channel_regs { |  | ||||||
| 	/* data[0,2,4,6] -> data{0,1,2,3} while data[1,3,5,7] is padding */ |  | ||||||
| 	u16 data[8]; |  | ||||||
| 	__BFP(dlc); |  | ||||||
| 	__BFP(tsv); |  | ||||||
| 	__BFP(id0); |  | ||||||
| 	__BFP(id1); |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| struct bfin_can_regs { |  | ||||||
| 	/*
 |  | ||||||
| 	 * global control and status registers |  | ||||||
| 	 */ |  | ||||||
| 	__BFP(mc1);           /* offset 0x00 */ |  | ||||||
| 	__BFP(md1);           /* offset 0x04 */ |  | ||||||
| 	__BFP(trs1);          /* offset 0x08 */ |  | ||||||
| 	__BFP(trr1);          /* offset 0x0c */ |  | ||||||
| 	__BFP(ta1);           /* offset 0x10 */ |  | ||||||
| 	__BFP(aa1);           /* offset 0x14 */ |  | ||||||
| 	__BFP(rmp1);          /* offset 0x18 */ |  | ||||||
| 	__BFP(rml1);          /* offset 0x1c */ |  | ||||||
| 	__BFP(mbtif1);        /* offset 0x20 */ |  | ||||||
| 	__BFP(mbrif1);        /* offset 0x24 */ |  | ||||||
| 	__BFP(mbim1);         /* offset 0x28 */ |  | ||||||
| 	__BFP(rfh1);          /* offset 0x2c */ |  | ||||||
| 	__BFP(opss1);         /* offset 0x30 */ |  | ||||||
| 	u32 __pad1[3]; |  | ||||||
| 	__BFP(mc2);           /* offset 0x40 */ |  | ||||||
| 	__BFP(md2);           /* offset 0x44 */ |  | ||||||
| 	__BFP(trs2);          /* offset 0x48 */ |  | ||||||
| 	__BFP(trr2);          /* offset 0x4c */ |  | ||||||
| 	__BFP(ta2);           /* offset 0x50 */ |  | ||||||
| 	__BFP(aa2);           /* offset 0x54 */ |  | ||||||
| 	__BFP(rmp2);          /* offset 0x58 */ |  | ||||||
| 	__BFP(rml2);          /* offset 0x5c */ |  | ||||||
| 	__BFP(mbtif2);        /* offset 0x60 */ |  | ||||||
| 	__BFP(mbrif2);        /* offset 0x64 */ |  | ||||||
| 	__BFP(mbim2);         /* offset 0x68 */ |  | ||||||
| 	__BFP(rfh2);          /* offset 0x6c */ |  | ||||||
| 	__BFP(opss2);         /* offset 0x70 */ |  | ||||||
| 	u32 __pad2[3]; |  | ||||||
| 	__BFP(clock);         /* offset 0x80 */ |  | ||||||
| 	__BFP(timing);        /* offset 0x84 */ |  | ||||||
| 	__BFP(debug);         /* offset 0x88 */ |  | ||||||
| 	__BFP(status);        /* offset 0x8c */ |  | ||||||
| 	__BFP(cec);           /* offset 0x90 */ |  | ||||||
| 	__BFP(gis);           /* offset 0x94 */ |  | ||||||
| 	__BFP(gim);           /* offset 0x98 */ |  | ||||||
| 	__BFP(gif);           /* offset 0x9c */ |  | ||||||
| 	__BFP(control);       /* offset 0xa0 */ |  | ||||||
| 	__BFP(intr);          /* offset 0xa4 */ |  | ||||||
| 	__BFP(version);       /* offset 0xa8 */ |  | ||||||
| 	__BFP(mbtd);          /* offset 0xac */ |  | ||||||
| 	__BFP(ewr);           /* offset 0xb0 */ |  | ||||||
| 	__BFP(esr);           /* offset 0xb4 */ |  | ||||||
| 	u32 __pad3[2]; |  | ||||||
| 	__BFP(ucreg);         /* offset 0xc0 */ |  | ||||||
| 	__BFP(uccnt);         /* offset 0xc4 */ |  | ||||||
| 	__BFP(ucrc);          /* offset 0xc8 */ |  | ||||||
| 	__BFP(uccnf);         /* offset 0xcc */ |  | ||||||
| 	u32 __pad4[1]; |  | ||||||
| 	__BFP(version2);      /* offset 0xd4 */ |  | ||||||
| 	u32 __pad5[10]; |  | ||||||
| 
 |  | ||||||
| 	/*
 |  | ||||||
| 	 * channel(mailbox) mask and message registers |  | ||||||
| 	 */ |  | ||||||
| 	struct bfin_can_mask_regs msk[MAX_CHL_NUMBER];    /* offset 0x100 */ |  | ||||||
| 	struct bfin_can_channel_regs chl[MAX_CHL_NUMBER]; /* offset 0x200 */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #undef __BFP |  | ||||||
| 
 |  | ||||||
| /* CAN_CONTROL Masks */ |  | ||||||
| #define SRS			0x0001	/* Software Reset */ |  | ||||||
| #define DNM			0x0002	/* Device Net Mode */ |  | ||||||
| #define ABO			0x0004	/* Auto-Bus On Enable */ |  | ||||||
| #define TXPRIO		0x0008	/* TX Priority (Priority/Mailbox*) */ |  | ||||||
| #define WBA			0x0010	/* Wake-Up On CAN Bus Activity Enable */ |  | ||||||
| #define SMR			0x0020	/* Sleep Mode Request */ |  | ||||||
| #define CSR			0x0040	/* CAN Suspend Mode Request */ |  | ||||||
| #define CCR			0x0080	/* CAN Configuration Mode Request */ |  | ||||||
| 
 |  | ||||||
| /* CAN_STATUS Masks */ |  | ||||||
| #define WT			0x0001	/* TX Warning Flag */ |  | ||||||
| #define WR			0x0002	/* RX Warning Flag */ |  | ||||||
| #define EP			0x0004	/* Error Passive Mode */ |  | ||||||
| #define EBO			0x0008	/* Error Bus Off Mode */ |  | ||||||
| #define SMA			0x0020	/* Sleep Mode Acknowledge */ |  | ||||||
| #define CSA			0x0040	/* Suspend Mode Acknowledge */ |  | ||||||
| #define CCA			0x0080	/* Configuration Mode Acknowledge */ |  | ||||||
| #define MBPTR		0x1F00	/* Mailbox Pointer */ |  | ||||||
| #define TRM			0x4000	/* Transmit Mode */ |  | ||||||
| #define REC			0x8000	/* Receive Mode */ |  | ||||||
| 
 |  | ||||||
| /* CAN_CLOCK Masks */ |  | ||||||
| #define BRP			0x03FF	/* Bit-Rate Pre-Scaler */ |  | ||||||
| 
 |  | ||||||
| /* CAN_TIMING Masks */ |  | ||||||
| #define TSEG1		0x000F	/* Time Segment 1 */ |  | ||||||
| #define TSEG2		0x0070	/* Time Segment 2 */ |  | ||||||
| #define SAM			0x0080	/* Sampling */ |  | ||||||
| #define SJW			0x0300	/* Synchronization Jump Width */ |  | ||||||
| 
 |  | ||||||
| /* CAN_DEBUG Masks */ |  | ||||||
| #define DEC			0x0001	/* Disable CAN Error Counters */ |  | ||||||
| #define DRI			0x0002	/* Disable CAN RX Input */ |  | ||||||
| #define DTO			0x0004	/* Disable CAN TX Output */ |  | ||||||
| #define DIL			0x0008	/* Disable CAN Internal Loop */ |  | ||||||
| #define MAA			0x0010	/* Mode Auto-Acknowledge Enable */ |  | ||||||
| #define MRB			0x0020	/* Mode Read Back Enable */ |  | ||||||
| #define CDE			0x8000	/* CAN Debug Enable */ |  | ||||||
| 
 |  | ||||||
| /* CAN_CEC Masks */ |  | ||||||
| #define RXECNT		0x00FF	/* Receive Error Counter */ |  | ||||||
| #define TXECNT		0xFF00	/* Transmit Error Counter */ |  | ||||||
| 
 |  | ||||||
| /* CAN_INTR Masks */ |  | ||||||
| #define MBRIRQ	0x0001	/* Mailbox Receive Interrupt */ |  | ||||||
| #define MBTIRQ	0x0002	/* Mailbox Transmit Interrupt */ |  | ||||||
| #define GIRQ		0x0004	/* Global Interrupt */ |  | ||||||
| #define SMACK		0x0008	/* Sleep Mode Acknowledge */ |  | ||||||
| #define CANTX		0x0040	/* CAN TX Bus Value */ |  | ||||||
| #define CANRX		0x0080	/* CAN RX Bus Value */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBxx_ID1 and CAN_MBxx_ID0 Masks */ |  | ||||||
| #define DFC			0xFFFF	/* Data Filtering Code (If Enabled) (ID0) */ |  | ||||||
| #define EXTID_LO	0xFFFF	/* Lower 16 Bits of Extended Identifier (ID0) */ |  | ||||||
| #define EXTID_HI	0x0003	/* Upper 2 Bits of Extended Identifier (ID1) */ |  | ||||||
| #define BASEID		0x1FFC	/* Base Identifier */ |  | ||||||
| #define IDE			0x2000	/* Identifier Extension */ |  | ||||||
| #define RTR			0x4000	/* Remote Frame Transmission Request */ |  | ||||||
| #define AME			0x8000	/* Acceptance Mask Enable */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBxx_TIMESTAMP Masks */ |  | ||||||
| #define TSV			0xFFFF	/* Timestamp */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBxx_LENGTH Masks */ |  | ||||||
| #define DLC			0x000F	/* Data Length Code */ |  | ||||||
| 
 |  | ||||||
| /* CAN_AMxxH and CAN_AMxxL Masks */ |  | ||||||
| #define DFM			0xFFFF	/* Data Field Mask (If Enabled) (CAN_AMxxL) */ |  | ||||||
| #define EXTID_LO	0xFFFF	/* Lower 16 Bits of Extended Identifier (CAN_AMxxL) */ |  | ||||||
| #define EXTID_HI	0x0003	/* Upper 2 Bits of Extended Identifier (CAN_AMxxH) */ |  | ||||||
| #define BASEID		0x1FFC	/* Base Identifier */ |  | ||||||
| #define AMIDE		0x2000	/* Acceptance Mask ID Extension Enable */ |  | ||||||
| #define FMD			0x4000	/* Full Mask Data Field Enable */ |  | ||||||
| #define FDF			0x8000	/* Filter On Data Field Enable */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MC1 Masks */ |  | ||||||
| #define MC0			0x0001	/* Enable Mailbox 0 */ |  | ||||||
| #define MC1			0x0002	/* Enable Mailbox 1 */ |  | ||||||
| #define MC2			0x0004	/* Enable Mailbox 2 */ |  | ||||||
| #define MC3			0x0008	/* Enable Mailbox 3 */ |  | ||||||
| #define MC4			0x0010	/* Enable Mailbox 4 */ |  | ||||||
| #define MC5			0x0020	/* Enable Mailbox 5 */ |  | ||||||
| #define MC6			0x0040	/* Enable Mailbox 6 */ |  | ||||||
| #define MC7			0x0080	/* Enable Mailbox 7 */ |  | ||||||
| #define MC8			0x0100	/* Enable Mailbox 8 */ |  | ||||||
| #define MC9			0x0200	/* Enable Mailbox 9 */ |  | ||||||
| #define MC10		0x0400	/* Enable Mailbox 10 */ |  | ||||||
| #define MC11		0x0800	/* Enable Mailbox 11 */ |  | ||||||
| #define MC12		0x1000	/* Enable Mailbox 12 */ |  | ||||||
| #define MC13		0x2000	/* Enable Mailbox 13 */ |  | ||||||
| #define MC14		0x4000	/* Enable Mailbox 14 */ |  | ||||||
| #define MC15		0x8000	/* Enable Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MC2 Masks */ |  | ||||||
| #define MC16		0x0001	/* Enable Mailbox 16 */ |  | ||||||
| #define MC17		0x0002	/* Enable Mailbox 17 */ |  | ||||||
| #define MC18		0x0004	/* Enable Mailbox 18 */ |  | ||||||
| #define MC19		0x0008	/* Enable Mailbox 19 */ |  | ||||||
| #define MC20		0x0010	/* Enable Mailbox 20 */ |  | ||||||
| #define MC21		0x0020	/* Enable Mailbox 21 */ |  | ||||||
| #define MC22		0x0040	/* Enable Mailbox 22 */ |  | ||||||
| #define MC23		0x0080	/* Enable Mailbox 23 */ |  | ||||||
| #define MC24		0x0100	/* Enable Mailbox 24 */ |  | ||||||
| #define MC25		0x0200	/* Enable Mailbox 25 */ |  | ||||||
| #define MC26		0x0400	/* Enable Mailbox 26 */ |  | ||||||
| #define MC27		0x0800	/* Enable Mailbox 27 */ |  | ||||||
| #define MC28		0x1000	/* Enable Mailbox 28 */ |  | ||||||
| #define MC29		0x2000	/* Enable Mailbox 29 */ |  | ||||||
| #define MC30		0x4000	/* Enable Mailbox 30 */ |  | ||||||
| #define MC31		0x8000	/* Enable Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MD1 Masks */ |  | ||||||
| #define MD0			0x0001	/* Enable Mailbox 0 For Receive */ |  | ||||||
| #define MD1			0x0002	/* Enable Mailbox 1 For Receive */ |  | ||||||
| #define MD2			0x0004	/* Enable Mailbox 2 For Receive */ |  | ||||||
| #define MD3			0x0008	/* Enable Mailbox 3 For Receive */ |  | ||||||
| #define MD4			0x0010	/* Enable Mailbox 4 For Receive */ |  | ||||||
| #define MD5			0x0020	/* Enable Mailbox 5 For Receive */ |  | ||||||
| #define MD6			0x0040	/* Enable Mailbox 6 For Receive */ |  | ||||||
| #define MD7			0x0080	/* Enable Mailbox 7 For Receive */ |  | ||||||
| #define MD8			0x0100	/* Enable Mailbox 8 For Receive */ |  | ||||||
| #define MD9			0x0200	/* Enable Mailbox 9 For Receive */ |  | ||||||
| #define MD10		0x0400	/* Enable Mailbox 10 For Receive */ |  | ||||||
| #define MD11		0x0800	/* Enable Mailbox 11 For Receive */ |  | ||||||
| #define MD12		0x1000	/* Enable Mailbox 12 For Receive */ |  | ||||||
| #define MD13		0x2000	/* Enable Mailbox 13 For Receive */ |  | ||||||
| #define MD14		0x4000	/* Enable Mailbox 14 For Receive */ |  | ||||||
| #define MD15		0x8000	/* Enable Mailbox 15 For Receive */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MD2 Masks */ |  | ||||||
| #define MD16		0x0001	/* Enable Mailbox 16 For Receive */ |  | ||||||
| #define MD17		0x0002	/* Enable Mailbox 17 For Receive */ |  | ||||||
| #define MD18		0x0004	/* Enable Mailbox 18 For Receive */ |  | ||||||
| #define MD19		0x0008	/* Enable Mailbox 19 For Receive */ |  | ||||||
| #define MD20		0x0010	/* Enable Mailbox 20 For Receive */ |  | ||||||
| #define MD21		0x0020	/* Enable Mailbox 21 For Receive */ |  | ||||||
| #define MD22		0x0040	/* Enable Mailbox 22 For Receive */ |  | ||||||
| #define MD23		0x0080	/* Enable Mailbox 23 For Receive */ |  | ||||||
| #define MD24		0x0100	/* Enable Mailbox 24 For Receive */ |  | ||||||
| #define MD25		0x0200	/* Enable Mailbox 25 For Receive */ |  | ||||||
| #define MD26		0x0400	/* Enable Mailbox 26 For Receive */ |  | ||||||
| #define MD27		0x0800	/* Enable Mailbox 27 For Receive */ |  | ||||||
| #define MD28		0x1000	/* Enable Mailbox 28 For Receive */ |  | ||||||
| #define MD29		0x2000	/* Enable Mailbox 29 For Receive */ |  | ||||||
| #define MD30		0x4000	/* Enable Mailbox 30 For Receive */ |  | ||||||
| #define MD31		0x8000	/* Enable Mailbox 31 For Receive */ |  | ||||||
| 
 |  | ||||||
| /* CAN_RMP1 Masks */ |  | ||||||
| #define RMP0		0x0001	/* RX Message Pending In Mailbox 0 */ |  | ||||||
| #define RMP1		0x0002	/* RX Message Pending In Mailbox 1 */ |  | ||||||
| #define RMP2		0x0004	/* RX Message Pending In Mailbox 2 */ |  | ||||||
| #define RMP3		0x0008	/* RX Message Pending In Mailbox 3 */ |  | ||||||
| #define RMP4		0x0010	/* RX Message Pending In Mailbox 4 */ |  | ||||||
| #define RMP5		0x0020	/* RX Message Pending In Mailbox 5 */ |  | ||||||
| #define RMP6		0x0040	/* RX Message Pending In Mailbox 6 */ |  | ||||||
| #define RMP7		0x0080	/* RX Message Pending In Mailbox 7 */ |  | ||||||
| #define RMP8		0x0100	/* RX Message Pending In Mailbox 8 */ |  | ||||||
| #define RMP9		0x0200	/* RX Message Pending In Mailbox 9 */ |  | ||||||
| #define RMP10		0x0400	/* RX Message Pending In Mailbox 10 */ |  | ||||||
| #define RMP11		0x0800	/* RX Message Pending In Mailbox 11 */ |  | ||||||
| #define RMP12		0x1000	/* RX Message Pending In Mailbox 12 */ |  | ||||||
| #define RMP13		0x2000	/* RX Message Pending In Mailbox 13 */ |  | ||||||
| #define RMP14		0x4000	/* RX Message Pending In Mailbox 14 */ |  | ||||||
| #define RMP15		0x8000	/* RX Message Pending In Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_RMP2 Masks */ |  | ||||||
| #define RMP16		0x0001	/* RX Message Pending In Mailbox 16 */ |  | ||||||
| #define RMP17		0x0002	/* RX Message Pending In Mailbox 17 */ |  | ||||||
| #define RMP18		0x0004	/* RX Message Pending In Mailbox 18 */ |  | ||||||
| #define RMP19		0x0008	/* RX Message Pending In Mailbox 19 */ |  | ||||||
| #define RMP20		0x0010	/* RX Message Pending In Mailbox 20 */ |  | ||||||
| #define RMP21		0x0020	/* RX Message Pending In Mailbox 21 */ |  | ||||||
| #define RMP22		0x0040	/* RX Message Pending In Mailbox 22 */ |  | ||||||
| #define RMP23		0x0080	/* RX Message Pending In Mailbox 23 */ |  | ||||||
| #define RMP24		0x0100	/* RX Message Pending In Mailbox 24 */ |  | ||||||
| #define RMP25		0x0200	/* RX Message Pending In Mailbox 25 */ |  | ||||||
| #define RMP26		0x0400	/* RX Message Pending In Mailbox 26 */ |  | ||||||
| #define RMP27		0x0800	/* RX Message Pending In Mailbox 27 */ |  | ||||||
| #define RMP28		0x1000	/* RX Message Pending In Mailbox 28 */ |  | ||||||
| #define RMP29		0x2000	/* RX Message Pending In Mailbox 29 */ |  | ||||||
| #define RMP30		0x4000	/* RX Message Pending In Mailbox 30 */ |  | ||||||
| #define RMP31		0x8000	/* RX Message Pending In Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_RML1 Masks */ |  | ||||||
| #define RML0		0x0001	/* RX Message Lost In Mailbox 0 */ |  | ||||||
| #define RML1		0x0002	/* RX Message Lost In Mailbox 1 */ |  | ||||||
| #define RML2		0x0004	/* RX Message Lost In Mailbox 2 */ |  | ||||||
| #define RML3		0x0008	/* RX Message Lost In Mailbox 3 */ |  | ||||||
| #define RML4		0x0010	/* RX Message Lost In Mailbox 4 */ |  | ||||||
| #define RML5		0x0020	/* RX Message Lost In Mailbox 5 */ |  | ||||||
| #define RML6		0x0040	/* RX Message Lost In Mailbox 6 */ |  | ||||||
| #define RML7		0x0080	/* RX Message Lost In Mailbox 7 */ |  | ||||||
| #define RML8		0x0100	/* RX Message Lost In Mailbox 8 */ |  | ||||||
| #define RML9		0x0200	/* RX Message Lost In Mailbox 9 */ |  | ||||||
| #define RML10		0x0400	/* RX Message Lost In Mailbox 10 */ |  | ||||||
| #define RML11		0x0800	/* RX Message Lost In Mailbox 11 */ |  | ||||||
| #define RML12		0x1000	/* RX Message Lost In Mailbox 12 */ |  | ||||||
| #define RML13		0x2000	/* RX Message Lost In Mailbox 13 */ |  | ||||||
| #define RML14		0x4000	/* RX Message Lost In Mailbox 14 */ |  | ||||||
| #define RML15		0x8000	/* RX Message Lost In Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_RML2 Masks */ |  | ||||||
| #define RML16		0x0001	/* RX Message Lost In Mailbox 16 */ |  | ||||||
| #define RML17		0x0002	/* RX Message Lost In Mailbox 17 */ |  | ||||||
| #define RML18		0x0004	/* RX Message Lost In Mailbox 18 */ |  | ||||||
| #define RML19		0x0008	/* RX Message Lost In Mailbox 19 */ |  | ||||||
| #define RML20		0x0010	/* RX Message Lost In Mailbox 20 */ |  | ||||||
| #define RML21		0x0020	/* RX Message Lost In Mailbox 21 */ |  | ||||||
| #define RML22		0x0040	/* RX Message Lost In Mailbox 22 */ |  | ||||||
| #define RML23		0x0080	/* RX Message Lost In Mailbox 23 */ |  | ||||||
| #define RML24		0x0100	/* RX Message Lost In Mailbox 24 */ |  | ||||||
| #define RML25		0x0200	/* RX Message Lost In Mailbox 25 */ |  | ||||||
| #define RML26		0x0400	/* RX Message Lost In Mailbox 26 */ |  | ||||||
| #define RML27		0x0800	/* RX Message Lost In Mailbox 27 */ |  | ||||||
| #define RML28		0x1000	/* RX Message Lost In Mailbox 28 */ |  | ||||||
| #define RML29		0x2000	/* RX Message Lost In Mailbox 29 */ |  | ||||||
| #define RML30		0x4000	/* RX Message Lost In Mailbox 30 */ |  | ||||||
| #define RML31		0x8000	/* RX Message Lost In Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_OPSS1 Masks */ |  | ||||||
| #define OPSS0		0x0001	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 0 */ |  | ||||||
| #define OPSS1		0x0002	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 1 */ |  | ||||||
| #define OPSS2		0x0004	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 2 */ |  | ||||||
| #define OPSS3		0x0008	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 3 */ |  | ||||||
| #define OPSS4		0x0010	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 4 */ |  | ||||||
| #define OPSS5		0x0020	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 5 */ |  | ||||||
| #define OPSS6		0x0040	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 6 */ |  | ||||||
| #define OPSS7		0x0080	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 7 */ |  | ||||||
| #define OPSS8		0x0100	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 8 */ |  | ||||||
| #define OPSS9		0x0200	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 9 */ |  | ||||||
| #define OPSS10		0x0400	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 10 */ |  | ||||||
| #define OPSS11		0x0800	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 11 */ |  | ||||||
| #define OPSS12		0x1000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 12 */ |  | ||||||
| #define OPSS13		0x2000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 13 */ |  | ||||||
| #define OPSS14		0x4000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 14 */ |  | ||||||
| #define OPSS15		0x8000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_OPSS2 Masks */ |  | ||||||
| #define OPSS16		0x0001	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 16 */ |  | ||||||
| #define OPSS17		0x0002	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 17 */ |  | ||||||
| #define OPSS18		0x0004	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 18 */ |  | ||||||
| #define OPSS19		0x0008	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 19 */ |  | ||||||
| #define OPSS20		0x0010	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 20 */ |  | ||||||
| #define OPSS21		0x0020	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 21 */ |  | ||||||
| #define OPSS22		0x0040	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 22 */ |  | ||||||
| #define OPSS23		0x0080	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 23 */ |  | ||||||
| #define OPSS24		0x0100	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 24 */ |  | ||||||
| #define OPSS25		0x0200	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 25 */ |  | ||||||
| #define OPSS26		0x0400	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 26 */ |  | ||||||
| #define OPSS27		0x0800	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 27 */ |  | ||||||
| #define OPSS28		0x1000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 28 */ |  | ||||||
| #define OPSS29		0x2000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 29 */ |  | ||||||
| #define OPSS30		0x4000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 30 */ |  | ||||||
| #define OPSS31		0x8000	/* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_TRR1 Masks */ |  | ||||||
| #define TRR0		0x0001	/* Deny But Don't Lock Access To Mailbox 0 */ |  | ||||||
| #define TRR1		0x0002	/* Deny But Don't Lock Access To Mailbox 1 */ |  | ||||||
| #define TRR2		0x0004	/* Deny But Don't Lock Access To Mailbox 2 */ |  | ||||||
| #define TRR3		0x0008	/* Deny But Don't Lock Access To Mailbox 3 */ |  | ||||||
| #define TRR4		0x0010	/* Deny But Don't Lock Access To Mailbox 4 */ |  | ||||||
| #define TRR5		0x0020	/* Deny But Don't Lock Access To Mailbox 5 */ |  | ||||||
| #define TRR6		0x0040	/* Deny But Don't Lock Access To Mailbox 6 */ |  | ||||||
| #define TRR7		0x0080	/* Deny But Don't Lock Access To Mailbox 7 */ |  | ||||||
| #define TRR8		0x0100	/* Deny But Don't Lock Access To Mailbox 8 */ |  | ||||||
| #define TRR9		0x0200	/* Deny But Don't Lock Access To Mailbox 9 */ |  | ||||||
| #define TRR10		0x0400	/* Deny But Don't Lock Access To Mailbox 10 */ |  | ||||||
| #define TRR11		0x0800	/* Deny But Don't Lock Access To Mailbox 11 */ |  | ||||||
| #define TRR12		0x1000	/* Deny But Don't Lock Access To Mailbox 12 */ |  | ||||||
| #define TRR13		0x2000	/* Deny But Don't Lock Access To Mailbox 13 */ |  | ||||||
| #define TRR14		0x4000	/* Deny But Don't Lock Access To Mailbox 14 */ |  | ||||||
| #define TRR15		0x8000	/* Deny But Don't Lock Access To Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_TRR2 Masks */ |  | ||||||
| #define TRR16		0x0001	/* Deny But Don't Lock Access To Mailbox 16 */ |  | ||||||
| #define TRR17		0x0002	/* Deny But Don't Lock Access To Mailbox 17 */ |  | ||||||
| #define TRR18		0x0004	/* Deny But Don't Lock Access To Mailbox 18 */ |  | ||||||
| #define TRR19		0x0008	/* Deny But Don't Lock Access To Mailbox 19 */ |  | ||||||
| #define TRR20		0x0010	/* Deny But Don't Lock Access To Mailbox 20 */ |  | ||||||
| #define TRR21		0x0020	/* Deny But Don't Lock Access To Mailbox 21 */ |  | ||||||
| #define TRR22		0x0040	/* Deny But Don't Lock Access To Mailbox 22 */ |  | ||||||
| #define TRR23		0x0080	/* Deny But Don't Lock Access To Mailbox 23 */ |  | ||||||
| #define TRR24		0x0100	/* Deny But Don't Lock Access To Mailbox 24 */ |  | ||||||
| #define TRR25		0x0200	/* Deny But Don't Lock Access To Mailbox 25 */ |  | ||||||
| #define TRR26		0x0400	/* Deny But Don't Lock Access To Mailbox 26 */ |  | ||||||
| #define TRR27		0x0800	/* Deny But Don't Lock Access To Mailbox 27 */ |  | ||||||
| #define TRR28		0x1000	/* Deny But Don't Lock Access To Mailbox 28 */ |  | ||||||
| #define TRR29		0x2000	/* Deny But Don't Lock Access To Mailbox 29 */ |  | ||||||
| #define TRR30		0x4000	/* Deny But Don't Lock Access To Mailbox 30 */ |  | ||||||
| #define TRR31		0x8000	/* Deny But Don't Lock Access To Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_TRS1 Masks */ |  | ||||||
| #define TRS0		0x0001	/* Remote Frame Request For Mailbox 0 */ |  | ||||||
| #define TRS1		0x0002	/* Remote Frame Request For Mailbox 1 */ |  | ||||||
| #define TRS2		0x0004	/* Remote Frame Request For Mailbox 2 */ |  | ||||||
| #define TRS3		0x0008	/* Remote Frame Request For Mailbox 3 */ |  | ||||||
| #define TRS4		0x0010	/* Remote Frame Request For Mailbox 4 */ |  | ||||||
| #define TRS5		0x0020	/* Remote Frame Request For Mailbox 5 */ |  | ||||||
| #define TRS6		0x0040	/* Remote Frame Request For Mailbox 6 */ |  | ||||||
| #define TRS7		0x0080	/* Remote Frame Request For Mailbox 7 */ |  | ||||||
| #define TRS8		0x0100	/* Remote Frame Request For Mailbox 8 */ |  | ||||||
| #define TRS9		0x0200	/* Remote Frame Request For Mailbox 9 */ |  | ||||||
| #define TRS10		0x0400	/* Remote Frame Request For Mailbox 10 */ |  | ||||||
| #define TRS11		0x0800	/* Remote Frame Request For Mailbox 11 */ |  | ||||||
| #define TRS12		0x1000	/* Remote Frame Request For Mailbox 12 */ |  | ||||||
| #define TRS13		0x2000	/* Remote Frame Request For Mailbox 13 */ |  | ||||||
| #define TRS14		0x4000	/* Remote Frame Request For Mailbox 14 */ |  | ||||||
| #define TRS15		0x8000	/* Remote Frame Request For Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_TRS2 Masks */ |  | ||||||
| #define TRS16		0x0001	/* Remote Frame Request For Mailbox 16 */ |  | ||||||
| #define TRS17		0x0002	/* Remote Frame Request For Mailbox 17 */ |  | ||||||
| #define TRS18		0x0004	/* Remote Frame Request For Mailbox 18 */ |  | ||||||
| #define TRS19		0x0008	/* Remote Frame Request For Mailbox 19 */ |  | ||||||
| #define TRS20		0x0010	/* Remote Frame Request For Mailbox 20 */ |  | ||||||
| #define TRS21		0x0020	/* Remote Frame Request For Mailbox 21 */ |  | ||||||
| #define TRS22		0x0040	/* Remote Frame Request For Mailbox 22 */ |  | ||||||
| #define TRS23		0x0080	/* Remote Frame Request For Mailbox 23 */ |  | ||||||
| #define TRS24		0x0100	/* Remote Frame Request For Mailbox 24 */ |  | ||||||
| #define TRS25		0x0200	/* Remote Frame Request For Mailbox 25 */ |  | ||||||
| #define TRS26		0x0400	/* Remote Frame Request For Mailbox 26 */ |  | ||||||
| #define TRS27		0x0800	/* Remote Frame Request For Mailbox 27 */ |  | ||||||
| #define TRS28		0x1000	/* Remote Frame Request For Mailbox 28 */ |  | ||||||
| #define TRS29		0x2000	/* Remote Frame Request For Mailbox 29 */ |  | ||||||
| #define TRS30		0x4000	/* Remote Frame Request For Mailbox 30 */ |  | ||||||
| #define TRS31		0x8000	/* Remote Frame Request For Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_AA1 Masks */ |  | ||||||
| #define AA0			0x0001	/* Aborted Message In Mailbox 0 */ |  | ||||||
| #define AA1			0x0002	/* Aborted Message In Mailbox 1 */ |  | ||||||
| #define AA2			0x0004	/* Aborted Message In Mailbox 2 */ |  | ||||||
| #define AA3			0x0008	/* Aborted Message In Mailbox 3 */ |  | ||||||
| #define AA4			0x0010	/* Aborted Message In Mailbox 4 */ |  | ||||||
| #define AA5			0x0020	/* Aborted Message In Mailbox 5 */ |  | ||||||
| #define AA6			0x0040	/* Aborted Message In Mailbox 6 */ |  | ||||||
| #define AA7			0x0080	/* Aborted Message In Mailbox 7 */ |  | ||||||
| #define AA8			0x0100	/* Aborted Message In Mailbox 8 */ |  | ||||||
| #define AA9			0x0200	/* Aborted Message In Mailbox 9 */ |  | ||||||
| #define AA10		0x0400	/* Aborted Message In Mailbox 10 */ |  | ||||||
| #define AA11		0x0800	/* Aborted Message In Mailbox 11 */ |  | ||||||
| #define AA12		0x1000	/* Aborted Message In Mailbox 12 */ |  | ||||||
| #define AA13		0x2000	/* Aborted Message In Mailbox 13 */ |  | ||||||
| #define AA14		0x4000	/* Aborted Message In Mailbox 14 */ |  | ||||||
| #define AA15		0x8000	/* Aborted Message In Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_AA2 Masks */ |  | ||||||
| #define AA16		0x0001	/* Aborted Message In Mailbox 16 */ |  | ||||||
| #define AA17		0x0002	/* Aborted Message In Mailbox 17 */ |  | ||||||
| #define AA18		0x0004	/* Aborted Message In Mailbox 18 */ |  | ||||||
| #define AA19		0x0008	/* Aborted Message In Mailbox 19 */ |  | ||||||
| #define AA20		0x0010	/* Aborted Message In Mailbox 20 */ |  | ||||||
| #define AA21		0x0020	/* Aborted Message In Mailbox 21 */ |  | ||||||
| #define AA22		0x0040	/* Aborted Message In Mailbox 22 */ |  | ||||||
| #define AA23		0x0080	/* Aborted Message In Mailbox 23 */ |  | ||||||
| #define AA24		0x0100	/* Aborted Message In Mailbox 24 */ |  | ||||||
| #define AA25		0x0200	/* Aborted Message In Mailbox 25 */ |  | ||||||
| #define AA26		0x0400	/* Aborted Message In Mailbox 26 */ |  | ||||||
| #define AA27		0x0800	/* Aborted Message In Mailbox 27 */ |  | ||||||
| #define AA28		0x1000	/* Aborted Message In Mailbox 28 */ |  | ||||||
| #define AA29		0x2000	/* Aborted Message In Mailbox 29 */ |  | ||||||
| #define AA30		0x4000	/* Aborted Message In Mailbox 30 */ |  | ||||||
| #define AA31		0x8000	/* Aborted Message In Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_TA1 Masks */ |  | ||||||
| #define TA0			0x0001	/* Transmit Successful From Mailbox 0 */ |  | ||||||
| #define TA1			0x0002	/* Transmit Successful From Mailbox 1 */ |  | ||||||
| #define TA2			0x0004	/* Transmit Successful From Mailbox 2 */ |  | ||||||
| #define TA3			0x0008	/* Transmit Successful From Mailbox 3 */ |  | ||||||
| #define TA4			0x0010	/* Transmit Successful From Mailbox 4 */ |  | ||||||
| #define TA5			0x0020	/* Transmit Successful From Mailbox 5 */ |  | ||||||
| #define TA6			0x0040	/* Transmit Successful From Mailbox 6 */ |  | ||||||
| #define TA7			0x0080	/* Transmit Successful From Mailbox 7 */ |  | ||||||
| #define TA8			0x0100	/* Transmit Successful From Mailbox 8 */ |  | ||||||
| #define TA9			0x0200	/* Transmit Successful From Mailbox 9 */ |  | ||||||
| #define TA10		0x0400	/* Transmit Successful From Mailbox 10 */ |  | ||||||
| #define TA11		0x0800	/* Transmit Successful From Mailbox 11 */ |  | ||||||
| #define TA12		0x1000	/* Transmit Successful From Mailbox 12 */ |  | ||||||
| #define TA13		0x2000	/* Transmit Successful From Mailbox 13 */ |  | ||||||
| #define TA14		0x4000	/* Transmit Successful From Mailbox 14 */ |  | ||||||
| #define TA15		0x8000	/* Transmit Successful From Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_TA2 Masks */ |  | ||||||
| #define TA16		0x0001	/* Transmit Successful From Mailbox 16 */ |  | ||||||
| #define TA17		0x0002	/* Transmit Successful From Mailbox 17 */ |  | ||||||
| #define TA18		0x0004	/* Transmit Successful From Mailbox 18 */ |  | ||||||
| #define TA19		0x0008	/* Transmit Successful From Mailbox 19 */ |  | ||||||
| #define TA20		0x0010	/* Transmit Successful From Mailbox 20 */ |  | ||||||
| #define TA21		0x0020	/* Transmit Successful From Mailbox 21 */ |  | ||||||
| #define TA22		0x0040	/* Transmit Successful From Mailbox 22 */ |  | ||||||
| #define TA23		0x0080	/* Transmit Successful From Mailbox 23 */ |  | ||||||
| #define TA24		0x0100	/* Transmit Successful From Mailbox 24 */ |  | ||||||
| #define TA25		0x0200	/* Transmit Successful From Mailbox 25 */ |  | ||||||
| #define TA26		0x0400	/* Transmit Successful From Mailbox 26 */ |  | ||||||
| #define TA27		0x0800	/* Transmit Successful From Mailbox 27 */ |  | ||||||
| #define TA28		0x1000	/* Transmit Successful From Mailbox 28 */ |  | ||||||
| #define TA29		0x2000	/* Transmit Successful From Mailbox 29 */ |  | ||||||
| #define TA30		0x4000	/* Transmit Successful From Mailbox 30 */ |  | ||||||
| #define TA31		0x8000	/* Transmit Successful From Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBTD Masks */ |  | ||||||
| #define TDPTR		0x001F	/* Mailbox To Temporarily Disable */ |  | ||||||
| #define TDA			0x0040	/* Temporary Disable Acknowledge */ |  | ||||||
| #define TDR			0x0080	/* Temporary Disable Request */ |  | ||||||
| 
 |  | ||||||
| /* CAN_RFH1 Masks */ |  | ||||||
| #define RFH0		0x0001	/* Enable Automatic Remote Frame Handling For Mailbox 0 */ |  | ||||||
| #define RFH1		0x0002	/* Enable Automatic Remote Frame Handling For Mailbox 1 */ |  | ||||||
| #define RFH2		0x0004	/* Enable Automatic Remote Frame Handling For Mailbox 2 */ |  | ||||||
| #define RFH3		0x0008	/* Enable Automatic Remote Frame Handling For Mailbox 3 */ |  | ||||||
| #define RFH4		0x0010	/* Enable Automatic Remote Frame Handling For Mailbox 4 */ |  | ||||||
| #define RFH5		0x0020	/* Enable Automatic Remote Frame Handling For Mailbox 5 */ |  | ||||||
| #define RFH6		0x0040	/* Enable Automatic Remote Frame Handling For Mailbox 6 */ |  | ||||||
| #define RFH7		0x0080	/* Enable Automatic Remote Frame Handling For Mailbox 7 */ |  | ||||||
| #define RFH8		0x0100	/* Enable Automatic Remote Frame Handling For Mailbox 8 */ |  | ||||||
| #define RFH9		0x0200	/* Enable Automatic Remote Frame Handling For Mailbox 9 */ |  | ||||||
| #define RFH10		0x0400	/* Enable Automatic Remote Frame Handling For Mailbox 10 */ |  | ||||||
| #define RFH11		0x0800	/* Enable Automatic Remote Frame Handling For Mailbox 11 */ |  | ||||||
| #define RFH12		0x1000	/* Enable Automatic Remote Frame Handling For Mailbox 12 */ |  | ||||||
| #define RFH13		0x2000	/* Enable Automatic Remote Frame Handling For Mailbox 13 */ |  | ||||||
| #define RFH14		0x4000	/* Enable Automatic Remote Frame Handling For Mailbox 14 */ |  | ||||||
| #define RFH15		0x8000	/* Enable Automatic Remote Frame Handling For Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_RFH2 Masks */ |  | ||||||
| #define RFH16		0x0001	/* Enable Automatic Remote Frame Handling For Mailbox 16 */ |  | ||||||
| #define RFH17		0x0002	/* Enable Automatic Remote Frame Handling For Mailbox 17 */ |  | ||||||
| #define RFH18		0x0004	/* Enable Automatic Remote Frame Handling For Mailbox 18 */ |  | ||||||
| #define RFH19		0x0008	/* Enable Automatic Remote Frame Handling For Mailbox 19 */ |  | ||||||
| #define RFH20		0x0010	/* Enable Automatic Remote Frame Handling For Mailbox 20 */ |  | ||||||
| #define RFH21		0x0020	/* Enable Automatic Remote Frame Handling For Mailbox 21 */ |  | ||||||
| #define RFH22		0x0040	/* Enable Automatic Remote Frame Handling For Mailbox 22 */ |  | ||||||
| #define RFH23		0x0080	/* Enable Automatic Remote Frame Handling For Mailbox 23 */ |  | ||||||
| #define RFH24		0x0100	/* Enable Automatic Remote Frame Handling For Mailbox 24 */ |  | ||||||
| #define RFH25		0x0200	/* Enable Automatic Remote Frame Handling For Mailbox 25 */ |  | ||||||
| #define RFH26		0x0400	/* Enable Automatic Remote Frame Handling For Mailbox 26 */ |  | ||||||
| #define RFH27		0x0800	/* Enable Automatic Remote Frame Handling For Mailbox 27 */ |  | ||||||
| #define RFH28		0x1000	/* Enable Automatic Remote Frame Handling For Mailbox 28 */ |  | ||||||
| #define RFH29		0x2000	/* Enable Automatic Remote Frame Handling For Mailbox 29 */ |  | ||||||
| #define RFH30		0x4000	/* Enable Automatic Remote Frame Handling For Mailbox 30 */ |  | ||||||
| #define RFH31		0x8000	/* Enable Automatic Remote Frame Handling For Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBTIF1 Masks */ |  | ||||||
| #define MBTIF0		0x0001	/* TX Interrupt Active In Mailbox 0 */ |  | ||||||
| #define MBTIF1		0x0002	/* TX Interrupt Active In Mailbox 1 */ |  | ||||||
| #define MBTIF2		0x0004	/* TX Interrupt Active In Mailbox 2 */ |  | ||||||
| #define MBTIF3		0x0008	/* TX Interrupt Active In Mailbox 3 */ |  | ||||||
| #define MBTIF4		0x0010	/* TX Interrupt Active In Mailbox 4 */ |  | ||||||
| #define MBTIF5		0x0020	/* TX Interrupt Active In Mailbox 5 */ |  | ||||||
| #define MBTIF6		0x0040	/* TX Interrupt Active In Mailbox 6 */ |  | ||||||
| #define MBTIF7		0x0080	/* TX Interrupt Active In Mailbox 7 */ |  | ||||||
| #define MBTIF8		0x0100	/* TX Interrupt Active In Mailbox 8 */ |  | ||||||
| #define MBTIF9		0x0200	/* TX Interrupt Active In Mailbox 9 */ |  | ||||||
| #define MBTIF10		0x0400	/* TX Interrupt Active In Mailbox 10 */ |  | ||||||
| #define MBTIF11		0x0800	/* TX Interrupt Active In Mailbox 11 */ |  | ||||||
| #define MBTIF12		0x1000	/* TX Interrupt Active In Mailbox 12 */ |  | ||||||
| #define MBTIF13		0x2000	/* TX Interrupt Active In Mailbox 13 */ |  | ||||||
| #define MBTIF14		0x4000	/* TX Interrupt Active In Mailbox 14 */ |  | ||||||
| #define MBTIF15		0x8000	/* TX Interrupt Active In Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBTIF2 Masks */ |  | ||||||
| #define MBTIF16		0x0001	/* TX Interrupt Active In Mailbox 16 */ |  | ||||||
| #define MBTIF17		0x0002	/* TX Interrupt Active In Mailbox 17 */ |  | ||||||
| #define MBTIF18		0x0004	/* TX Interrupt Active In Mailbox 18 */ |  | ||||||
| #define MBTIF19		0x0008	/* TX Interrupt Active In Mailbox 19 */ |  | ||||||
| #define MBTIF20		0x0010	/* TX Interrupt Active In Mailbox 20 */ |  | ||||||
| #define MBTIF21		0x0020	/* TX Interrupt Active In Mailbox 21 */ |  | ||||||
| #define MBTIF22		0x0040	/* TX Interrupt Active In Mailbox 22 */ |  | ||||||
| #define MBTIF23		0x0080	/* TX Interrupt Active In Mailbox 23 */ |  | ||||||
| #define MBTIF24		0x0100	/* TX Interrupt Active In Mailbox 24 */ |  | ||||||
| #define MBTIF25		0x0200	/* TX Interrupt Active In Mailbox 25 */ |  | ||||||
| #define MBTIF26		0x0400	/* TX Interrupt Active In Mailbox 26 */ |  | ||||||
| #define MBTIF27		0x0800	/* TX Interrupt Active In Mailbox 27 */ |  | ||||||
| #define MBTIF28		0x1000	/* TX Interrupt Active In Mailbox 28 */ |  | ||||||
| #define MBTIF29		0x2000	/* TX Interrupt Active In Mailbox 29 */ |  | ||||||
| #define MBTIF30		0x4000	/* TX Interrupt Active In Mailbox 30 */ |  | ||||||
| #define MBTIF31		0x8000	/* TX Interrupt Active In Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBRIF1 Masks */ |  | ||||||
| #define MBRIF0		0x0001	/* RX Interrupt Active In Mailbox 0 */ |  | ||||||
| #define MBRIF1		0x0002	/* RX Interrupt Active In Mailbox 1 */ |  | ||||||
| #define MBRIF2		0x0004	/* RX Interrupt Active In Mailbox 2 */ |  | ||||||
| #define MBRIF3		0x0008	/* RX Interrupt Active In Mailbox 3 */ |  | ||||||
| #define MBRIF4		0x0010	/* RX Interrupt Active In Mailbox 4 */ |  | ||||||
| #define MBRIF5		0x0020	/* RX Interrupt Active In Mailbox 5 */ |  | ||||||
| #define MBRIF6		0x0040	/* RX Interrupt Active In Mailbox 6 */ |  | ||||||
| #define MBRIF7		0x0080	/* RX Interrupt Active In Mailbox 7 */ |  | ||||||
| #define MBRIF8		0x0100	/* RX Interrupt Active In Mailbox 8 */ |  | ||||||
| #define MBRIF9		0x0200	/* RX Interrupt Active In Mailbox 9 */ |  | ||||||
| #define MBRIF10		0x0400	/* RX Interrupt Active In Mailbox 10 */ |  | ||||||
| #define MBRIF11		0x0800	/* RX Interrupt Active In Mailbox 11 */ |  | ||||||
| #define MBRIF12		0x1000	/* RX Interrupt Active In Mailbox 12 */ |  | ||||||
| #define MBRIF13		0x2000	/* RX Interrupt Active In Mailbox 13 */ |  | ||||||
| #define MBRIF14		0x4000	/* RX Interrupt Active In Mailbox 14 */ |  | ||||||
| #define MBRIF15		0x8000	/* RX Interrupt Active In Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBRIF2 Masks */ |  | ||||||
| #define MBRIF16		0x0001	/* RX Interrupt Active In Mailbox 16 */ |  | ||||||
| #define MBRIF17		0x0002	/* RX Interrupt Active In Mailbox 17 */ |  | ||||||
| #define MBRIF18		0x0004	/* RX Interrupt Active In Mailbox 18 */ |  | ||||||
| #define MBRIF19		0x0008	/* RX Interrupt Active In Mailbox 19 */ |  | ||||||
| #define MBRIF20		0x0010	/* RX Interrupt Active In Mailbox 20 */ |  | ||||||
| #define MBRIF21		0x0020	/* RX Interrupt Active In Mailbox 21 */ |  | ||||||
| #define MBRIF22		0x0040	/* RX Interrupt Active In Mailbox 22 */ |  | ||||||
| #define MBRIF23		0x0080	/* RX Interrupt Active In Mailbox 23 */ |  | ||||||
| #define MBRIF24		0x0100	/* RX Interrupt Active In Mailbox 24 */ |  | ||||||
| #define MBRIF25		0x0200	/* RX Interrupt Active In Mailbox 25 */ |  | ||||||
| #define MBRIF26		0x0400	/* RX Interrupt Active In Mailbox 26 */ |  | ||||||
| #define MBRIF27		0x0800	/* RX Interrupt Active In Mailbox 27 */ |  | ||||||
| #define MBRIF28		0x1000	/* RX Interrupt Active In Mailbox 28 */ |  | ||||||
| #define MBRIF29		0x2000	/* RX Interrupt Active In Mailbox 29 */ |  | ||||||
| #define MBRIF30		0x4000	/* RX Interrupt Active In Mailbox 30 */ |  | ||||||
| #define MBRIF31		0x8000	/* RX Interrupt Active In Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBIM1 Masks */ |  | ||||||
| #define MBIM0		0x0001	/* Enable Interrupt For Mailbox 0 */ |  | ||||||
| #define MBIM1		0x0002	/* Enable Interrupt For Mailbox 1 */ |  | ||||||
| #define MBIM2		0x0004	/* Enable Interrupt For Mailbox 2 */ |  | ||||||
| #define MBIM3		0x0008	/* Enable Interrupt For Mailbox 3 */ |  | ||||||
| #define MBIM4		0x0010	/* Enable Interrupt For Mailbox 4 */ |  | ||||||
| #define MBIM5		0x0020	/* Enable Interrupt For Mailbox 5 */ |  | ||||||
| #define MBIM6		0x0040	/* Enable Interrupt For Mailbox 6 */ |  | ||||||
| #define MBIM7		0x0080	/* Enable Interrupt For Mailbox 7 */ |  | ||||||
| #define MBIM8		0x0100	/* Enable Interrupt For Mailbox 8 */ |  | ||||||
| #define MBIM9		0x0200	/* Enable Interrupt For Mailbox 9 */ |  | ||||||
| #define MBIM10		0x0400	/* Enable Interrupt For Mailbox 10 */ |  | ||||||
| #define MBIM11		0x0800	/* Enable Interrupt For Mailbox 11 */ |  | ||||||
| #define MBIM12		0x1000	/* Enable Interrupt For Mailbox 12 */ |  | ||||||
| #define MBIM13		0x2000	/* Enable Interrupt For Mailbox 13 */ |  | ||||||
| #define MBIM14		0x4000	/* Enable Interrupt For Mailbox 14 */ |  | ||||||
| #define MBIM15		0x8000	/* Enable Interrupt For Mailbox 15 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_MBIM2 Masks */ |  | ||||||
| #define MBIM16		0x0001	/* Enable Interrupt For Mailbox 16 */ |  | ||||||
| #define MBIM17		0x0002	/* Enable Interrupt For Mailbox 17 */ |  | ||||||
| #define MBIM18		0x0004	/* Enable Interrupt For Mailbox 18 */ |  | ||||||
| #define MBIM19		0x0008	/* Enable Interrupt For Mailbox 19 */ |  | ||||||
| #define MBIM20		0x0010	/* Enable Interrupt For Mailbox 20 */ |  | ||||||
| #define MBIM21		0x0020	/* Enable Interrupt For Mailbox 21 */ |  | ||||||
| #define MBIM22		0x0040	/* Enable Interrupt For Mailbox 22 */ |  | ||||||
| #define MBIM23		0x0080	/* Enable Interrupt For Mailbox 23 */ |  | ||||||
| #define MBIM24		0x0100	/* Enable Interrupt For Mailbox 24 */ |  | ||||||
| #define MBIM25		0x0200	/* Enable Interrupt For Mailbox 25 */ |  | ||||||
| #define MBIM26		0x0400	/* Enable Interrupt For Mailbox 26 */ |  | ||||||
| #define MBIM27		0x0800	/* Enable Interrupt For Mailbox 27 */ |  | ||||||
| #define MBIM28		0x1000	/* Enable Interrupt For Mailbox 28 */ |  | ||||||
| #define MBIM29		0x2000	/* Enable Interrupt For Mailbox 29 */ |  | ||||||
| #define MBIM30		0x4000	/* Enable Interrupt For Mailbox 30 */ |  | ||||||
| #define MBIM31		0x8000	/* Enable Interrupt For Mailbox 31 */ |  | ||||||
| 
 |  | ||||||
| /* CAN_GIM Masks */ |  | ||||||
| #define EWTIM		0x0001	/* Enable TX Error Count Interrupt */ |  | ||||||
| #define EWRIM		0x0002	/* Enable RX Error Count Interrupt */ |  | ||||||
| #define EPIM		0x0004	/* Enable Error-Passive Mode Interrupt */ |  | ||||||
| #define BOIM		0x0008	/* Enable Bus Off Interrupt */ |  | ||||||
| #define WUIM		0x0010	/* Enable Wake-Up Interrupt */ |  | ||||||
| #define UIAIM		0x0020	/* Enable Access To Unimplemented Address Interrupt */ |  | ||||||
| #define AAIM		0x0040	/* Enable Abort Acknowledge Interrupt */ |  | ||||||
| #define RMLIM		0x0080	/* Enable RX Message Lost Interrupt */ |  | ||||||
| #define UCEIM		0x0100	/* Enable Universal Counter Overflow Interrupt */ |  | ||||||
| #define EXTIM		0x0200	/* Enable External Trigger Output Interrupt */ |  | ||||||
| #define ADIM		0x0400	/* Enable Access Denied Interrupt */ |  | ||||||
| 
 |  | ||||||
| /* CAN_GIS Masks */ |  | ||||||
| #define EWTIS		0x0001	/* TX Error Count IRQ Status */ |  | ||||||
| #define EWRIS		0x0002	/* RX Error Count IRQ Status */ |  | ||||||
| #define EPIS		0x0004	/* Error-Passive Mode IRQ Status */ |  | ||||||
| #define BOIS		0x0008	/* Bus Off IRQ Status */ |  | ||||||
| #define WUIS		0x0010	/* Wake-Up IRQ Status */ |  | ||||||
| #define UIAIS		0x0020	/* Access To Unimplemented Address IRQ Status */ |  | ||||||
| #define AAIS		0x0040	/* Abort Acknowledge IRQ Status */ |  | ||||||
| #define RMLIS		0x0080	/* RX Message Lost IRQ Status */ |  | ||||||
| #define UCEIS		0x0100	/* Universal Counter Overflow IRQ Status */ |  | ||||||
| #define EXTIS		0x0200	/* External Trigger Output IRQ Status */ |  | ||||||
| #define ADIS		0x0400	/* Access Denied IRQ Status */ |  | ||||||
| 
 |  | ||||||
| /* CAN_GIF Masks */ |  | ||||||
| #define EWTIF		0x0001	/* TX Error Count IRQ Flag */ |  | ||||||
| #define EWRIF		0x0002	/* RX Error Count IRQ Flag */ |  | ||||||
| #define EPIF		0x0004	/* Error-Passive Mode IRQ Flag */ |  | ||||||
| #define BOIF		0x0008	/* Bus Off IRQ Flag */ |  | ||||||
| #define WUIF		0x0010	/* Wake-Up IRQ Flag */ |  | ||||||
| #define UIAIF		0x0020	/* Access To Unimplemented Address IRQ Flag */ |  | ||||||
| #define AAIF		0x0040	/* Abort Acknowledge IRQ Flag */ |  | ||||||
| #define RMLIF		0x0080	/* RX Message Lost IRQ Flag */ |  | ||||||
| #define UCEIF		0x0100	/* Universal Counter Overflow IRQ Flag */ |  | ||||||
| #define EXTIF		0x0200	/* External Trigger Output IRQ Flag */ |  | ||||||
| #define ADIF		0x0400	/* Access Denied IRQ Flag */ |  | ||||||
| 
 |  | ||||||
| /* CAN_UCCNF Masks */ |  | ||||||
| #define UCCNF		0x000F	/* Universal Counter Mode */ |  | ||||||
| #define UC_STAMP	0x0001	/*  Timestamp Mode */ |  | ||||||
| #define UC_WDOG		0x0002	/*  Watchdog Mode */ |  | ||||||
| #define UC_AUTOTX	0x0003	/*  Auto-Transmit Mode */ |  | ||||||
| #define UC_ERROR	0x0006	/*  CAN Error Frame Count */ |  | ||||||
| #define UC_OVER		0x0007	/*  CAN Overload Frame Count */ |  | ||||||
| #define UC_LOST		0x0008	/*  Arbitration Lost During TX Count */ |  | ||||||
| #define UC_AA		0x0009	/*  TX Abort Count */ |  | ||||||
| #define UC_TA		0x000A	/*  TX Successful Count */ |  | ||||||
| #define UC_REJECT	0x000B	/*  RX Message Rejected Count */ |  | ||||||
| #define UC_RML		0x000C	/*  RX Message Lost Count */ |  | ||||||
| #define UC_RX		0x000D	/*  Total Successful RX Messages Count */ |  | ||||||
| #define UC_RMP		0x000E	/*  Successful RX W/Matching ID Count */ |  | ||||||
| #define UC_ALL		0x000F	/*  Correct Message On CAN Bus Line Count */ |  | ||||||
| #define UCRC		0x0020	/* Universal Counter Reload/Clear */ |  | ||||||
| #define UCCT		0x0040	/* Universal Counter CAN Trigger */ |  | ||||||
| #define UCE			0x0080	/* Universal Counter Enable */ |  | ||||||
| 
 |  | ||||||
| /* CAN_ESR Masks */ |  | ||||||
| #define ACKE		0x0004	/* Acknowledge Error */ |  | ||||||
| #define SER			0x0008	/* Stuff Error */ |  | ||||||
| #define CRCE		0x0010	/* CRC Error */ |  | ||||||
| #define SA0			0x0020	/* Stuck At Dominant Error */ |  | ||||||
| #define BEF			0x0040	/* Bit Error Flag */ |  | ||||||
| #define FER			0x0080	/* Form Error Flag */ |  | ||||||
| 
 |  | ||||||
| /* CAN_EWR Masks */ |  | ||||||
| #define EWLREC		0x00FF	/* RX Error Count Limit (For EWRIS) */ |  | ||||||
| #define EWLTEC		0xFF00	/* TX Error Count Limit (For EWTIS) */ |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,165 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_dma.h - Blackfin DMA defines/structures/etc... |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2010 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BFIN_DMA_H__ |  | ||||||
| #define __ASM_BFIN_DMA_H__ |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| 
 |  | ||||||
| /* DMA_CONFIG Masks */ |  | ||||||
| #define DMAEN			0x0001	/* DMA Channel Enable */ |  | ||||||
| #define WNR				0x0002	/* Channel Direction (W/R*) */ |  | ||||||
| #define WDSIZE_8		0x0000	/* Transfer Word Size = 8 */ |  | ||||||
| #define PSIZE_8			0x00000000	/* Transfer Word Size = 16 */ |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| 
 |  | ||||||
| #define PSIZE_16		0x00000010	/* Transfer Word Size = 16 */ |  | ||||||
| #define PSIZE_32		0x00000020	/* Transfer Word Size = 32 */ |  | ||||||
| #define PSIZE_64		0x00000030	/* Transfer Word Size = 32 */ |  | ||||||
| #define WDSIZE_16		0x00000100	/* Transfer Word Size = 16 */ |  | ||||||
| #define WDSIZE_32		0x00000200	/* Transfer Word Size = 32 */ |  | ||||||
| #define WDSIZE_64		0x00000300	/* Transfer Word Size = 32 */ |  | ||||||
| #define WDSIZE_128		0x00000400	/* Transfer Word Size = 32 */ |  | ||||||
| #define WDSIZE_256		0x00000500	/* Transfer Word Size = 32 */ |  | ||||||
| #define DMA2D			0x04000000	/* DMA Mode (2D/1D*) */ |  | ||||||
| #define RESTART			0x00000004	/* DMA Buffer Clear SYNC */ |  | ||||||
| #define DI_EN_X			0x00100000	/* Data Interrupt Enable in X count */ |  | ||||||
| #define DI_EN_Y			0x00200000	/* Data Interrupt Enable in Y count */ |  | ||||||
| #define DI_EN_P			0x00300000	/* Data Interrupt Enable in Peripheral */ |  | ||||||
| #define DI_EN			DI_EN_X		/* Data Interrupt Enable */ |  | ||||||
| #define NDSIZE_0		0x00000000	/* Next Descriptor Size = 1 */ |  | ||||||
| #define NDSIZE_1		0x00010000	/* Next Descriptor Size = 2 */ |  | ||||||
| #define NDSIZE_2		0x00020000	/* Next Descriptor Size = 3 */ |  | ||||||
| #define NDSIZE_3		0x00030000	/* Next Descriptor Size = 4 */ |  | ||||||
| #define NDSIZE_4		0x00040000	/* Next Descriptor Size = 5 */ |  | ||||||
| #define NDSIZE_5		0x00050000	/* Next Descriptor Size = 6 */ |  | ||||||
| #define NDSIZE_6		0x00060000	/* Next Descriptor Size = 7 */ |  | ||||||
| #define NDSIZE			0x00070000	/* Next Descriptor Size */ |  | ||||||
| #define NDSIZE_OFFSET		16		/* Next Descriptor Size Offset */ |  | ||||||
| #define DMAFLOW_LIST		0x00004000	/* Descriptor List Mode */ |  | ||||||
| #define DMAFLOW_LARGE		DMAFLOW_LIST |  | ||||||
| #define DMAFLOW_ARRAY		0x00005000	/* Descriptor Array Mode */ |  | ||||||
| #define DMAFLOW_LIST_DEMAND	0x00006000	/* Descriptor Demand List Mode */ |  | ||||||
| #define DMAFLOW_ARRAY_DEMAND	0x00007000	/* Descriptor Demand Array Mode */ |  | ||||||
| #define DMA_RUN_DFETCH		0x00000100	/* DMA Channel Running Indicator (DFETCH) */ |  | ||||||
| #define DMA_RUN			0x00000200	/* DMA Channel Running Indicator */ |  | ||||||
| #define DMA_RUN_WAIT_TRIG	0x00000300	/* DMA Channel Running Indicator (WAIT TRIG) */ |  | ||||||
| #define DMA_RUN_WAIT_ACK	0x00000400	/* DMA Channel Running Indicator (WAIT ACK) */ |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| 
 |  | ||||||
| #define PSIZE_16		0x0000	/* Transfer Word Size = 16 */ |  | ||||||
| #define PSIZE_32		0x0000	/* Transfer Word Size = 32 */ |  | ||||||
| #define WDSIZE_16		0x0004	/* Transfer Word Size = 16 */ |  | ||||||
| #define WDSIZE_32		0x0008	/* Transfer Word Size = 32 */ |  | ||||||
| #define DMA2D			0x0010	/* DMA Mode (2D/1D*) */ |  | ||||||
| #define RESTART			0x0020	/* DMA Buffer Clear */ |  | ||||||
| #define DI_SEL			0x0040	/* Data Interrupt Timing Select */ |  | ||||||
| #define DI_EN			0x0080	/* Data Interrupt Enable */ |  | ||||||
| #define DI_EN_X			0x00C0	/* Data Interrupt Enable in X count*/ |  | ||||||
| #define DI_EN_Y			0x0080	/* Data Interrupt Enable in Y count*/ |  | ||||||
| #define NDSIZE_0		0x0000	/* Next Descriptor Size = 0 (Stop/Autobuffer) */ |  | ||||||
| #define NDSIZE_1		0x0100	/* Next Descriptor Size = 1 */ |  | ||||||
| #define NDSIZE_2		0x0200	/* Next Descriptor Size = 2 */ |  | ||||||
| #define NDSIZE_3		0x0300	/* Next Descriptor Size = 3 */ |  | ||||||
| #define NDSIZE_4		0x0400	/* Next Descriptor Size = 4 */ |  | ||||||
| #define NDSIZE_5		0x0500	/* Next Descriptor Size = 5 */ |  | ||||||
| #define NDSIZE_6		0x0600	/* Next Descriptor Size = 6 */ |  | ||||||
| #define NDSIZE_7		0x0700	/* Next Descriptor Size = 7 */ |  | ||||||
| #define NDSIZE_8		0x0800	/* Next Descriptor Size = 8 */ |  | ||||||
| #define NDSIZE_9		0x0900	/* Next Descriptor Size = 9 */ |  | ||||||
| #define NDSIZE			0x0f00	/* Next Descriptor Size */ |  | ||||||
| #define NDSIZE_OFFSET		8	/* Next Descriptor Size Offset */ |  | ||||||
| #define DMAFLOW_ARRAY	0x4000	/* Descriptor Array Mode */ |  | ||||||
| #define DMAFLOW_SMALL	0x6000	/* Small Model Descriptor List Mode */ |  | ||||||
| #define DMAFLOW_LARGE	0x7000	/* Large Model Descriptor List Mode */ |  | ||||||
| #define DFETCH			0x0004	/* DMA Descriptor Fetch Indicator */ |  | ||||||
| #define DMA_RUN			0x0008	/* DMA Channel Running Indicator */ |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| #define DMAFLOW			0x7000	/* Flow Control */ |  | ||||||
| #define DMAFLOW_STOP	0x0000	/* Stop Mode */ |  | ||||||
| #define DMAFLOW_AUTO	0x1000	/* Autobuffer Mode */ |  | ||||||
| 
 |  | ||||||
| /* DMA_IRQ_STATUS Masks */ |  | ||||||
| #define DMA_DONE		0x0001	/* DMA Completion Interrupt Status */ |  | ||||||
| #define DMA_ERR			0x0002	/* DMA Error Interrupt Status */ |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| #define DMA_PIRQ		0x0004	/* DMA Peripheral Error Interrupt Status */ |  | ||||||
| #else |  | ||||||
| #define DMA_PIRQ		0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * All Blackfin system MMRs are padded to 32bits even if the register |  | ||||||
|  * itself is only 16bits.  So use a helper macro to streamline this. |  | ||||||
|  */ |  | ||||||
| #define __BFP(m) u16 m; u16 __pad_##m |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin dma registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_dma_regs { |  | ||||||
| 	u32 next_desc_ptr; |  | ||||||
| 	u32 start_addr; |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| 	u32 cfg; |  | ||||||
| 	u32 x_count; |  | ||||||
| 	u32 x_modify; |  | ||||||
| 	u32 y_count; |  | ||||||
| 	u32 y_modify; |  | ||||||
| 	u32 pad1; |  | ||||||
| 	u32 pad2; |  | ||||||
| 	u32 curr_desc_ptr; |  | ||||||
| 	u32 prev_desc_ptr; |  | ||||||
| 	u32 curr_addr; |  | ||||||
| 	u32 irq_status; |  | ||||||
| 	u32 curr_x_count; |  | ||||||
| 	u32 curr_y_count; |  | ||||||
| 	u32 pad3; |  | ||||||
| 	u32 bw_limit_count; |  | ||||||
| 	u32 curr_bw_limit_count; |  | ||||||
| 	u32 bw_monitor_count; |  | ||||||
| 	u32 curr_bw_monitor_count; |  | ||||||
| #else |  | ||||||
| 	__BFP(config); |  | ||||||
| 	u32 __pad0; |  | ||||||
| 	__BFP(x_count); |  | ||||||
| 	__BFP(x_modify); |  | ||||||
| 	__BFP(y_count); |  | ||||||
| 	__BFP(y_modify); |  | ||||||
| 	u32 curr_desc_ptr; |  | ||||||
| 	u32 curr_addr; |  | ||||||
| 	__BFP(irq_status); |  | ||||||
| 	__BFP(peripheral_map); |  | ||||||
| 	__BFP(curr_x_count); |  | ||||||
| 	u32 __pad1; |  | ||||||
| 	__BFP(curr_y_count); |  | ||||||
| 	u32 __pad2; |  | ||||||
| #endif |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #ifndef CONFIG_BF60x |  | ||||||
| /*
 |  | ||||||
|  * bfin handshake mdma registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_hmdma_regs { |  | ||||||
| 	__BFP(control); |  | ||||||
| 	__BFP(ecinit); |  | ||||||
| 	__BFP(bcinit); |  | ||||||
| 	__BFP(ecurgent); |  | ||||||
| 	__BFP(ecoverflow); |  | ||||||
| 	__BFP(ecount); |  | ||||||
| 	__BFP(bcount); |  | ||||||
| }; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #undef __BFP |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,44 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Blackfin Performance Monitor definitions |  | ||||||
|  * |  | ||||||
|  * Copyright 2005-2011 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the Clear BSD license or GPL-2 (or later). |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BFIN_PFMON_H__ |  | ||||||
| #define __ASM_BFIN_PFMON_H__ |  | ||||||
| 
 |  | ||||||
| /* PFCTL Masks */ |  | ||||||
| #define PFMON_MASK	0xff |  | ||||||
| #define PFCEN_MASK	0x3 |  | ||||||
| #define PFCEN_DISABLE	0x0 |  | ||||||
| #define PFCEN_ENABLE_USER	0x1 |  | ||||||
| #define PFCEN_ENABLE_SUPV	0x2 |  | ||||||
| #define PFCEN_ENABLE_ALL	(PFCEN_ENABLE_USER | PFCEN_ENABLE_SUPV) |  | ||||||
| 
 |  | ||||||
| #define PFPWR_P	0 |  | ||||||
| #define PEMUSW0_P	2 |  | ||||||
| #define PFCEN0_P	3 |  | ||||||
| #define PFMON0_P	5 |  | ||||||
| #define PEMUSW1_P	13 |  | ||||||
| #define PFCEN1_P	14 |  | ||||||
| #define PFMON1_P	16 |  | ||||||
| #define PFCNT0_P	24 |  | ||||||
| #define PFCNT1_P	25 |  | ||||||
| 
 |  | ||||||
| #define PFPWR	(1 << PFPWR_P) |  | ||||||
| #define PEMUSW(n, x)	((x) << ((n) ? PEMUSW1_P : PEMUSW0_P)) |  | ||||||
| #define PEMUSW0	PEMUSW(0, 1) |  | ||||||
| #define PEMUSW1	PEMUSW(1, 1) |  | ||||||
| #define PFCEN(n, x)	((x) << ((n) ? PFCEN1_P : PFCEN0_P)) |  | ||||||
| #define PFCEN0	PFCEN(0, PFCEN_MASK) |  | ||||||
| #define PFCEN1	PFCEN(1, PFCEN_MASK) |  | ||||||
| #define PFCNT(n, x)	((x) << ((n) ? PFCNT1_P : PFCNT0_P)) |  | ||||||
| #define PFCNT0	PFCNT(0, 1) |  | ||||||
| #define PFCNT1	PFCNT(1, 1) |  | ||||||
| #define PFMON(n, x)	((x) << ((n) ? PFMON1_P : PFMON0_P)) |  | ||||||
| #define PFMON0	PFMON(0, PFMON_MASK) |  | ||||||
| #define PFMON1	PFMON(1, PFMON_MASK) |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,181 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_ppi.h - interface to Blackfin PPIs |  | ||||||
|  * |  | ||||||
|  * Copyright 2005-2010 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BFIN_PPI_H__ |  | ||||||
| #define __ASM_BFIN_PPI_H__ |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| #include <asm/blackfin.h> |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * All Blackfin system MMRs are padded to 32bits even if the register |  | ||||||
|  * itself is only 16bits.  So use a helper macro to streamline this. |  | ||||||
|  */ |  | ||||||
| #define __BFP(m) u16 m; u16 __pad_##m |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin ppi registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_ppi_regs { |  | ||||||
| 	__BFP(control); |  | ||||||
| 	__BFP(status); |  | ||||||
| 	__BFP(count); |  | ||||||
| 	__BFP(delay); |  | ||||||
| 	__BFP(frame); |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin eppi registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_eppi_regs { |  | ||||||
| 	__BFP(status); |  | ||||||
| 	__BFP(hcount); |  | ||||||
| 	__BFP(hdelay); |  | ||||||
| 	__BFP(vcount); |  | ||||||
| 	__BFP(vdelay); |  | ||||||
| 	__BFP(frame); |  | ||||||
| 	__BFP(line); |  | ||||||
| 	__BFP(clkdiv); |  | ||||||
| 	u32 control; |  | ||||||
| 	u32 fs1w_hbl; |  | ||||||
| 	u32 fs1p_avpl; |  | ||||||
| 	u32 fs2w_lvb; |  | ||||||
| 	u32 fs2p_lavf; |  | ||||||
| 	u32 clip; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin eppi3 registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_eppi3_regs { |  | ||||||
| 	u32 stat; |  | ||||||
| 	u32 hcnt; |  | ||||||
| 	u32 hdly; |  | ||||||
| 	u32 vcnt; |  | ||||||
| 	u32 vdly; |  | ||||||
| 	u32 frame; |  | ||||||
| 	u32 line; |  | ||||||
| 	u32 clkdiv; |  | ||||||
| 	u32 ctl; |  | ||||||
| 	u32 fs1_wlhb; |  | ||||||
| 	u32 fs1_paspl; |  | ||||||
| 	u32 fs2_wlvb; |  | ||||||
| 	u32 fs2_palpf; |  | ||||||
| 	u32 imsk; |  | ||||||
| 	u32 oddclip; |  | ||||||
| 	u32 evenclip; |  | ||||||
| 	u32 fs1_dly; |  | ||||||
| 	u32 fs2_dly; |  | ||||||
| 	u32 ctl2; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #undef __BFP |  | ||||||
| 
 |  | ||||||
| #ifdef EPPI0_CTL2 |  | ||||||
| #define EPPI_STAT_CFIFOERR              0x00000001    /* Chroma FIFO Error */ |  | ||||||
| #define EPPI_STAT_YFIFOERR              0x00000002    /* Luma FIFO Error */ |  | ||||||
| #define EPPI_STAT_LTERROVR              0x00000004    /* Line Track Overflow */ |  | ||||||
| #define EPPI_STAT_LTERRUNDR             0x00000008    /* Line Track Underflow */ |  | ||||||
| #define EPPI_STAT_FTERROVR              0x00000010    /* Frame Track Overflow */ |  | ||||||
| #define EPPI_STAT_FTERRUNDR             0x00000020    /* Frame Track Underflow */ |  | ||||||
| #define EPPI_STAT_ERRNCOR               0x00000040    /* Preamble Error Not Corrected */ |  | ||||||
| #define EPPI_STAT_PXPERR                0x00000080    /* PxP Ready Error */ |  | ||||||
| #define EPPI_STAT_ERRDET                0x00004000    /* Preamble Error Detected */ |  | ||||||
| #define EPPI_STAT_FLD                   0x00008000    /* Current Field Received by EPPI */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_HCNT_VALUE                 0x0000FFFF    /* Holds the number of samples to read in or write out per line, after PPIx_HDLY number of cycles have expired since the last assertion of PPIx_FS1 */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_HDLY_VALUE                 0x0000FFFF    /* Number of PPIx_CLK cycles to delay after assertion of PPIx_FS1 before starting to read or write data */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_VCNT_VALUE                 0x0000FFFF    /* Holds the number of lines to read in or write out, after PPIx_VDLY number of lines from the start of frame */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_VDLY_VALUE                 0x0000FFFF    /* Number of lines to wait after the start of a new frame before starting to read/transmit data */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_FRAME_VALUE                0x0000FFFF    /* Holds the number of lines expected per frame of data */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_LINE_VALUE                 0x0000FFFF    /* Holds the number of samples expected per line */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_CLKDIV_VALUE               0x0000FFFF    /* Internal clock divider */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_CTL_EN                     0x00000001    /* PPI Enable */ |  | ||||||
| #define EPPI_CTL_DIR                    0x00000002    /* PPI Direction */ |  | ||||||
| #define EPPI_CTL_XFRTYPE                0x0000000C    /* PPI Operating Mode */ |  | ||||||
| #define EPPI_CTL_ACTIVE656              0x00000000    /* XFRTYPE: ITU656 Active Video Only Mode */ |  | ||||||
| #define EPPI_CTL_ENTIRE656              0x00000004    /* XFRTYPE: ITU656 Entire Field Mode */ |  | ||||||
| #define EPPI_CTL_VERT656                0x00000008    /* XFRTYPE: ITU656 Vertical Blanking Only Mode */ |  | ||||||
| #define EPPI_CTL_NON656                 0x0000000C    /* XFRTYPE: Non-ITU656 Mode (GP Mode) */ |  | ||||||
| #define EPPI_CTL_FSCFG                  0x00000030    /* Frame Sync Configuration */ |  | ||||||
| #define EPPI_CTL_SYNC0                  0x00000000    /* FSCFG: Sync Mode 0 */ |  | ||||||
| #define EPPI_CTL_SYNC1                  0x00000010    /* FSCFG: Sync Mode 1 */ |  | ||||||
| #define EPPI_CTL_SYNC2                  0x00000020    /* FSCFG: Sync Mode 2 */ |  | ||||||
| #define EPPI_CTL_SYNC3                  0x00000030    /* FSCFG: Sync Mode 3 */ |  | ||||||
| #define EPPI_CTL_FLDSEL                 0x00000040    /* Field Select/Trigger */ |  | ||||||
| #define EPPI_CTL_ITUTYPE                0x00000080    /* ITU Interlace or Progressive */ |  | ||||||
| #define EPPI_CTL_BLANKGEN               0x00000100    /* ITU Output Mode with Internal Blanking Generation */ |  | ||||||
| #define EPPI_CTL_ICLKGEN                0x00000200    /* Internal Clock Generation */ |  | ||||||
| #define EPPI_CTL_IFSGEN                 0x00000400    /* Internal Frame Sync Generation */ |  | ||||||
| #define EPPI_CTL_SIGNEXT                0x00000800    /* Sign Extension */ |  | ||||||
| #define EPPI_CTL_POLC                   0x00003000    /* Frame Sync and Data Driving and Sampling Edges */ |  | ||||||
| #define EPPI_CTL_POLC0                  0x00000000    /* POLC: Clock/Sync polarity mode 0 */ |  | ||||||
| #define EPPI_CTL_POLC1                  0x00001000    /* POLC: Clock/Sync polarity mode 1 */ |  | ||||||
| #define EPPI_CTL_POLC2                  0x00002000    /* POLC: Clock/Sync polarity mode 2 */ |  | ||||||
| #define EPPI_CTL_POLC3                  0x00003000    /* POLC: Clock/Sync polarity mode 3 */ |  | ||||||
| #define EPPI_CTL_POLS                   0x0000C000    /* Frame Sync Polarity */ |  | ||||||
| #define EPPI_CTL_FS1HI_FS2HI            0x00000000    /* POLS: FS1 and FS2 are active high */ |  | ||||||
| #define EPPI_CTL_FS1LO_FS2HI            0x00004000    /* POLS: FS1 is active low. FS2 is active high */ |  | ||||||
| #define EPPI_CTL_FS1HI_FS2LO            0x00008000    /* POLS: FS1 is active high. FS2 is active low */ |  | ||||||
| #define EPPI_CTL_FS1LO_FS2LO            0x0000C000    /* POLS: FS1 and FS2 are active low */ |  | ||||||
| #define EPPI_CTL_DLEN                   0x00070000    /* Data Length */ |  | ||||||
| #define EPPI_CTL_DLEN08                 0x00000000    /* DLEN: 8 bits */ |  | ||||||
| #define EPPI_CTL_DLEN10                 0x00010000    /* DLEN: 10 bits */ |  | ||||||
| #define EPPI_CTL_DLEN12                 0x00020000    /* DLEN: 12 bits */ |  | ||||||
| #define EPPI_CTL_DLEN14                 0x00030000    /* DLEN: 14 bits */ |  | ||||||
| #define EPPI_CTL_DLEN16                 0x00040000    /* DLEN: 16 bits */ |  | ||||||
| #define EPPI_CTL_DLEN18                 0x00050000    /* DLEN: 18 bits */ |  | ||||||
| #define EPPI_CTL_DLEN20                 0x00060000    /* DLEN: 20 bits */ |  | ||||||
| #define EPPI_CTL_DLEN24                 0x00070000    /* DLEN: 24 bits */ |  | ||||||
| #define EPPI_CTL_DMIRR                  0x00080000    /* Data Mirroring */ |  | ||||||
| #define EPPI_CTL_SKIPEN                 0x00100000    /* Skip Enable */ |  | ||||||
| #define EPPI_CTL_SKIPEO                 0x00200000    /* Skip Even or Odd */ |  | ||||||
| #define EPPI_CTL_PACKEN                 0x00400000    /* Pack/Unpack Enable */ |  | ||||||
| #define EPPI_CTL_SWAPEN                 0x00800000    /* Swap Enable */ |  | ||||||
| #define EPPI_CTL_SPLTEO                 0x01000000    /* Split Even and Odd Data Samples */ |  | ||||||
| #define EPPI_CTL_SUBSPLTODD             0x02000000    /* Sub-Split Odd Samples */ |  | ||||||
| #define EPPI_CTL_SPLTWRD                0x04000000    /* Split Word */ |  | ||||||
| #define EPPI_CTL_RGBFMTEN               0x08000000    /* RGB Formatting Enable */ |  | ||||||
| #define EPPI_CTL_DMACFG                 0x10000000    /* One or Two DMA Channels Mode */ |  | ||||||
| #define EPPI_CTL_DMAFINEN               0x20000000    /* DMA Finish Enable */ |  | ||||||
| #define EPPI_CTL_MUXSEL                 0x40000000    /* MUX Select */ |  | ||||||
| #define EPPI_CTL_CLKGATEN               0x80000000    /* Clock Gating Enable */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_FS2_WLVB_F2VBAD            0xFF000000    /* In GP transmit mode with BLANKGEN = 1, contains number of lines of vertical blanking after field 2 */ |  | ||||||
| #define EPPI_FS2_WLVB_F2VBBD            0x00FF0000    /* In GP transmit mode with BLANKGEN = 1, contains number of lines of vertical blanking before field 2 */ |  | ||||||
| #define EPPI_FS2_WLVB_F1VBAD            0x0000FF00    /* In GP transmit mode with, BLANKGEN = 1, contains number of lines of vertical blanking after field 1 */ |  | ||||||
| #define EPPI_FS2_WLVB_F1VBBD            0x000000FF    /* In GP 2, or 3 FS modes used to generate PPIx_FS2 width (32-bit). In GP Transmit mode, with BLANKGEN=1, contains the number of lines of Vertical blanking before field 1. */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_FS2_PALPF_F2ACT            0xFFFF0000    /* Number of lines of Active Data in Field 2 */ |  | ||||||
| #define EPPI_FS2_PALPF_F1ACT            0x0000FFFF    /* Number of lines of Active Data in Field 1 */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_IMSK_CFIFOERR              0x00000001    /* Mask CFIFO Underflow or Overflow Error Interrupt */ |  | ||||||
| #define EPPI_IMSK_YFIFOERR              0x00000002    /* Mask YFIFO Underflow or Overflow Error Interrupt */ |  | ||||||
| #define EPPI_IMSK_LTERROVR              0x00000004    /* Mask Line Track Overflow Error Interrupt */ |  | ||||||
| #define EPPI_IMSK_LTERRUNDR             0x00000008    /* Mask Line Track Underflow Error Interrupt */ |  | ||||||
| #define EPPI_IMSK_FTERROVR              0x00000010    /* Mask Frame Track Overflow Error Interrupt */ |  | ||||||
| #define EPPI_IMSK_FTERRUNDR             0x00000020    /* Mask Frame Track Underflow Error Interrupt */ |  | ||||||
| #define EPPI_IMSK_ERRNCOR               0x00000040    /* Mask ITU Preamble Error Not Corrected Interrupt */ |  | ||||||
| #define EPPI_IMSK_PXPERR                0x00000080    /* Mask PxP Ready Error Interrupt */ |  | ||||||
| 
 |  | ||||||
| #define EPPI_ODDCLIP_HIGHODD            0xFFFF0000 |  | ||||||
| #define EPPI_ODDCLIP_LOWODD             0x0000FFFF |  | ||||||
| 
 |  | ||||||
| #define EPPI_EVENCLIP_HIGHEVEN          0xFFFF0000 |  | ||||||
| #define EPPI_EVENCLIP_LOWEVEN           0x0000FFFF |  | ||||||
| 
 |  | ||||||
| #define EPPI_CTL2_FS1FINEN              0x00000002    /* HSYNC Finish Enable */ |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
|  | @ -1,161 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Blackfin Secure Digital Host (SDH) definitions |  | ||||||
|  * |  | ||||||
|  * Copyright 2008-2010 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __BFIN_SDH_H__ |  | ||||||
| #define __BFIN_SDH_H__ |  | ||||||
| 
 |  | ||||||
| /* Platform resources */ |  | ||||||
| struct bfin_sd_host { |  | ||||||
| 	int dma_chan; |  | ||||||
| 	int irq_int0; |  | ||||||
| 	int irq_int1; |  | ||||||
| 	u16 pin_req[7]; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /* SDH_COMMAND bitmasks */ |  | ||||||
| #define CMD_IDX            0x3f        /* Command Index */ |  | ||||||
| #define CMD_RSP            (1 << 6)    /* Response */ |  | ||||||
| #define CMD_L_RSP          (1 << 7)    /* Long Response */ |  | ||||||
| #define CMD_INT_E          (1 << 8)    /* Command Interrupt */ |  | ||||||
| #define CMD_PEND_E         (1 << 9)    /* Command Pending */ |  | ||||||
| #define CMD_E              (1 << 10)   /* Command Enable */ |  | ||||||
| #ifdef RSI_BLKSZ |  | ||||||
| #define CMD_CRC_CHECK_D    (1 << 11)   /* CRC Check is disabled */ |  | ||||||
| #define CMD_DATA0_BUSY     (1 << 12)   /* Check for Busy State on the DATA0 pin */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* SDH_PWR_CTL bitmasks */ |  | ||||||
| #ifndef RSI_BLKSZ |  | ||||||
| #define PWR_ON             0x3         /* Power On */ |  | ||||||
| #define SD_CMD_OD          (1 << 6)    /* Open Drain Output */ |  | ||||||
| #define ROD_CTL            (1 << 7)    /* Rod Control */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* SDH_CLK_CTL bitmasks */ |  | ||||||
| #define CLKDIV             0xff        /* MC_CLK Divisor */ |  | ||||||
| #define CLK_E              (1 << 8)    /* MC_CLK Bus Clock Enable */ |  | ||||||
| #define PWR_SV_E           (1 << 9)    /* Power Save Enable */ |  | ||||||
| #define CLKDIV_BYPASS      (1 << 10)   /* Bypass Divisor */ |  | ||||||
| #define BUS_MODE_MASK      0x1800      /* Bus Mode Mask */ |  | ||||||
| #define STD_BUS_1          0x000       /* Standard Bus 1 bit mode */ |  | ||||||
| #define WIDE_BUS_4         0x800       /* Wide Bus 4 bit mode */ |  | ||||||
| #define BYTE_BUS_8         0x1000      /* Byte Bus 8 bit mode */ |  | ||||||
| 
 |  | ||||||
| /* SDH_RESP_CMD bitmasks */ |  | ||||||
| #define RESP_CMD           0x3f        /* Response Command */ |  | ||||||
| 
 |  | ||||||
| /* SDH_DATA_CTL bitmasks */ |  | ||||||
| #define DTX_E              (1 << 0)    /* Data Transfer Enable */ |  | ||||||
| #define DTX_DIR            (1 << 1)    /* Data Transfer Direction */ |  | ||||||
| #define DTX_MODE           (1 << 2)    /* Data Transfer Mode */ |  | ||||||
| #define DTX_DMA_E          (1 << 3)    /* Data Transfer DMA Enable */ |  | ||||||
| #ifndef RSI_BLKSZ |  | ||||||
| #define DTX_BLK_LGTH       (0xf << 4)  /* Data Transfer Block Length */ |  | ||||||
| #else |  | ||||||
| 
 |  | ||||||
| /* Bit masks for SDH_BLK_SIZE */ |  | ||||||
| #define DTX_BLK_LGTH       0x1fff      /* Data Transfer Block Length */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* SDH_STATUS bitmasks */ |  | ||||||
| #define CMD_CRC_FAIL       (1 << 0)    /* CMD CRC Fail */ |  | ||||||
| #define DAT_CRC_FAIL       (1 << 1)    /* Data CRC Fail */ |  | ||||||
| #define CMD_TIME_OUT       (1 << 2)    /* CMD Time Out */ |  | ||||||
| #define DAT_TIME_OUT       (1 << 3)    /* Data Time Out */ |  | ||||||
| #define TX_UNDERRUN        (1 << 4)    /* Transmit Underrun */ |  | ||||||
| #define RX_OVERRUN         (1 << 5)    /* Receive Overrun */ |  | ||||||
| #define CMD_RESP_END       (1 << 6)    /* CMD Response End */ |  | ||||||
| #define CMD_SENT           (1 << 7)    /* CMD Sent */ |  | ||||||
| #define DAT_END            (1 << 8)    /* Data End */ |  | ||||||
| #define START_BIT_ERR      (1 << 9)    /* Start Bit Error */ |  | ||||||
| #define DAT_BLK_END        (1 << 10)   /* Data Block End */ |  | ||||||
| #define CMD_ACT            (1 << 11)   /* CMD Active */ |  | ||||||
| #define TX_ACT             (1 << 12)   /* Transmit Active */ |  | ||||||
| #define RX_ACT             (1 << 13)   /* Receive Active */ |  | ||||||
| #define TX_FIFO_STAT       (1 << 14)   /* Transmit FIFO Status */ |  | ||||||
| #define RX_FIFO_STAT       (1 << 15)   /* Receive FIFO Status */ |  | ||||||
| #define TX_FIFO_FULL       (1 << 16)   /* Transmit FIFO Full */ |  | ||||||
| #define RX_FIFO_FULL       (1 << 17)   /* Receive FIFO Full */ |  | ||||||
| #define TX_FIFO_ZERO       (1 << 18)   /* Transmit FIFO Empty */ |  | ||||||
| #define RX_DAT_ZERO        (1 << 19)   /* Receive FIFO Empty */ |  | ||||||
| #define TX_DAT_RDY         (1 << 20)   /* Transmit Data Available */ |  | ||||||
| #define RX_FIFO_RDY        (1 << 21)   /* Receive Data Available */ |  | ||||||
| 
 |  | ||||||
| /* SDH_STATUS_CLR bitmasks */ |  | ||||||
| #define CMD_CRC_FAIL_STAT  (1 << 0)    /* CMD CRC Fail Status */ |  | ||||||
| #define DAT_CRC_FAIL_STAT  (1 << 1)    /* Data CRC Fail Status */ |  | ||||||
| #define CMD_TIMEOUT_STAT   (1 << 2)    /* CMD Time Out Status */ |  | ||||||
| #define DAT_TIMEOUT_STAT   (1 << 3)    /* Data Time Out status */ |  | ||||||
| #define TX_UNDERRUN_STAT   (1 << 4)    /* Transmit Underrun Status */ |  | ||||||
| #define RX_OVERRUN_STAT    (1 << 5)    /* Receive Overrun Status */ |  | ||||||
| #define CMD_RESP_END_STAT  (1 << 6)    /* CMD Response End Status */ |  | ||||||
| #define CMD_SENT_STAT      (1 << 7)    /* CMD Sent Status */ |  | ||||||
| #define DAT_END_STAT       (1 << 8)    /* Data End Status */ |  | ||||||
| #define START_BIT_ERR_STAT (1 << 9)    /* Start Bit Error Status */ |  | ||||||
| #define DAT_BLK_END_STAT   (1 << 10)   /* Data Block End Status */ |  | ||||||
| 
 |  | ||||||
| /* SDH_MASK0 bitmasks */ |  | ||||||
| #define CMD_CRC_FAIL_MASK  (1 << 0)    /* CMD CRC Fail Mask */ |  | ||||||
| #define DAT_CRC_FAIL_MASK  (1 << 1)    /* Data CRC Fail Mask */ |  | ||||||
| #define CMD_TIMEOUT_MASK   (1 << 2)    /* CMD Time Out Mask */ |  | ||||||
| #define DAT_TIMEOUT_MASK   (1 << 3)    /* Data Time Out Mask */ |  | ||||||
| #define TX_UNDERRUN_MASK   (1 << 4)    /* Transmit Underrun Mask */ |  | ||||||
| #define RX_OVERRUN_MASK    (1 << 5)    /* Receive Overrun Mask */ |  | ||||||
| #define CMD_RESP_END_MASK  (1 << 6)    /* CMD Response End Mask */ |  | ||||||
| #define CMD_SENT_MASK      (1 << 7)    /* CMD Sent Mask */ |  | ||||||
| #define DAT_END_MASK       (1 << 8)    /* Data End Mask */ |  | ||||||
| #define START_BIT_ERR_MASK (1 << 9)    /* Start Bit Error Mask */ |  | ||||||
| #define DAT_BLK_END_MASK   (1 << 10)   /* Data Block End Mask */ |  | ||||||
| #define CMD_ACT_MASK       (1 << 11)   /* CMD Active Mask */ |  | ||||||
| #define TX_ACT_MASK        (1 << 12)   /* Transmit Active Mask */ |  | ||||||
| #define RX_ACT_MASK        (1 << 13)   /* Receive Active Mask */ |  | ||||||
| #define TX_FIFO_STAT_MASK  (1 << 14)   /* Transmit FIFO Status Mask */ |  | ||||||
| #define RX_FIFO_STAT_MASK  (1 << 15)   /* Receive FIFO Status Mask */ |  | ||||||
| #define TX_FIFO_FULL_MASK  (1 << 16)   /* Transmit FIFO Full Mask */ |  | ||||||
| #define RX_FIFO_FULL_MASK  (1 << 17)   /* Receive FIFO Full Mask */ |  | ||||||
| #define TX_FIFO_ZERO_MASK  (1 << 18)   /* Transmit FIFO Empty Mask */ |  | ||||||
| #define RX_DAT_ZERO_MASK   (1 << 19)   /* Receive FIFO Empty Mask */ |  | ||||||
| #define TX_DAT_RDY_MASK    (1 << 20)   /* Transmit Data Available Mask */ |  | ||||||
| #define RX_FIFO_RDY_MASK   (1 << 21)   /* Receive Data Available Mask */ |  | ||||||
| 
 |  | ||||||
| /* SDH_FIFO_CNT bitmasks */ |  | ||||||
| #define FIFO_COUNT         0x7fff      /* FIFO Count */ |  | ||||||
| 
 |  | ||||||
| /* SDH_E_STATUS bitmasks */ |  | ||||||
| #define SDIO_INT_DET       (1 << 1)    /* SDIO Int Detected */ |  | ||||||
| #define SD_CARD_DET        (1 << 4)    /* SD Card Detect */ |  | ||||||
| #define SD_CARD_BUSYMODE   (1 << 31)   /* Card is in Busy mode */ |  | ||||||
| #define SD_CARD_SLPMODE    (1 << 30)   /* Card in Sleep Mode */ |  | ||||||
| #define SD_CARD_READY      (1 << 17)   /* Card Ready */ |  | ||||||
| 
 |  | ||||||
| /* SDH_E_MASK bitmasks */ |  | ||||||
| #define SDIO_MSK           (1 << 1)    /* Mask SDIO Int Detected */ |  | ||||||
| #define SCD_MSK            (1 << 4)    /* Mask Card Detect */ |  | ||||||
| #define CARD_READY_MSK     (1 << 16)   /* Mask Card Ready */ |  | ||||||
| 
 |  | ||||||
| /* SDH_CFG bitmasks */ |  | ||||||
| #define CLKS_EN            (1 << 0)    /* Clocks Enable */ |  | ||||||
| #define SD4E               (1 << 2)    /* SDIO 4-Bit Enable */ |  | ||||||
| #define MWE                (1 << 3)    /* Moving Window Enable */ |  | ||||||
| #define SD_RST             (1 << 4)    /* SDMMC Reset */ |  | ||||||
| #define PUP_SDDAT          (1 << 5)    /* Pull-up SD_DAT */ |  | ||||||
| #define PUP_SDDAT3         (1 << 6)    /* Pull-up SD_DAT3 */ |  | ||||||
| #ifndef RSI_BLKSZ |  | ||||||
| #define PD_SDDAT3          (1 << 7)    /* Pull-down SD_DAT3 */ |  | ||||||
| #else |  | ||||||
| #define PWR_ON             0x600       /* Power On */ |  | ||||||
| #define SD_CMD_OD          (1 << 11)   /* Open Drain Output */ |  | ||||||
| #define BOOT_EN            (1 << 12)   /* Boot Enable */ |  | ||||||
| #define BOOT_MODE          (1 << 13)   /* Alternate Boot Mode */ |  | ||||||
| #define BOOT_ACK_EN        (1 << 14)   /* Boot ACK is expected */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* SDH_RD_WAIT_EN bitmasks */ |  | ||||||
| #define RWR                (1 << 0)    /* Read Wait Request */ |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,429 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_serial.h - Blackfin UART/Serial definitions |  | ||||||
|  * |  | ||||||
|  * Copyright 2006-2010 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __BFIN_ASM_SERIAL_H__ |  | ||||||
| #define __BFIN_ASM_SERIAL_H__ |  | ||||||
| 
 |  | ||||||
| #include <linux/circ_buf.h> |  | ||||||
| #include <linux/serial_core.h> |  | ||||||
| #include <linux/spinlock.h> |  | ||||||
| #include <linux/timer.h> |  | ||||||
| #include <linux/workqueue.h> |  | ||||||
| #include <mach/anomaly.h> |  | ||||||
| #include <mach/bfin_serial.h> |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_BFIN_UART0_CTSRTS) || \ |  | ||||||
|     defined(CONFIG_BFIN_UART1_CTSRTS) || \ |  | ||||||
|     defined(CONFIG_BFIN_UART2_CTSRTS) || \ |  | ||||||
|     defined(CONFIG_BFIN_UART3_CTSRTS) |  | ||||||
| # if defined(BFIN_UART_BF54X_STYLE) || defined(BFIN_UART_BF60X_STYLE) |  | ||||||
| #  define SERIAL_BFIN_HARD_CTSRTS |  | ||||||
| # else |  | ||||||
| #  define SERIAL_BFIN_CTSRTS |  | ||||||
| # endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| struct bfin_serial_port { |  | ||||||
| 	struct uart_port port; |  | ||||||
| 	unsigned int old_status; |  | ||||||
| 	int tx_irq; |  | ||||||
| 	int rx_irq; |  | ||||||
| 	int status_irq; |  | ||||||
| #ifndef BFIN_UART_BF54X_STYLE |  | ||||||
| 	unsigned int lsr; |  | ||||||
| #endif |  | ||||||
| #ifdef CONFIG_SERIAL_BFIN_DMA |  | ||||||
| 	int tx_done; |  | ||||||
| 	int tx_count; |  | ||||||
| 	struct circ_buf rx_dma_buf; |  | ||||||
| 	struct timer_list rx_dma_timer; |  | ||||||
| 	int rx_dma_nrows; |  | ||||||
| 	spinlock_t rx_lock; |  | ||||||
| 	unsigned int tx_dma_channel; |  | ||||||
| 	unsigned int rx_dma_channel; |  | ||||||
| 	struct work_struct tx_dma_workqueue; |  | ||||||
| #elif ANOMALY_05000363 |  | ||||||
| 	unsigned int anomaly_threshold; |  | ||||||
| #endif |  | ||||||
| #if defined(SERIAL_BFIN_CTSRTS) || \ |  | ||||||
| 	defined(SERIAL_BFIN_HARD_CTSRTS) |  | ||||||
| 	int cts_pin; |  | ||||||
| 	int rts_pin; |  | ||||||
| #endif |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #ifdef BFIN_UART_BF60X_STYLE |  | ||||||
| 
 |  | ||||||
| /* UART_CTL Masks */ |  | ||||||
| #define UCEN                     0x1  /* Enable UARTx Clocks */ |  | ||||||
| #define LOOP_ENA                 0x2  /* Loopback Mode Enable */ |  | ||||||
| #define UMOD_MDB                 0x10  /* Enable MDB Mode */ |  | ||||||
| #define UMOD_IRDA                0x20  /* Enable IrDA Mode */ |  | ||||||
| #define UMOD_MASK                0x30  /* Uart Mode Mask */ |  | ||||||
| #define WLS(x)                   (((x-5) & 0x03) << 8)  /* Word Length Select */ |  | ||||||
| #define WLS_MASK                 0x300  /* Word length Select Mask */ |  | ||||||
| #define WLS_OFFSET               8      /* Word length Select Offset */ |  | ||||||
| #define STB                      0x1000  /* Stop Bits */ |  | ||||||
| #define STBH                     0x2000  /* Half Stop Bits */ |  | ||||||
| #define PEN                      0x4000  /* Parity Enable */ |  | ||||||
| #define EPS                      0x8000  /* Even Parity Select */ |  | ||||||
| #define STP                      0x10000  /* Stick Parity */ |  | ||||||
| #define FPE                      0x20000  /* Force Parity Error On Transmit */ |  | ||||||
| #define FFE                      0x40000  /* Force Framing Error On Transmit */ |  | ||||||
| #define SB                       0x80000  /* Set Break */ |  | ||||||
| #define LCR_MASK		 (SB | STP | EPS | PEN | STB | WLS_MASK) |  | ||||||
| #define FCPOL                    0x400000  /* Flow Control Pin Polarity */ |  | ||||||
| #define RPOLC                    0x800000  /* IrDA RX Polarity Change */ |  | ||||||
| #define TPOLC                    0x1000000  /* IrDA TX Polarity Change */ |  | ||||||
| #define MRTS                     0x2000000  /* Manual Request To Send */ |  | ||||||
| #define XOFF                     0x4000000  /* Transmitter Off */ |  | ||||||
| #define ARTS                     0x8000000  /* Automatic Request To Send */ |  | ||||||
| #define ACTS                     0x10000000  /* Automatic Clear To Send */ |  | ||||||
| #define RFIT                     0x20000000  /* Receive FIFO IRQ Threshold */ |  | ||||||
| #define RFRT                     0x40000000  /* Receive FIFO RTS Threshold */ |  | ||||||
| 
 |  | ||||||
| /* UART_STAT Masks */ |  | ||||||
| #define DR                       0x01  /* Data Ready */ |  | ||||||
| #define OE                       0x02  /* Overrun Error */ |  | ||||||
| #define PE                       0x04  /* Parity Error */ |  | ||||||
| #define FE                       0x08  /* Framing Error */ |  | ||||||
| #define BI                       0x10  /* Break Interrupt */ |  | ||||||
| #define THRE                     0x20  /* THR Empty */ |  | ||||||
| #define TEMT                     0x80  /* TSR and UART_THR Empty */ |  | ||||||
| #define TFI                      0x100  /* Transmission Finished Indicator */ |  | ||||||
| 
 |  | ||||||
| #define ASTKY                    0x200  /* Address Sticky */ |  | ||||||
| #define ADDR                     0x400  /* Address bit status */ |  | ||||||
| #define RO			 0x800  /* Reception Ongoing */ |  | ||||||
| #define SCTS                     0x1000  /* Sticky CTS */ |  | ||||||
| #define CTS                      0x10000  /* Clear To Send */ |  | ||||||
| #define RFCS                     0x20000  /* Receive FIFO Count Status */ |  | ||||||
| 
 |  | ||||||
| /* UART_CLOCK Masks */ |  | ||||||
| #define EDBO                     0x80000000 /* Enable Devide by One */ |  | ||||||
| 
 |  | ||||||
| #else /* BFIN_UART_BF60X_STYLE */ |  | ||||||
| 
 |  | ||||||
| /* UART_LCR Masks */ |  | ||||||
| #define WLS(x)                   (((x)-5) & 0x03)  /* Word Length Select */ |  | ||||||
| #define WLS_MASK                 0x03  /* Word length Select Mask */ |  | ||||||
| #define WLS_OFFSET               0     /* Word length Select Offset */ |  | ||||||
| #define STB                      0x04  /* Stop Bits */ |  | ||||||
| #define PEN                      0x08  /* Parity Enable */ |  | ||||||
| #define EPS                      0x10  /* Even Parity Select */ |  | ||||||
| #define STP                      0x20  /* Stick Parity */ |  | ||||||
| #define SB                       0x40  /* Set Break */ |  | ||||||
| #define DLAB                     0x80  /* Divisor Latch Access */ |  | ||||||
| #define LCR_MASK		 (SB | STP | EPS | PEN | STB | WLS_MASK) |  | ||||||
| 
 |  | ||||||
| /* UART_LSR Masks */ |  | ||||||
| #define DR                       0x01  /* Data Ready */ |  | ||||||
| #define OE                       0x02  /* Overrun Error */ |  | ||||||
| #define PE                       0x04  /* Parity Error */ |  | ||||||
| #define FE                       0x08  /* Framing Error */ |  | ||||||
| #define BI                       0x10  /* Break Interrupt */ |  | ||||||
| #define THRE                     0x20  /* THR Empty */ |  | ||||||
| #define TEMT                     0x40  /* TSR and UART_THR Empty */ |  | ||||||
| #define TFI                      0x80  /* Transmission Finished Indicator */ |  | ||||||
| 
 |  | ||||||
| /* UART_MCR Masks */ |  | ||||||
| #define XOFF                     0x01  /* Transmitter Off */ |  | ||||||
| #define MRTS                     0x02  /* Manual Request To Send */ |  | ||||||
| #define RFIT                     0x04  /* Receive FIFO IRQ Threshold */ |  | ||||||
| #define RFRT                     0x08  /* Receive FIFO RTS Threshold */ |  | ||||||
| #define LOOP_ENA                 0x10  /* Loopback Mode Enable */ |  | ||||||
| #define FCPOL                    0x20  /* Flow Control Pin Polarity */ |  | ||||||
| #define ARTS                     0x40  /* Automatic Request To Send */ |  | ||||||
| #define ACTS                     0x80  /* Automatic Clear To Send */ |  | ||||||
| 
 |  | ||||||
| /* UART_MSR Masks */ |  | ||||||
| #define SCTS                     0x01  /* Sticky CTS */ |  | ||||||
| #define CTS                      0x10  /* Clear To Send */ |  | ||||||
| #define RFCS                     0x20  /* Receive FIFO Count Status */ |  | ||||||
| 
 |  | ||||||
| /* UART_GCTL Masks */ |  | ||||||
| #define UCEN                     0x01  /* Enable UARTx Clocks */ |  | ||||||
| #define UMOD_IRDA                0x02  /* Enable IrDA Mode */ |  | ||||||
| #define UMOD_MASK                0x02  /* Uart Mode Mask */ |  | ||||||
| #define TPOLC                    0x04  /* IrDA TX Polarity Change */ |  | ||||||
| #define RPOLC                    0x08  /* IrDA RX Polarity Change */ |  | ||||||
| #define FPE                      0x10  /* Force Parity Error On Transmit */ |  | ||||||
| #define FFE                      0x20  /* Force Framing Error On Transmit */ |  | ||||||
| 
 |  | ||||||
| #endif /* BFIN_UART_BF60X_STYLE */ |  | ||||||
| 
 |  | ||||||
| /* UART_IER Masks */ |  | ||||||
| #define ERBFI                    0x01  /* Enable Receive Buffer Full Interrupt */ |  | ||||||
| #define ETBEI                    0x02  /* Enable Transmit Buffer Empty Interrupt */ |  | ||||||
| #define ELSI                     0x04  /* Enable RX Status Interrupt */ |  | ||||||
| #define EDSSI                    0x08  /* Enable Modem Status Interrupt */ |  | ||||||
| #define EDTPTI                   0x10  /* Enable DMA Transmit PIRQ Interrupt */ |  | ||||||
| #define ETFI                     0x20  /* Enable Transmission Finished Interrupt */ |  | ||||||
| #define ERFCI                    0x40  /* Enable Receive FIFO Count Interrupt */ |  | ||||||
| 
 |  | ||||||
| #if defined(BFIN_UART_BF60X_STYLE) |  | ||||||
| # define OFFSET_REDIV            0x00  /* Version ID Register             */ |  | ||||||
| # define OFFSET_CTL              0x04  /* Control Register                */ |  | ||||||
| # define OFFSET_STAT             0x08  /* Status Register                 */ |  | ||||||
| # define OFFSET_SCR              0x0C  /* SCR Scratch Register            */ |  | ||||||
| # define OFFSET_CLK              0x10  /* Clock Rate Register             */ |  | ||||||
| # define OFFSET_IER              0x14  /* Interrupt Enable Register       */ |  | ||||||
| # define OFFSET_IER_SET          0x18  /* Set Interrupt Enable Register   */ |  | ||||||
| # define OFFSET_IER_CLEAR        0x1C  /* Clear Interrupt Enable Register */ |  | ||||||
| # define OFFSET_RBR              0x20  /* Receive Buffer register         */ |  | ||||||
| # define OFFSET_THR              0x24  /* Transmit Holding register       */ |  | ||||||
| #elif defined(BFIN_UART_BF54X_STYLE) |  | ||||||
| # define OFFSET_DLL              0x00  /* Divisor Latch (Low-Byte)        */ |  | ||||||
| # define OFFSET_DLH              0x04  /* Divisor Latch (High-Byte)       */ |  | ||||||
| # define OFFSET_GCTL             0x08  /* Global Control Register         */ |  | ||||||
| # define OFFSET_LCR              0x0C  /* Line Control Register           */ |  | ||||||
| # define OFFSET_MCR              0x10  /* Modem Control Register          */ |  | ||||||
| # define OFFSET_LSR              0x14  /* Line Status Register            */ |  | ||||||
| # define OFFSET_MSR              0x18  /* Modem Status Register           */ |  | ||||||
| # define OFFSET_SCR              0x1C  /* SCR Scratch Register            */ |  | ||||||
| # define OFFSET_IER_SET          0x20  /* Set Interrupt Enable Register   */ |  | ||||||
| # define OFFSET_IER_CLEAR        0x24  /* Clear Interrupt Enable Register */ |  | ||||||
| # define OFFSET_THR              0x28  /* Transmit Holding register       */ |  | ||||||
| # define OFFSET_RBR              0x2C  /* Receive Buffer register         */ |  | ||||||
| #else /* BF533 style */ |  | ||||||
| # define OFFSET_THR              0x00  /* Transmit Holding register         */ |  | ||||||
| # define OFFSET_RBR              0x00  /* Receive Buffer register           */ |  | ||||||
| # define OFFSET_DLL              0x00  /* Divisor Latch (Low-Byte)          */ |  | ||||||
| # define OFFSET_DLH              0x04  /* Divisor Latch (High-Byte)         */ |  | ||||||
| # define OFFSET_IER              0x04  /* Interrupt Enable Register         */ |  | ||||||
| # define OFFSET_IIR              0x08  /* Interrupt Identification Register */ |  | ||||||
| # define OFFSET_LCR              0x0C  /* Line Control Register             */ |  | ||||||
| # define OFFSET_MCR              0x10  /* Modem Control Register            */ |  | ||||||
| # define OFFSET_LSR              0x14  /* Line Status Register              */ |  | ||||||
| # define OFFSET_MSR              0x18  /* Modem Status Register             */ |  | ||||||
| # define OFFSET_SCR              0x1C  /* SCR Scratch Register              */ |  | ||||||
| # define OFFSET_GCTL             0x24  /* Global Control Register           */ |  | ||||||
| /* code should not need IIR, so force build error if they use it */ |  | ||||||
| # undef OFFSET_IIR |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * All Blackfin system MMRs are padded to 32bits even if the register |  | ||||||
|  * itself is only 16bits.  So use a helper macro to streamline this. |  | ||||||
|  */ |  | ||||||
| #define __BFP(m) u16 m; u16 __pad_##m |  | ||||||
| struct bfin_uart_regs { |  | ||||||
| #if defined(BFIN_UART_BF60X_STYLE) |  | ||||||
| 	u32 revid; |  | ||||||
| 	u32 ctl; |  | ||||||
| 	u32 stat; |  | ||||||
| 	u32 scr; |  | ||||||
| 	u32 clk; |  | ||||||
| 	u32 ier; |  | ||||||
| 	u32 ier_set; |  | ||||||
| 	u32 ier_clear; |  | ||||||
| 	u32 rbr; |  | ||||||
| 	u32 thr; |  | ||||||
| 	u32 taip; |  | ||||||
| 	u32 tsr; |  | ||||||
| 	u32 rsr; |  | ||||||
| 	u32 txdiv; |  | ||||||
| 	u32 rxdiv; |  | ||||||
| #elif defined(BFIN_UART_BF54X_STYLE) |  | ||||||
| 	__BFP(dll); |  | ||||||
| 	__BFP(dlh); |  | ||||||
| 	__BFP(gctl); |  | ||||||
| 	__BFP(lcr); |  | ||||||
| 	__BFP(mcr); |  | ||||||
| 	__BFP(lsr); |  | ||||||
| 	__BFP(msr); |  | ||||||
| 	__BFP(scr); |  | ||||||
| 	__BFP(ier_set); |  | ||||||
| 	__BFP(ier_clear); |  | ||||||
| 	__BFP(thr); |  | ||||||
| 	__BFP(rbr); |  | ||||||
| #else |  | ||||||
| 	union { |  | ||||||
| 		u16 dll; |  | ||||||
| 		u16 thr; |  | ||||||
| 		const u16 rbr; |  | ||||||
| 	}; |  | ||||||
| 	const u16 __pad0; |  | ||||||
| 	union { |  | ||||||
| 		u16 dlh; |  | ||||||
| 		u16 ier; |  | ||||||
| 	}; |  | ||||||
| 	const u16 __pad1; |  | ||||||
| 	const __BFP(iir); |  | ||||||
| 	__BFP(lcr); |  | ||||||
| 	__BFP(mcr); |  | ||||||
| 	__BFP(lsr); |  | ||||||
| 	__BFP(msr); |  | ||||||
| 	__BFP(scr); |  | ||||||
| 	const u32 __pad2; |  | ||||||
| 	__BFP(gctl); |  | ||||||
| #endif |  | ||||||
| }; |  | ||||||
| #undef __BFP |  | ||||||
| 
 |  | ||||||
| #define port_membase(uart)     (((struct bfin_serial_port *)(uart))->port.membase) |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
| #ifndef port_membase |  | ||||||
| # define port_membase(p) 0 |  | ||||||
| #endif |  | ||||||
| */ |  | ||||||
| #ifdef BFIN_UART_BF60X_STYLE |  | ||||||
| 
 |  | ||||||
| #define UART_GET_CHAR(p)      bfin_read32(port_membase(p) + OFFSET_RBR) |  | ||||||
| #define UART_GET_CLK(p)       bfin_read32(port_membase(p) + OFFSET_CLK) |  | ||||||
| #define UART_GET_CTL(p)       bfin_read32(port_membase(p) + OFFSET_CTL) |  | ||||||
| #define UART_GET_GCTL(p)      UART_GET_CTL(p) |  | ||||||
| #define UART_GET_LCR(p)       UART_GET_CTL(p) |  | ||||||
| #define UART_GET_MCR(p)       UART_GET_CTL(p) |  | ||||||
| #if ANOMALY_16000030 |  | ||||||
| #define UART_GET_STAT(p) \ |  | ||||||
| ({ \ |  | ||||||
| 	u32 __ret; \ |  | ||||||
| 	unsigned long flags; \ |  | ||||||
| 	flags = hard_local_irq_save(); \ |  | ||||||
| 	__ret = bfin_read32(port_membase(p) + OFFSET_STAT); \ |  | ||||||
| 	hard_local_irq_restore(flags); \ |  | ||||||
| 	__ret; \ |  | ||||||
| }) |  | ||||||
| #else |  | ||||||
| #define UART_GET_STAT(p)      bfin_read32(port_membase(p) + OFFSET_STAT) |  | ||||||
| #endif |  | ||||||
| #define UART_GET_MSR(p)       UART_GET_STAT(p) |  | ||||||
| 
 |  | ||||||
| #define UART_PUT_CHAR(p, v)   bfin_write32(port_membase(p) + OFFSET_THR, v) |  | ||||||
| #define UART_PUT_CLK(p, v)    bfin_write32(port_membase(p) + OFFSET_CLK, v) |  | ||||||
| #define UART_PUT_CTL(p, v)    bfin_write32(port_membase(p) + OFFSET_CTL, v) |  | ||||||
| #define UART_PUT_GCTL(p, v)   UART_PUT_CTL(p, v) |  | ||||||
| #define UART_PUT_LCR(p, v)    UART_PUT_CTL(p, v) |  | ||||||
| #define UART_PUT_MCR(p, v)    UART_PUT_CTL(p, v) |  | ||||||
| #define UART_PUT_STAT(p, v)   bfin_write32(port_membase(p) + OFFSET_STAT, v) |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_IER(p, v)  bfin_write32(port_membase(p) + OFFSET_IER_CLEAR, v) |  | ||||||
| #define UART_GET_IER(p)       bfin_read32(port_membase(p) + OFFSET_IER) |  | ||||||
| #define UART_SET_IER(p, v)    bfin_write32(port_membase(p) + OFFSET_IER_SET, v) |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_DLAB(p)    /* MMRs not muxed on BF60x */ |  | ||||||
| #define UART_SET_DLAB(p)      /* MMRs not muxed on BF60x */ |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_LSR(p)     UART_PUT_STAT(p, -1) |  | ||||||
| #define UART_GET_LSR(p)       UART_GET_STAT(p) |  | ||||||
| #define UART_PUT_LSR(p, v)    UART_PUT_STAT(p, v) |  | ||||||
| 
 |  | ||||||
| /* This handles hard CTS/RTS */ |  | ||||||
| #define BFIN_UART_CTSRTS_HARD |  | ||||||
| #define UART_CLEAR_SCTS(p)      UART_PUT_STAT(p, SCTS) |  | ||||||
| #define UART_GET_CTS(x)         (UART_GET_MSR(x) & CTS) |  | ||||||
| #define UART_DISABLE_RTS(x)     UART_PUT_MCR(x, UART_GET_MCR(x) & ~(ARTS | MRTS)) |  | ||||||
| #define UART_ENABLE_RTS(x)      UART_PUT_MCR(x, UART_GET_MCR(x) | MRTS | ARTS) |  | ||||||
| #define UART_ENABLE_INTS(x, v)  UART_SET_IER(x, v) |  | ||||||
| #define UART_DISABLE_INTS(x)    UART_CLEAR_IER(x, 0xF) |  | ||||||
| 
 |  | ||||||
| #else /* BFIN_UART_BF60X_STYLE */ |  | ||||||
| 
 |  | ||||||
| #define UART_GET_CHAR(p)      bfin_read16(port_membase(p) + OFFSET_RBR) |  | ||||||
| #define UART_GET_DLL(p)       bfin_read16(port_membase(p) + OFFSET_DLL) |  | ||||||
| #define UART_GET_DLH(p)       bfin_read16(port_membase(p) + OFFSET_DLH) |  | ||||||
| #define UART_GET_CLK(p)	      ((UART_GET_DLH(p) << 8) | UART_GET_DLL(p)) |  | ||||||
| #define UART_GET_GCTL(p)      bfin_read16(port_membase(p) + OFFSET_GCTL) |  | ||||||
| #define UART_GET_LCR(p)       bfin_read16(port_membase(p) + OFFSET_LCR) |  | ||||||
| #define UART_GET_MCR(p)       bfin_read16(port_membase(p) + OFFSET_MCR) |  | ||||||
| #define UART_GET_MSR(p)       bfin_read16(port_membase(p) + OFFSET_MSR) |  | ||||||
| 
 |  | ||||||
| #define UART_PUT_CHAR(p, v)   bfin_write16(port_membase(p) + OFFSET_THR, v) |  | ||||||
| #define UART_PUT_DLL(p, v)    bfin_write16(port_membase(p) + OFFSET_DLL, v) |  | ||||||
| #define UART_PUT_DLH(p, v)    bfin_write16(port_membase(p) + OFFSET_DLH, v) |  | ||||||
| #define UART_PUT_CLK(p, v) do \ |  | ||||||
| {\ |  | ||||||
| UART_PUT_DLL(p, v & 0xFF); \ |  | ||||||
| UART_PUT_DLH(p, (v >> 8) & 0xFF); } while (0); |  | ||||||
| 
 |  | ||||||
| #define UART_PUT_GCTL(p, v)   bfin_write16(port_membase(p) + OFFSET_GCTL, v) |  | ||||||
| #define UART_PUT_LCR(p, v)    bfin_write16(port_membase(p) + OFFSET_LCR, v) |  | ||||||
| #define UART_PUT_MCR(p, v)    bfin_write16(port_membase(p) + OFFSET_MCR, v) |  | ||||||
| 
 |  | ||||||
| #ifdef BFIN_UART_BF54X_STYLE |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_IER(p, v)  bfin_write16(port_membase(p) + OFFSET_IER_CLEAR, v) |  | ||||||
| #define UART_GET_IER(p)       bfin_read16(port_membase(p) + OFFSET_IER_SET) |  | ||||||
| #define UART_SET_IER(p, v)    bfin_write16(port_membase(p) + OFFSET_IER_SET, v) |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_DLAB(p)    /* MMRs not muxed on BF54x */ |  | ||||||
| #define UART_SET_DLAB(p)      /* MMRs not muxed on BF54x */ |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_LSR(p)     bfin_write16(port_membase(p) + OFFSET_LSR, -1) |  | ||||||
| #define UART_GET_LSR(p)       bfin_read16(port_membase(p) + OFFSET_LSR) |  | ||||||
| #define UART_PUT_LSR(p, v)    bfin_write16(port_membase(p) + OFFSET_LSR, v) |  | ||||||
| 
 |  | ||||||
| /* This handles hard CTS/RTS */ |  | ||||||
| #define BFIN_UART_CTSRTS_HARD |  | ||||||
| #define UART_CLEAR_SCTS(p)      bfin_write16((port_membase(p) + OFFSET_MSR), SCTS) |  | ||||||
| #define UART_GET_CTS(x)         (UART_GET_MSR(x) & CTS) |  | ||||||
| #define UART_DISABLE_RTS(x)     UART_PUT_MCR(x, UART_GET_MCR(x) & ~(ARTS | MRTS)) |  | ||||||
| #define UART_ENABLE_RTS(x)      UART_PUT_MCR(x, UART_GET_MCR(x) | MRTS | ARTS) |  | ||||||
| #define UART_ENABLE_INTS(x, v)  UART_SET_IER(x, v) |  | ||||||
| #define UART_DISABLE_INTS(x)    UART_CLEAR_IER(x, 0xF) |  | ||||||
| 
 |  | ||||||
| #else /* BF533 style */ |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_IER(p, v)  UART_PUT_IER(p, UART_GET_IER(p) & ~(v)) |  | ||||||
| #define UART_GET_IER(p)       bfin_read16(port_membase(p) + OFFSET_IER) |  | ||||||
| #define UART_PUT_IER(p, v)    bfin_write16(port_membase(p) + OFFSET_IER, v) |  | ||||||
| #define UART_SET_IER(p, v)    UART_PUT_IER(p, UART_GET_IER(p) | (v)) |  | ||||||
| 
 |  | ||||||
| #define UART_CLEAR_DLAB(p)    do { UART_PUT_LCR(p, UART_GET_LCR(p) & ~DLAB); SSYNC(); } while (0) |  | ||||||
| #define UART_SET_DLAB(p)      do { UART_PUT_LCR(p, UART_GET_LCR(p) | DLAB); SSYNC(); } while (0) |  | ||||||
| 
 |  | ||||||
| #define get_lsr_cache(uart)    (((struct bfin_serial_port *)(uart))->lsr) |  | ||||||
| #define put_lsr_cache(uart, v) (((struct bfin_serial_port *)(uart))->lsr = (v)) |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
| #ifndef put_lsr_cache |  | ||||||
| # define put_lsr_cache(p, v) |  | ||||||
| #endif |  | ||||||
| #ifndef get_lsr_cache |  | ||||||
| # define get_lsr_cache(p) 0 |  | ||||||
| #endif |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| /* The hardware clears the LSR bits upon read, so we need to cache
 |  | ||||||
|  * some of the more fun bits in software so they don't get lost |  | ||||||
|  * when checking the LSR in other code paths (TX). |  | ||||||
|  */ |  | ||||||
| static inline void UART_CLEAR_LSR(void *p) |  | ||||||
| { |  | ||||||
| 	put_lsr_cache(p, 0); |  | ||||||
| 	bfin_write16(port_membase(p) + OFFSET_LSR, -1); |  | ||||||
| } |  | ||||||
| static inline unsigned int UART_GET_LSR(void *p) |  | ||||||
| { |  | ||||||
| 	unsigned int lsr = bfin_read16(port_membase(p) + OFFSET_LSR); |  | ||||||
| 	put_lsr_cache(p, get_lsr_cache(p) | (lsr & (BI|FE|PE|OE))); |  | ||||||
| 	return lsr | get_lsr_cache(p); |  | ||||||
| } |  | ||||||
| static inline void UART_PUT_LSR(void *p, uint16_t val) |  | ||||||
| { |  | ||||||
| 	put_lsr_cache(p, get_lsr_cache(p) & ~val); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* This handles soft CTS/RTS */ |  | ||||||
| #define UART_GET_CTS(x)        gpio_get_value((x)->cts_pin) |  | ||||||
| #define UART_DISABLE_RTS(x)    gpio_set_value((x)->rts_pin, 1) |  | ||||||
| #define UART_ENABLE_RTS(x)     gpio_set_value((x)->rts_pin, 0) |  | ||||||
| #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) |  | ||||||
| #define UART_DISABLE_INTS(x)   UART_PUT_IER(x, 0) |  | ||||||
| 
 |  | ||||||
| #endif /* BFIN_UART_BF54X_STYLE */ |  | ||||||
| 
 |  | ||||||
| #endif /* BFIN_UART_BF60X_STYLE */ |  | ||||||
| 
 |  | ||||||
| #ifndef BFIN_UART_TX_FIFO_SIZE |  | ||||||
| # define BFIN_UART_TX_FIFO_SIZE 2 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif /* __BFIN_ASM_SERIAL_H__ */ |  | ||||||
|  | @ -1,27 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2006-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _bfin_simple_timer_h_ |  | ||||||
| #define _bfin_simple_timer_h_ |  | ||||||
| 
 |  | ||||||
| #include <linux/ioctl.h> |  | ||||||
| 
 |  | ||||||
| #define BFIN_SIMPLE_TIMER_IOCTL_MAGIC 't' |  | ||||||
| 
 |  | ||||||
| #define BFIN_SIMPLE_TIMER_SET_PERIOD _IO(BFIN_SIMPLE_TIMER_IOCTL_MAGIC,  2) |  | ||||||
| #define BFIN_SIMPLE_TIMER_SET_WIDTH _IO(BFIN_SIMPLE_TIMER_IOCTL_MAGIC,  3) |  | ||||||
| #define BFIN_SIMPLE_TIMER_SET_MODE _IO(BFIN_SIMPLE_TIMER_IOCTL_MAGIC,  4) |  | ||||||
| #define BFIN_SIMPLE_TIMER_START      _IO(BFIN_SIMPLE_TIMER_IOCTL_MAGIC,  6) |  | ||||||
| #define BFIN_SIMPLE_TIMER_STOP       _IO(BFIN_SIMPLE_TIMER_IOCTL_MAGIC,  8) |  | ||||||
| #define BFIN_SIMPLE_TIMER_READ       _IO(BFIN_SIMPLE_TIMER_IOCTL_MAGIC, 10) |  | ||||||
| #define BFIN_SIMPLE_TIMER_READ_COUNTER _IO(BFIN_SIMPLE_TIMER_IOCTL_MAGIC, 11) |  | ||||||
| 
 |  | ||||||
| #define BFIN_SIMPLE_TIMER_MODE_PWM_ONESHOT		0 |  | ||||||
| #define BFIN_SIMPLE_TIMER_MODE_PWMOUT_CONT		1 |  | ||||||
| #define BFIN_SIMPLE_TIMER_MODE_WDTH_CAP			2 |  | ||||||
| #define BFIN_SIMPLE_TIMER_MODE_PWMOUT_CONT_NOIRQ	3 |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,71 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_sport.h - interface to Blackfin SPORTs |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| #ifndef __BFIN_SPORT_H__ |  | ||||||
| #define __BFIN_SPORT_H__ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| #include <uapi/asm/bfin_sport.h> |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * All Blackfin system MMRs are padded to 32bits even if the register |  | ||||||
|  * itself is only 16bits.  So use a helper macro to streamline this. |  | ||||||
|  */ |  | ||||||
| #define __BFP(m) u16 m; u16 __pad_##m |  | ||||||
| struct sport_register { |  | ||||||
| 	__BFP(tcr1); |  | ||||||
| 	__BFP(tcr2); |  | ||||||
| 	__BFP(tclkdiv); |  | ||||||
| 	__BFP(tfsdiv); |  | ||||||
| 	union { |  | ||||||
| 		u32 tx32; |  | ||||||
| 		u16 tx16; |  | ||||||
| 	}; |  | ||||||
| 	u32 __pad_tx; |  | ||||||
| 	union { |  | ||||||
| 		u32 rx32;	/* use the anomaly wrapper below */ |  | ||||||
| 		u16 rx16; |  | ||||||
| 	}; |  | ||||||
| 	u32 __pad_rx; |  | ||||||
| 	__BFP(rcr1); |  | ||||||
| 	__BFP(rcr2); |  | ||||||
| 	__BFP(rclkdiv); |  | ||||||
| 	__BFP(rfsdiv); |  | ||||||
| 	__BFP(stat); |  | ||||||
| 	__BFP(chnl); |  | ||||||
| 	__BFP(mcmc1); |  | ||||||
| 	__BFP(mcmc2); |  | ||||||
| 	u32 mtcs0; |  | ||||||
| 	u32 mtcs1; |  | ||||||
| 	u32 mtcs2; |  | ||||||
| 	u32 mtcs3; |  | ||||||
| 	u32 mrcs0; |  | ||||||
| 	u32 mrcs1; |  | ||||||
| 	u32 mrcs2; |  | ||||||
| 	u32 mrcs3; |  | ||||||
| }; |  | ||||||
| #undef __BFP |  | ||||||
| 
 |  | ||||||
| struct bfin_snd_platform_data { |  | ||||||
| 	const unsigned short *pin_req; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #define bfin_read_sport_rx32(base) \ |  | ||||||
| ({ \ |  | ||||||
| 	struct sport_register *__mmrs = (void *)base; \ |  | ||||||
| 	u32 __ret; \ |  | ||||||
| 	unsigned long flags; \ |  | ||||||
| 	if (ANOMALY_05000473) \ |  | ||||||
| 		local_irq_save(flags); \ |  | ||||||
| 	__ret = __mmrs->rx32; \ |  | ||||||
| 	if (ANOMALY_05000473) \ |  | ||||||
| 		local_irq_restore(flags); \ |  | ||||||
| 	__ret; \ |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,107 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_sport - Analog Devices BF6XX SPORT registers |  | ||||||
|  * |  | ||||||
|  * Copyright (c) 2012 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * This program is free software; you can redistribute it and/or modify |  | ||||||
|  * it under the terms of the GNU General Public License version 2 as |  | ||||||
|  * published by the Free Software Foundation. |  | ||||||
|  * |  | ||||||
|  * This program is distributed in the hope that it will be useful, |  | ||||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|  * GNU General Public License for more details. |  | ||||||
|  * |  | ||||||
|  * You should have received a copy of the GNU General Public License |  | ||||||
|  * along with this program; if not, write to the Free Software |  | ||||||
|  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BFIN_SPORT3_H_ |  | ||||||
| #define _BFIN_SPORT3_H_ |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| 
 |  | ||||||
| #define SPORT_CTL_SPENPRI             0x00000001    /* Enable Primary Channel */ |  | ||||||
| #define SPORT_CTL_DTYPE               0x00000006    /* Data type select */ |  | ||||||
| #define SPORT_CTL_RJUSTIFY_ZFILL      0x00000000    /* DTYPE: MCM mode: Right-justify, zero-fill unused MSBs */ |  | ||||||
| #define SPORT_CTL_RJUSTIFY_SFILL      0x00000002    /* DTYPE: MCM mode: Right-justify, sign-extend unused MSBs */ |  | ||||||
| #define SPORT_CTL_USE_U_LAW           0x00000004    /* DTYPE: MCM mode: Compand using u-law */ |  | ||||||
| #define SPORT_CTL_USE_A_LAW           0x00000006    /* DTYPE: MCM mode: Compand using A-law */ |  | ||||||
| #define SPORT_CTL_LSBF                0x00000008    /* Serial bit endian select */ |  | ||||||
| #define SPORT_CTL_SLEN                0x000001F0    /* Serial Word length select */ |  | ||||||
| #define SPORT_CTL_PACK                0x00000200    /* 16-bit to 32-bit packing enable */ |  | ||||||
| #define SPORT_CTL_ICLK                0x00000400    /* Internal Clock Select */ |  | ||||||
| #define SPORT_CTL_OPMODE              0x00000800    /* Operation mode */ |  | ||||||
| #define SPORT_CTL_CKRE                0x00001000    /* Clock rising edge select */ |  | ||||||
| #define SPORT_CTL_FSR                 0x00002000    /* Frame Sync required */ |  | ||||||
| #define SPORT_CTL_IFS                 0x00004000    /* Internal Frame Sync select */ |  | ||||||
| #define SPORT_CTL_DIFS                0x00008000    /* Data-independent frame sync select */ |  | ||||||
| #define SPORT_CTL_LFS                 0x00010000    /* Active low frame sync select */ |  | ||||||
| #define SPORT_CTL_LAFS                0x00020000    /* Late Transmit frame select */ |  | ||||||
| #define SPORT_CTL_RJUST               0x00040000    /* Right Justified mode select */ |  | ||||||
| #define SPORT_CTL_FSED                0x00080000    /* External frame sync edge select */ |  | ||||||
| #define SPORT_CTL_TFIEN               0x00100000    /* Transmit finish interrupt enable select */ |  | ||||||
| #define SPORT_CTL_GCLKEN              0x00200000    /* Gated clock mode select */ |  | ||||||
| #define SPORT_CTL_SPENSEC             0x01000000    /* Enable secondary channel */ |  | ||||||
| #define SPORT_CTL_SPTRAN              0x02000000    /* Data direction control */ |  | ||||||
| #define SPORT_CTL_DERRSEC             0x04000000    /* Secondary channel error status */ |  | ||||||
| #define SPORT_CTL_DXSSEC              0x18000000    /* Secondary channel data buffer status */ |  | ||||||
| #define SPORT_CTL_SEC_EMPTY           0x00000000    /* DXSSEC: Empty */ |  | ||||||
| #define SPORT_CTL_SEC_PART_FULL       0x10000000    /* DXSSEC: Partially full */ |  | ||||||
| #define SPORT_CTL_SEC_FULL            0x18000000    /* DXSSEC: Full */ |  | ||||||
| #define SPORT_CTL_DERRPRI             0x20000000    /* Primary channel error status */ |  | ||||||
| #define SPORT_CTL_DXSPRI              0xC0000000    /* Primary channel data buffer status */ |  | ||||||
| #define SPORT_CTL_PRM_EMPTY           0x00000000    /* DXSPRI: Empty */ |  | ||||||
| #define SPORT_CTL_PRM_PART_FULL       0x80000000    /* DXSPRI: Partially full */ |  | ||||||
| #define SPORT_CTL_PRM_FULL            0xC0000000    /* DXSPRI: Full */ |  | ||||||
| 
 |  | ||||||
| #define SPORT_DIV_CLKDIV              0x0000FFFF    /* Clock divisor */ |  | ||||||
| #define SPORT_DIV_FSDIV               0xFFFF0000    /* Frame sync divisor */ |  | ||||||
| 
 |  | ||||||
| #define SPORT_MCTL_MCE                0x00000001    /* Multichannel enable */ |  | ||||||
| #define SPORT_MCTL_MCPDE              0x00000004    /* Multichannel data packing select */ |  | ||||||
| #define SPORT_MCTL_MFD                0x000000F0    /* Multichannel frame delay */ |  | ||||||
| #define SPORT_MCTL_WSIZE              0x00007F00    /* Number of multichannel slots */ |  | ||||||
| #define SPORT_MCTL_WOFFSET            0x03FF0000    /* Window offset size */ |  | ||||||
| 
 |  | ||||||
| #define SPORT_CNT_CLKCNT              0x0000FFFF    /* Current state of clk div counter */ |  | ||||||
| #define SPORT_CNT_FSDIVCNT            0xFFFF0000    /* Current state of frame div counter */ |  | ||||||
| 
 |  | ||||||
| #define SPORT_ERR_DERRPMSK            0x00000001    /* Primary channel data error interrupt enable */ |  | ||||||
| #define SPORT_ERR_DERRSMSK            0x00000002    /* Secondary channel data error interrupt enable */ |  | ||||||
| #define SPORT_ERR_FSERRMSK            0x00000004    /* Frame sync error interrupt enable */ |  | ||||||
| #define SPORT_ERR_DERRPSTAT           0x00000010    /* Primary channel data error status */ |  | ||||||
| #define SPORT_ERR_DERRSSTAT           0x00000020    /* Secondary channel data error status */ |  | ||||||
| #define SPORT_ERR_FSERRSTAT           0x00000040    /* Frame sync error status */ |  | ||||||
| 
 |  | ||||||
| #define SPORT_MSTAT_CURCHAN           0x000003FF    /* Channel which is being serviced in the multichannel operation */ |  | ||||||
| 
 |  | ||||||
| #define SPORT_CTL2_FSMUXSEL           0x00000001    /* Frame Sync MUX Select */ |  | ||||||
| #define SPORT_CTL2_CKMUXSEL           0x00000002    /* Clock MUX Select */ |  | ||||||
| #define SPORT_CTL2_LBSEL              0x00000004    /* Loopback Select */ |  | ||||||
| 
 |  | ||||||
| struct sport_register { |  | ||||||
| 	u32 spctl; |  | ||||||
| 	u32 div; |  | ||||||
| 	u32 spmctl; |  | ||||||
| 	u32 spcs0; |  | ||||||
| 	u32 spcs1; |  | ||||||
| 	u32 spcs2; |  | ||||||
| 	u32 spcs3; |  | ||||||
| 	u32 spcnt; |  | ||||||
| 	u32 sperrctl; |  | ||||||
| 	u32 spmstat; |  | ||||||
| 	u32 spctl2; |  | ||||||
| 	u32 txa; |  | ||||||
| 	u32 rxa; |  | ||||||
| 	u32 txb; |  | ||||||
| 	u32 rxb; |  | ||||||
| 	u32 revid; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| struct bfin_snd_platform_data { |  | ||||||
| 	const unsigned short *pin_req; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,214 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_twi.h - interface to Blackfin TWIs |  | ||||||
|  * |  | ||||||
|  * Copyright 2005-2014 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BFIN_TWI_H__ |  | ||||||
| #define __ASM_BFIN_TWI_H__ |  | ||||||
| 
 |  | ||||||
| #include <asm/blackfin.h> |  | ||||||
| #include <linux/types.h> |  | ||||||
| #include <linux/i2c.h> |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * ADI twi registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_twi_regs { |  | ||||||
| 	u16 clkdiv; |  | ||||||
| 	u16 dummy1; |  | ||||||
| 	u16 control; |  | ||||||
| 	u16 dummy2; |  | ||||||
| 	u16 slave_ctl; |  | ||||||
| 	u16 dummy3; |  | ||||||
| 	u16 slave_stat; |  | ||||||
| 	u16 dummy4; |  | ||||||
| 	u16 slave_addr; |  | ||||||
| 	u16 dummy5; |  | ||||||
| 	u16 master_ctl; |  | ||||||
| 	u16 dummy6; |  | ||||||
| 	u16 master_stat; |  | ||||||
| 	u16 dummy7; |  | ||||||
| 	u16 master_addr; |  | ||||||
| 	u16 dummy8; |  | ||||||
| 	u16 int_stat; |  | ||||||
| 	u16 dummy9; |  | ||||||
| 	u16 int_mask; |  | ||||||
| 	u16 dummy10; |  | ||||||
| 	u16 fifo_ctl; |  | ||||||
| 	u16 dummy11; |  | ||||||
| 	u16 fifo_stat; |  | ||||||
| 	u16 dummy12; |  | ||||||
| 	u32 __pad[20]; |  | ||||||
| 	u16 xmt_data8; |  | ||||||
| 	u16 dummy13; |  | ||||||
| 	u16 xmt_data16; |  | ||||||
| 	u16 dummy14; |  | ||||||
| 	u16 rcv_data8; |  | ||||||
| 	u16 dummy15; |  | ||||||
| 	u16 rcv_data16; |  | ||||||
| 	u16 dummy16; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| struct bfin_twi_iface { |  | ||||||
| 	int			irq; |  | ||||||
| 	spinlock_t		lock; |  | ||||||
| 	char			read_write; |  | ||||||
| 	u8			command; |  | ||||||
| 	u8			*transPtr; |  | ||||||
| 	int			readNum; |  | ||||||
| 	int			writeNum; |  | ||||||
| 	int			cur_mode; |  | ||||||
| 	int			manual_stop; |  | ||||||
| 	int			result; |  | ||||||
| 	struct i2c_adapter	adap; |  | ||||||
| 	struct completion	complete; |  | ||||||
| 	struct i2c_msg		*pmsg; |  | ||||||
| 	int			msg_num; |  | ||||||
| 	int			cur_msg; |  | ||||||
| 	u16			saved_clkdiv; |  | ||||||
| 	u16			saved_control; |  | ||||||
| 	struct bfin_twi_regs __iomem *regs_base; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /*  ********************  TWO-WIRE INTERFACE (TWI) MASKS  ********************/ |  | ||||||
| /* TWI_CLKDIV Macros (Use: *pTWI_CLKDIV = CLKLOW(x)|CLKHI(y);  ) */ |  | ||||||
| #define	CLKLOW(x)	((x) & 0xFF)	/* Periods Clock Is Held Low */ |  | ||||||
| #define CLKHI(y)	(((y)&0xFF)<<0x8) /* Periods Before New Clock Low */ |  | ||||||
| 
 |  | ||||||
| /* TWI_PRESCALE Masks */ |  | ||||||
| #define	PRESCALE	0x007F	/* SCLKs Per Internal Time Reference (10MHz) */ |  | ||||||
| #define	TWI_ENA		0x0080	/* TWI Enable */ |  | ||||||
| #define	SCCB		0x0200	/* SCCB Compatibility Enable */ |  | ||||||
| 
 |  | ||||||
| /* TWI_SLAVE_CTL Masks */ |  | ||||||
| #define	SEN		0x0001	/* Slave Enable */ |  | ||||||
| #define	SADD_LEN	0x0002	/* Slave Address Length */ |  | ||||||
| #define	STDVAL		0x0004	/* Slave Transmit Data Valid */ |  | ||||||
| #define	NAK		0x0008	/* NAK Generated At Conclusion Of Transfer */ |  | ||||||
| #define	GEN		0x0010	/* General Call Address Matching Enabled */ |  | ||||||
| 
 |  | ||||||
| /* TWI_SLAVE_STAT Masks	*/ |  | ||||||
| #define	SDIR		0x0001	/* Slave Transfer Direction (RX/TX*) */ |  | ||||||
| #define GCALL		0x0002	/* General Call Indicator */ |  | ||||||
| 
 |  | ||||||
| /* TWI_MASTER_CTL Masks	*/ |  | ||||||
| #define	MEN		0x0001	/* Master Mode Enable          */ |  | ||||||
| #define	MADD_LEN	0x0002	/* Master Address Length       */ |  | ||||||
| #define	MDIR		0x0004	/* Master Transmit Direction (RX/TX*) */ |  | ||||||
| #define	FAST		0x0008	/* Use Fast Mode Timing Specs  */ |  | ||||||
| #define	STOP		0x0010	/* Issue Stop Condition        */ |  | ||||||
| #define	RSTART		0x0020	/* Repeat Start or Stop* At End Of Transfer */ |  | ||||||
| #define	DCNT		0x3FC0	/* Data Bytes To Transfer      */ |  | ||||||
| #define	SDAOVR		0x4000	/* Serial Data Override        */ |  | ||||||
| #define	SCLOVR		0x8000	/* Serial Clock Override       */ |  | ||||||
| 
 |  | ||||||
| /* TWI_MASTER_STAT Masks */ |  | ||||||
| #define	MPROG		0x0001	/* Master Transfer In Progress */ |  | ||||||
| #define	LOSTARB		0x0002	/* Lost Arbitration Indicator (Xfer Aborted) */ |  | ||||||
| #define	ANAK		0x0004	/* Address Not Acknowledged    */ |  | ||||||
| #define	DNAK		0x0008	/* Data Not Acknowledged       */ |  | ||||||
| #define	BUFRDERR	0x0010	/* Buffer Read Error           */ |  | ||||||
| #define	BUFWRERR	0x0020	/* Buffer Write Error          */ |  | ||||||
| #define	SDASEN		0x0040	/* Serial Data Sense           */ |  | ||||||
| #define	SCLSEN		0x0080	/* Serial Clock Sense          */ |  | ||||||
| #define	BUSBUSY		0x0100	/* Bus Busy Indicator          */ |  | ||||||
| 
 |  | ||||||
| /* TWI_INT_SRC and TWI_INT_ENABLE Masks	*/ |  | ||||||
| #define	SINIT		0x0001	/* Slave Transfer Initiated    */ |  | ||||||
| #define	SCOMP		0x0002	/* Slave Transfer Complete     */ |  | ||||||
| #define	SERR		0x0004	/* Slave Transfer Error        */ |  | ||||||
| #define	SOVF		0x0008	/* Slave Overflow              */ |  | ||||||
| #define	MCOMP		0x0010	/* Master Transfer Complete    */ |  | ||||||
| #define	MERR		0x0020	/* Master Transfer Error       */ |  | ||||||
| #define	XMTSERV		0x0040	/* Transmit FIFO Service       */ |  | ||||||
| #define	RCVSERV		0x0080	/* Receive FIFO Service        */ |  | ||||||
| 
 |  | ||||||
| /* TWI_FIFO_CTRL Masks */ |  | ||||||
| #define	XMTFLUSH	0x0001	/* Transmit Buffer Flush                 */ |  | ||||||
| #define	RCVFLUSH	0x0002	/* Receive Buffer Flush                  */ |  | ||||||
| #define	XMTINTLEN	0x0004	/* Transmit Buffer Interrupt Length      */ |  | ||||||
| #define	RCVINTLEN	0x0008	/* Receive Buffer Interrupt Length       */ |  | ||||||
| 
 |  | ||||||
| /* TWI_FIFO_STAT Masks */ |  | ||||||
| #define	XMTSTAT		0x0003	/* Transmit FIFO Status                  */ |  | ||||||
| #define	XMT_EMPTY	0x0000	/* Transmit FIFO Empty                   */ |  | ||||||
| #define	XMT_HALF	0x0001	/* Transmit FIFO Has 1 Byte To Write     */ |  | ||||||
| #define	XMT_FULL	0x0003	/* Transmit FIFO Full (2 Bytes To Write) */ |  | ||||||
| 
 |  | ||||||
| #define	RCVSTAT		0x000C	/* Receive FIFO Status                   */ |  | ||||||
| #define	RCV_EMPTY	0x0000	/* Receive FIFO Empty                    */ |  | ||||||
| #define	RCV_HALF	0x0004	/* Receive FIFO Has 1 Byte To Read       */ |  | ||||||
| #define	RCV_FULL	0x000C	/* Receive FIFO Full (2 Bytes To Read)   */ |  | ||||||
| 
 |  | ||||||
| #define DEFINE_TWI_REG(reg_name, reg) \ |  | ||||||
| static inline u16 read_##reg_name(struct bfin_twi_iface *iface) \ |  | ||||||
| 	{ return bfin_read16(&iface->regs_base->reg); } \ |  | ||||||
| static inline void write_##reg_name(struct bfin_twi_iface *iface, u16 v) \ |  | ||||||
| 	{ bfin_write16(&iface->regs_base->reg, v); } |  | ||||||
| 
 |  | ||||||
| DEFINE_TWI_REG(CLKDIV, clkdiv) |  | ||||||
| DEFINE_TWI_REG(SLAVE_CTL, slave_ctl) |  | ||||||
| DEFINE_TWI_REG(SLAVE_STAT, slave_stat) |  | ||||||
| DEFINE_TWI_REG(SLAVE_ADDR, slave_addr) |  | ||||||
| DEFINE_TWI_REG(MASTER_CTL, master_ctl) |  | ||||||
| DEFINE_TWI_REG(MASTER_STAT, master_stat) |  | ||||||
| DEFINE_TWI_REG(MASTER_ADDR, master_addr) |  | ||||||
| DEFINE_TWI_REG(INT_STAT, int_stat) |  | ||||||
| DEFINE_TWI_REG(INT_MASK, int_mask) |  | ||||||
| DEFINE_TWI_REG(FIFO_STAT, fifo_stat) |  | ||||||
| DEFINE_TWI_REG(XMT_DATA8, xmt_data8) |  | ||||||
| DEFINE_TWI_REG(XMT_DATA16, xmt_data16) |  | ||||||
| #if !ANOMALY_16000030 |  | ||||||
| DEFINE_TWI_REG(RCV_DATA8, rcv_data8) |  | ||||||
| DEFINE_TWI_REG(RCV_DATA16, rcv_data16) |  | ||||||
| #else |  | ||||||
| static inline u16 read_RCV_DATA8(struct bfin_twi_iface *iface) |  | ||||||
| { |  | ||||||
| 	u16 ret; |  | ||||||
| 	unsigned long flags; |  | ||||||
| 
 |  | ||||||
| 	flags = hard_local_irq_save(); |  | ||||||
| 	ret = bfin_read16(&iface->regs_base->rcv_data8); |  | ||||||
| 	hard_local_irq_restore(flags); |  | ||||||
| 
 |  | ||||||
| 	return ret; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline u16 read_RCV_DATA16(struct bfin_twi_iface *iface) |  | ||||||
| { |  | ||||||
| 	u16 ret; |  | ||||||
| 	unsigned long flags; |  | ||||||
| 
 |  | ||||||
| 	flags = hard_local_irq_save(); |  | ||||||
| 	ret = bfin_read16(&iface->regs_base->rcv_data16); |  | ||||||
| 	hard_local_irq_restore(flags); |  | ||||||
| 
 |  | ||||||
| 	return ret; |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| static inline u16 read_FIFO_CTL(struct bfin_twi_iface *iface) |  | ||||||
| { |  | ||||||
| 	return bfin_read16(&iface->regs_base->fifo_ctl); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void write_FIFO_CTL(struct bfin_twi_iface *iface, u16 v) |  | ||||||
| { |  | ||||||
| 	bfin_write16(&iface->regs_base->fifo_ctl, v); |  | ||||||
| 	SSYNC(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline u16 read_CONTROL(struct bfin_twi_iface *iface) |  | ||||||
| { |  | ||||||
| 	return bfin_read16(&iface->regs_base->control); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void write_CONTROL(struct bfin_twi_iface *iface, u16 v) |  | ||||||
| { |  | ||||||
| 	SSYNC(); |  | ||||||
| 	bfin_write16(&iface->regs_base->control, v); |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
|  | @ -1,30 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * bfin_watchdog.h - Blackfin watchdog definitions |  | ||||||
|  * |  | ||||||
|  * Copyright 2006-2010 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BFIN_WATCHDOG_H |  | ||||||
| #define _BFIN_WATCHDOG_H |  | ||||||
| 
 |  | ||||||
| /* Bit in SWRST that indicates boot caused by watchdog */ |  | ||||||
| #define SWRST_RESET_WDOG 0x4000 |  | ||||||
| 
 |  | ||||||
| /* Bit in WDOG_CTL that indicates watchdog has expired (WDR0) */ |  | ||||||
| #define WDOG_EXPIRED 0x8000 |  | ||||||
| 
 |  | ||||||
| /* Masks for WDEV field in WDOG_CTL register */ |  | ||||||
| #define ICTL_RESET   0x0 |  | ||||||
| #define ICTL_NMI     0x2 |  | ||||||
| #define ICTL_GPI     0x4 |  | ||||||
| #define ICTL_NONE    0x6 |  | ||||||
| #define ICTL_MASK    0x6 |  | ||||||
| 
 |  | ||||||
| /* Masks for WDEN field in WDOG_CTL register */ |  | ||||||
| #define WDEN_MASK    0x0FF0 |  | ||||||
| #define WDEN_ENABLE  0x0000 |  | ||||||
| #define WDEN_DISABLE 0x0AD0 |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,90 +0,0 @@ | ||||||
| /* Blackfin on-chip ROM API
 |  | ||||||
|  * |  | ||||||
|  * Copyright 2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __BFROM_H__ |  | ||||||
| #define __BFROM_H__ |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| 
 |  | ||||||
| /* Possible syscontrol action flags */ |  | ||||||
| #define SYSCTRL_READ        0x00000000    /* read registers */ |  | ||||||
| #define SYSCTRL_WRITE       0x00000001    /* write registers */ |  | ||||||
| #define SYSCTRL_SYSRESET    0x00000002    /* perform system reset */ |  | ||||||
| #define SYSCTRL_CORERESET   0x00000004    /* perform core reset */ |  | ||||||
| #define SYSCTRL_SOFTRESET   0x00000006    /* perform core and system reset */ |  | ||||||
| #define SYSCTRL_VRCTL       0x00000010    /* read/write VR_CTL register */ |  | ||||||
| #define SYSCTRL_EXTVOLTAGE  0x00000020    /* VDDINT supplied externally */ |  | ||||||
| #define SYSCTRL_INTVOLTAGE  0x00000000    /* VDDINT generated by on-chip regulator */ |  | ||||||
| #define SYSCTRL_OTPVOLTAGE  0x00000040    /* For Factory Purposes Only */ |  | ||||||
| #define SYSCTRL_PLLCTL      0x00000100    /* read/write PLL_CTL register */ |  | ||||||
| #define SYSCTRL_PLLDIV      0x00000200    /* read/write PLL_DIV register */ |  | ||||||
| #define SYSCTRL_LOCKCNT     0x00000400    /* read/write PLL_LOCKCNT register */ |  | ||||||
| #define SYSCTRL_PLLSTAT     0x00000800    /* read/write PLL_STAT register */ |  | ||||||
| 
 |  | ||||||
| typedef struct ADI_SYSCTRL_VALUES { |  | ||||||
| 	uint16_t uwVrCtl; |  | ||||||
| 	uint16_t uwPllCtl; |  | ||||||
| 	uint16_t uwPllDiv; |  | ||||||
| 	uint16_t uwPllLockCnt; |  | ||||||
| 	uint16_t uwPllStat; |  | ||||||
| } ADI_SYSCTRL_VALUES; |  | ||||||
| 
 |  | ||||||
| static uint32_t (* const bfrom_SysControl)(uint32_t action_flags, ADI_SYSCTRL_VALUES *power_settings, void *reserved) = (void *)0xEF000038; |  | ||||||
| 
 |  | ||||||
| /* We need a dedicated function since we need to screw with the stack pointer
 |  | ||||||
|  * when resetting.  The on-chip ROM will save/restore registers on the stack |  | ||||||
|  * when doing a system reset, so the stack cannot be outside of the chip. |  | ||||||
|  */ |  | ||||||
| __attribute__((__noreturn__)) |  | ||||||
| static inline void bfrom_SoftReset(void *new_stack) |  | ||||||
| { |  | ||||||
| 	while (1) |  | ||||||
| 		/*
 |  | ||||||
| 		 * We don't declare the SP as clobbered on purpose, since |  | ||||||
| 		 * it confuses the heck out of the compiler, and this function |  | ||||||
| 		 * never returns |  | ||||||
| 		 */ |  | ||||||
| 		__asm__ __volatile__( |  | ||||||
| 			"sp = %[stack];" |  | ||||||
| 			"jump (%[bfrom_syscontrol]);" |  | ||||||
| 			: : [bfrom_syscontrol] "p"(bfrom_SysControl), |  | ||||||
| 				"q0"(SYSCTRL_SOFTRESET), |  | ||||||
| 				"q1"(0), |  | ||||||
| 				"q2"(NULL), |  | ||||||
| 				[stack] "p"(new_stack) |  | ||||||
| 		); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* OTP Functions */ |  | ||||||
| static uint32_t (* const bfrom_OtpCommand)(uint32_t command, uint32_t value) = (void *)0xEF000018; |  | ||||||
| static uint32_t (* const bfrom_OtpRead)(uint32_t page, uint32_t flags, uint64_t *page_content) = (void *)0xEF00001A; |  | ||||||
| static uint32_t (* const bfrom_OtpWrite)(uint32_t page, uint32_t flags, uint64_t *page_content) = (void *)0xEF00001C; |  | ||||||
| 
 |  | ||||||
| /* otp command: defines for "command" */ |  | ||||||
| #define OTP_INIT                 0x00000001 |  | ||||||
| #define OTP_CLOSE                0x00000002 |  | ||||||
| 
 |  | ||||||
| /* otp read/write: defines for "flags" */ |  | ||||||
| #define OTP_LOWER_HALF           0x00000000 /* select upper/lower 64-bit half (bit 0) */ |  | ||||||
| #define OTP_UPPER_HALF           0x00000001 |  | ||||||
| #define OTP_NO_ECC               0x00000010 /* do not use ECC */ |  | ||||||
| #define OTP_LOCK                 0x00000020 /* sets page protection bit for page */ |  | ||||||
| #define OTP_CHECK_FOR_PREV_WRITE 0x00000080 |  | ||||||
| 
 |  | ||||||
| /* Return values for all functions */ |  | ||||||
| #define OTP_SUCCESS          0x00000000 |  | ||||||
| #define OTP_MASTER_ERROR     0x001 |  | ||||||
| #define OTP_WRITE_ERROR      0x003 |  | ||||||
| #define OTP_READ_ERROR       0x005 |  | ||||||
| #define OTP_ACC_VIO_ERROR    0x009 |  | ||||||
| #define OTP_DATA_MULT_ERROR  0x011 |  | ||||||
| #define OTP_ECC_MULT_ERROR   0x021 |  | ||||||
| #define OTP_PREV_WR_ERROR    0x041 |  | ||||||
| #define OTP_DATA_SB_WARN     0x100 |  | ||||||
| #define OTP_ECC_SB_WARN      0x200 |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,140 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_BITOPS_H |  | ||||||
| #define _BLACKFIN_BITOPS_H |  | ||||||
| 
 |  | ||||||
| #include <linux/compiler.h> |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/bitops/__ffs.h> |  | ||||||
| #include <asm-generic/bitops/ffz.h> |  | ||||||
| #include <asm-generic/bitops/fls.h> |  | ||||||
| #include <asm-generic/bitops/__fls.h> |  | ||||||
| #include <asm-generic/bitops/fls64.h> |  | ||||||
| #include <asm-generic/bitops/find.h> |  | ||||||
| 
 |  | ||||||
| #ifndef _LINUX_BITOPS_H |  | ||||||
| #error only <linux/bitops.h> can be included directly |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/bitops/sched.h> |  | ||||||
| #include <asm-generic/bitops/ffs.h> |  | ||||||
| #include <asm-generic/bitops/const_hweight.h> |  | ||||||
| #include <asm-generic/bitops/lock.h> |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/bitops/ext2-atomic.h> |  | ||||||
| 
 |  | ||||||
| #include <asm/barrier.h> |  | ||||||
| 
 |  | ||||||
| #ifndef CONFIG_SMP |  | ||||||
| #include <linux/irqflags.h> |  | ||||||
| /*
 |  | ||||||
|  * clear_bit may not imply a memory barrier |  | ||||||
|  */ |  | ||||||
| #include <asm-generic/bitops/atomic.h> |  | ||||||
| #include <asm-generic/bitops/non-atomic.h> |  | ||||||
| #else |  | ||||||
| 
 |  | ||||||
| #include <asm/byteorder.h>	/* swab32 */ |  | ||||||
| #include <linux/linkage.h> |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_bit_set_asm(volatile unsigned long *addr, int nr); |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_bit_clear_asm(volatile unsigned long *addr, int nr); |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_bit_toggle_asm(volatile unsigned long *addr, int nr); |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_bit_test_set_asm(volatile unsigned long *addr, int nr); |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_bit_test_clear_asm(volatile unsigned long *addr, int nr); |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_bit_test_toggle_asm(volatile unsigned long *addr, int nr); |  | ||||||
| 
 |  | ||||||
| asmlinkage int __raw_bit_test_asm(const volatile unsigned long *addr, int nr); |  | ||||||
| 
 |  | ||||||
| static inline void set_bit(int nr, volatile unsigned long *addr) |  | ||||||
| { |  | ||||||
| 	volatile unsigned long *a = addr + (nr >> 5); |  | ||||||
| 	__raw_bit_set_asm(a, nr & 0x1f); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void clear_bit(int nr, volatile unsigned long *addr) |  | ||||||
| { |  | ||||||
| 	volatile unsigned long *a = addr + (nr >> 5); |  | ||||||
| 	__raw_bit_clear_asm(a, nr & 0x1f); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void change_bit(int nr, volatile unsigned long *addr) |  | ||||||
| { |  | ||||||
| 	volatile unsigned long *a = addr + (nr >> 5); |  | ||||||
| 	__raw_bit_toggle_asm(a, nr & 0x1f); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int test_bit(int nr, const volatile unsigned long *addr) |  | ||||||
| { |  | ||||||
| 	volatile const unsigned long *a = addr + (nr >> 5); |  | ||||||
| 	return __raw_bit_test_asm(a, nr & 0x1f) != 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int test_and_set_bit(int nr, volatile unsigned long *addr) |  | ||||||
| { |  | ||||||
| 	volatile unsigned long *a = addr + (nr >> 5); |  | ||||||
| 	return __raw_bit_test_set_asm(a, nr & 0x1f); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) |  | ||||||
| { |  | ||||||
| 	volatile unsigned long *a = addr + (nr >> 5); |  | ||||||
| 	return __raw_bit_test_clear_asm(a, nr & 0x1f); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int test_and_change_bit(int nr, volatile unsigned long *addr) |  | ||||||
| { |  | ||||||
| 	volatile unsigned long *a = addr + (nr >> 5); |  | ||||||
| 	return __raw_bit_test_toggle_asm(a, nr & 0x1f); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #define test_bit __skip_test_bit |  | ||||||
| #include <asm-generic/bitops/non-atomic.h> |  | ||||||
| #undef test_bit |  | ||||||
| 
 |  | ||||||
| #endif /* CONFIG_SMP */ |  | ||||||
| 
 |  | ||||||
| /* Needs to be after test_bit and friends */ |  | ||||||
| #include <asm-generic/bitops/le.h> |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * hweightN: returns the hamming weight (i.e. the number |  | ||||||
|  * of bits set) of a N-bit word |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| static inline unsigned int __arch_hweight32(unsigned int w) |  | ||||||
| { |  | ||||||
| 	unsigned int res; |  | ||||||
| 
 |  | ||||||
| 	__asm__ ("%0.l = ONES %1;" |  | ||||||
| 		"%0 = %0.l (Z);" |  | ||||||
| 		: "=d" (res) : "d" (w)); |  | ||||||
| 	return res; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline unsigned int __arch_hweight64(__u64 w) |  | ||||||
| { |  | ||||||
| 	return __arch_hweight32((unsigned int)(w >> 32)) + |  | ||||||
| 	       __arch_hweight32((unsigned int)w); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline unsigned int __arch_hweight16(unsigned int w) |  | ||||||
| { |  | ||||||
| 	return __arch_hweight32(w & 0xffff); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline unsigned int __arch_hweight8(unsigned int w) |  | ||||||
| { |  | ||||||
| 	return __arch_hweight32(w & 0xff); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #endif				/* _BLACKFIN_BITOPS_H */ |  | ||||||
|  | @ -1,88 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Common header file for Blackfin family of processors. |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_H_ |  | ||||||
| #define _BLACKFIN_H_ |  | ||||||
| 
 |  | ||||||
| #include <mach/anomaly.h> |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| /* SSYNC implementation for C file */ |  | ||||||
| static inline void SSYNC(void) |  | ||||||
| { |  | ||||||
| 	int _tmp; |  | ||||||
| 	if (ANOMALY_05000312 || ANOMALY_05000244) |  | ||||||
| 		__asm__ __volatile__( |  | ||||||
| 			"cli %0;" |  | ||||||
| 			"nop;" |  | ||||||
| 			"nop;" |  | ||||||
| 			"nop;" |  | ||||||
| 			"ssync;" |  | ||||||
| 			"sti %0;" |  | ||||||
| 			: "=d" (_tmp) |  | ||||||
| 		); |  | ||||||
| 	else |  | ||||||
| 		__asm__ __volatile__("ssync;"); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* CSYNC implementation for C file */ |  | ||||||
| static inline void CSYNC(void) |  | ||||||
| { |  | ||||||
| 	int _tmp; |  | ||||||
| 	if (ANOMALY_05000312 || ANOMALY_05000244) |  | ||||||
| 		__asm__ __volatile__( |  | ||||||
| 			"cli %0;" |  | ||||||
| 			"nop;" |  | ||||||
| 			"nop;" |  | ||||||
| 			"nop;" |  | ||||||
| 			"csync;" |  | ||||||
| 			"sti %0;" |  | ||||||
| 			: "=d" (_tmp) |  | ||||||
| 		); |  | ||||||
| 	else |  | ||||||
| 		__asm__ __volatile__("csync;"); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #else  /* __ASSEMBLY__ */ |  | ||||||
| 
 |  | ||||||
| #define LO(con32) ((con32) & 0xFFFF) |  | ||||||
| #define lo(con32) ((con32) & 0xFFFF) |  | ||||||
| #define HI(con32) (((con32) >> 16) & 0xFFFF) |  | ||||||
| #define hi(con32) (((con32) >> 16) & 0xFFFF) |  | ||||||
| 
 |  | ||||||
| /* SSYNC & CSYNC implementations for assembly files */ |  | ||||||
| 
 |  | ||||||
| #define ssync(x) SSYNC(x) |  | ||||||
| #define csync(x) CSYNC(x) |  | ||||||
| 
 |  | ||||||
| #if ANOMALY_05000312 || ANOMALY_05000244 |  | ||||||
| #define SSYNC(scratch)	\ |  | ||||||
| 	cli scratch;	\ |  | ||||||
| 	nop; nop; nop;	\ |  | ||||||
| 	SSYNC;		\ |  | ||||||
| 	sti scratch; |  | ||||||
| 
 |  | ||||||
| #define CSYNC(scratch)	\ |  | ||||||
| 	cli scratch;	\ |  | ||||||
| 	nop; nop; nop;	\ |  | ||||||
| 	CSYNC;		\ |  | ||||||
| 	sti scratch; |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| #define SSYNC(scratch) SSYNC; |  | ||||||
| #define CSYNC(scratch) CSYNC; |  | ||||||
| #endif /* ANOMALY_05000312 & ANOMALY_05000244 handling */ |  | ||||||
| 
 |  | ||||||
| #endif /* __ASSEMBLY__ */ |  | ||||||
| 
 |  | ||||||
| #include <asm/mem_map.h> |  | ||||||
| #include <mach/blackfin.h> |  | ||||||
| #include <asm/bfin-global.h> |  | ||||||
| 
 |  | ||||||
| #endif				/* _BLACKFIN_H_ */ |  | ||||||
|  | @ -1,73 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_BUG_H |  | ||||||
| #define _BLACKFIN_BUG_H |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BUG |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * This can be any undefined 16-bit opcode, meaning |  | ||||||
|  * ((opcode & 0xc000) != 0xc000) |  | ||||||
|  * Anything from 0x0001 to 0x000A (inclusive) will work |  | ||||||
|  */ |  | ||||||
| #define BFIN_BUG_OPCODE	0x0001 |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_DEBUG_BUGVERBOSE |  | ||||||
| 
 |  | ||||||
| #define _BUG_OR_WARN(flags)						\ |  | ||||||
| 	asm volatile(							\ |  | ||||||
| 		"1:	.hword	%0\n"					\ |  | ||||||
| 		"	.section __bug_table,\"aw\",@progbits\n"	\ |  | ||||||
| 		"2:	.long	1b\n"					\ |  | ||||||
| 		"	.long	%1\n"					\ |  | ||||||
| 		"	.short	%2\n"					\ |  | ||||||
| 		"	.short	%3\n"					\ |  | ||||||
| 		"	.org	2b + %4\n"				\ |  | ||||||
| 		"	.previous"					\ |  | ||||||
| 		:							\ |  | ||||||
| 		: "i"(BFIN_BUG_OPCODE), "i"(__FILE__),			\ |  | ||||||
| 		  "i"(__LINE__), "i"(flags),				\ |  | ||||||
| 		  "i"(sizeof(struct bug_entry))) |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| 
 |  | ||||||
| #define _BUG_OR_WARN(flags)						\ |  | ||||||
| 	asm volatile(							\ |  | ||||||
| 		"1:	.hword	%0\n"					\ |  | ||||||
| 		"	.section __bug_table,\"aw\",@progbits\n"	\ |  | ||||||
| 		"2:	.long	1b\n"					\ |  | ||||||
| 		"	.short	%1\n"					\ |  | ||||||
| 		"	.org	2b + %2\n"				\ |  | ||||||
| 		"	.previous"					\ |  | ||||||
| 		:							\ |  | ||||||
| 		: "i"(BFIN_BUG_OPCODE), "i"(flags),			\ |  | ||||||
| 		  "i"(sizeof(struct bug_entry))) |  | ||||||
| 
 |  | ||||||
| #endif /* CONFIG_DEBUG_BUGVERBOSE */ |  | ||||||
| 
 |  | ||||||
| #define BUG()								\ |  | ||||||
| 	do {								\ |  | ||||||
| 		_BUG_OR_WARN(0);					\ |  | ||||||
| 		unreachable();						\ |  | ||||||
| 	} while (0) |  | ||||||
| 
 |  | ||||||
| #define WARN_ON(condition)							\ |  | ||||||
| 	({								\ |  | ||||||
| 		int __ret_warn_on = !!(condition);			\ |  | ||||||
| 		if (unlikely(__ret_warn_on))				\ |  | ||||||
| 			_BUG_OR_WARN(BUGFLAG_WARNING);			\ |  | ||||||
| 		unlikely(__ret_warn_on);				\ |  | ||||||
| 	}) |  | ||||||
| 
 |  | ||||||
| #define HAVE_ARCH_BUG |  | ||||||
| #define HAVE_ARCH_WARN_ON |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/bug.h> |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,70 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ARCH_BLACKFIN_CACHE_H |  | ||||||
| #define __ARCH_BLACKFIN_CACHE_H |  | ||||||
| 
 |  | ||||||
| #include <linux/linkage.h>	/* for asmlinkage */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Bytes per L1 cache line |  | ||||||
|  * Blackfin loads 32 bytes for cache |  | ||||||
|  */ |  | ||||||
| #define L1_CACHE_SHIFT	5 |  | ||||||
| #define L1_CACHE_BYTES	(1 << L1_CACHE_SHIFT) |  | ||||||
| #define SMP_CACHE_BYTES	L1_CACHE_BYTES |  | ||||||
| 
 |  | ||||||
| #define ARCH_DMA_MINALIGN	L1_CACHE_BYTES |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| #define __cacheline_aligned |  | ||||||
| #else |  | ||||||
| #define ____cacheline_aligned |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Put cacheline_aliged data to L1 data memory |  | ||||||
|  */ |  | ||||||
| #ifdef CONFIG_CACHELINE_ALIGNED_L1 |  | ||||||
| #define __cacheline_aligned				\ |  | ||||||
| 	  __attribute__((__aligned__(L1_CACHE_BYTES),	\ |  | ||||||
| 		__section__(".data_l1.cacheline_aligned"))) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * largest L1 which this arch supports |  | ||||||
|  */ |  | ||||||
| #define L1_CACHE_SHIFT_MAX	5 |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_SMP) && \ |  | ||||||
|     !defined(CONFIG_BFIN_CACHE_COHERENT) |  | ||||||
| # if defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE) |  | ||||||
| # define __ARCH_SYNC_CORE_ICACHE |  | ||||||
| # endif |  | ||||||
| # if defined(CONFIG_BFIN_EXTMEM_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE) |  | ||||||
| # define __ARCH_SYNC_CORE_DCACHE |  | ||||||
| # endif |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| asmlinkage void __raw_smp_mark_barrier_asm(void); |  | ||||||
| asmlinkage void __raw_smp_check_barrier_asm(void); |  | ||||||
| 
 |  | ||||||
| static inline void smp_mark_barrier(void) |  | ||||||
| { |  | ||||||
| 	__raw_smp_mark_barrier_asm(); |  | ||||||
| } |  | ||||||
| static inline void smp_check_barrier(void) |  | ||||||
| { |  | ||||||
| 	__raw_smp_check_barrier_asm(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void resync_core_dcache(void); |  | ||||||
| void resync_core_icache(void); |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,118 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Blackfin low-level cache routines |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_CACHEFLUSH_H |  | ||||||
| #define _BLACKFIN_CACHEFLUSH_H |  | ||||||
| 
 |  | ||||||
| #include <asm/blackfin.h>	/* for SSYNC() */ |  | ||||||
| #include <asm/sections.h>	/* for _ramend */ |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| #include <asm/smp.h> |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| extern void blackfin_icache_flush_range(unsigned long start_address, unsigned long end_address); |  | ||||||
| extern void blackfin_dcache_flush_range(unsigned long start_address, unsigned long end_address); |  | ||||||
| extern void blackfin_dcache_invalidate_range(unsigned long start_address, unsigned long end_address); |  | ||||||
| extern void blackfin_dflush_page(void *page); |  | ||||||
| extern void blackfin_invalidate_entire_dcache(void); |  | ||||||
| extern void blackfin_invalidate_entire_icache(void); |  | ||||||
| 
 |  | ||||||
| #define flush_dcache_mmap_lock(mapping)		do { } while (0) |  | ||||||
| #define flush_dcache_mmap_unlock(mapping)	do { } while (0) |  | ||||||
| #define flush_cache_mm(mm)			do { } while (0) |  | ||||||
| #define flush_cache_range(vma, start, end)	do { } while (0) |  | ||||||
| #define flush_cache_page(vma, vmaddr)		do { } while (0) |  | ||||||
| #define flush_cache_vmap(start, end)		do { } while (0) |  | ||||||
| #define flush_cache_vunmap(start, end)		do { } while (0) |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| #define flush_icache_range_others(start, end)	\ |  | ||||||
| 	smp_icache_flush_range_others((start), (end)) |  | ||||||
| #else |  | ||||||
| #define flush_icache_range_others(start, end)	do { } while (0) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| static inline void flush_icache_range(unsigned start, unsigned end) |  | ||||||
| { |  | ||||||
| #if defined(CONFIG_BFIN_EXTMEM_WRITEBACK) |  | ||||||
| 	if (end <= physical_mem_end) |  | ||||||
| 		blackfin_dcache_flush_range(start, end); |  | ||||||
| #endif |  | ||||||
| #if defined(CONFIG_BFIN_L2_WRITEBACK) |  | ||||||
| 	if (start >= L2_START && end <= L2_START + L2_LENGTH) |  | ||||||
| 		blackfin_dcache_flush_range(start, end); |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 	/* Make sure all write buffers in the data side of the core
 |  | ||||||
| 	 * are flushed before trying to invalidate the icache.  This |  | ||||||
| 	 * needs to be after the data flush and before the icache |  | ||||||
| 	 * flush so that the SSYNC does the right thing in preventing |  | ||||||
| 	 * the instruction prefetcher from hitting things in cached |  | ||||||
| 	 * memory at the wrong time -- it runs much further ahead than |  | ||||||
| 	 * the pipeline. |  | ||||||
| 	 */ |  | ||||||
| 	SSYNC(); |  | ||||||
| #if defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) |  | ||||||
| 	if (end <= physical_mem_end) { |  | ||||||
| 		blackfin_icache_flush_range(start, end); |  | ||||||
| 		flush_icache_range_others(start, end); |  | ||||||
| 	} |  | ||||||
| #endif |  | ||||||
| #if defined(CONFIG_BFIN_L2_ICACHEABLE) |  | ||||||
| 	if (start >= L2_START && end <= L2_START + L2_LENGTH) { |  | ||||||
| 		blackfin_icache_flush_range(start, end); |  | ||||||
| 		flush_icache_range_others(start, end); |  | ||||||
| 	} |  | ||||||
| #endif |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #define copy_to_user_page(vma, page, vaddr, dst, src, len)		\ |  | ||||||
| do { memcpy(dst, src, len);						\ |  | ||||||
|      flush_icache_range((unsigned) (dst), (unsigned) (dst) + (len));	\ |  | ||||||
| } while (0) |  | ||||||
| 
 |  | ||||||
| #define copy_from_user_page(vma, page, vaddr, dst, src, len)	memcpy(dst, src, len) |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_BFIN_DCACHE) |  | ||||||
| # define invalidate_dcache_range(start,end)	blackfin_dcache_invalidate_range((start), (end)) |  | ||||||
| #else |  | ||||||
| # define invalidate_dcache_range(start,end)	do { } while (0) |  | ||||||
| #endif |  | ||||||
| #if defined(CONFIG_BFIN_EXTMEM_WRITEBACK) || defined(CONFIG_BFIN_L2_WRITEBACK) |  | ||||||
| # define flush_dcache_range(start,end)		blackfin_dcache_flush_range((start), (end)) |  | ||||||
| #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1 |  | ||||||
| # define flush_dcache_page(page)		blackfin_dflush_page(page_address(page)) |  | ||||||
| #else |  | ||||||
| # define flush_dcache_range(start,end)		do { } while (0) |  | ||||||
| #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0 |  | ||||||
| # define flush_dcache_page(page)		do { } while (0) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| extern unsigned long reserved_mem_dcache_on; |  | ||||||
| extern unsigned long reserved_mem_icache_on; |  | ||||||
| 
 |  | ||||||
| static inline int bfin_addr_dcacheable(unsigned long addr) |  | ||||||
| { |  | ||||||
| #ifdef CONFIG_BFIN_EXTMEM_DCACHEABLE |  | ||||||
| 	if (addr < (_ramend - DMA_UNCACHED_REGION)) |  | ||||||
| 		return 1; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 	if (reserved_mem_dcache_on && |  | ||||||
| 		addr >= _ramend && addr < physical_mem_end) |  | ||||||
| 		return 1; |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BFIN_L2_DCACHEABLE |  | ||||||
| 	if (addr >= L2_START && addr < L2_START + L2_LENGTH) |  | ||||||
| 		return 1; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #endif				/* _BLACKFIN_ICACHEFLUSH_H */ |  | ||||||
|  | @ -1,309 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2005-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _CDEF_LPBLACKFIN_H |  | ||||||
| #define _CDEF_LPBLACKFIN_H |  | ||||||
| 
 |  | ||||||
| /*#if !defined(__ADSPLPBLACKFIN__)
 |  | ||||||
| #warning cdef_LPBlackfin.h should only be included for 532 compatible chips. |  | ||||||
| #endif |  | ||||||
| */ |  | ||||||
| #include <asm/def_LPBlackfin.h> |  | ||||||
| 
 |  | ||||||
| /*Cache & SRAM Memory*/ |  | ||||||
| #define bfin_read_SRAM_BASE_ADDRESS()        bfin_read32(SRAM_BASE_ADDRESS) |  | ||||||
| #define bfin_write_SRAM_BASE_ADDRESS(val)    bfin_write32(SRAM_BASE_ADDRESS,val) |  | ||||||
| #define bfin_read_DMEM_CONTROL()             bfin_read32(DMEM_CONTROL) |  | ||||||
| #define bfin_write_DMEM_CONTROL(val)         bfin_write32(DMEM_CONTROL,val) |  | ||||||
| #define bfin_read_DCPLB_STATUS()             bfin_read32(DCPLB_STATUS) |  | ||||||
| #define bfin_write_DCPLB_STATUS(val)         bfin_write32(DCPLB_STATUS,val) |  | ||||||
| #define bfin_read_DCPLB_FAULT_ADDR()         bfin_read32(DCPLB_FAULT_ADDR) |  | ||||||
| #define bfin_write_DCPLB_FAULT_ADDR(val)     bfin_write32(DCPLB_FAULT_ADDR,val) |  | ||||||
| /*
 |  | ||||||
| #define MMR_TIMEOUT            0xFFE00010 |  | ||||||
| */ |  | ||||||
| #define bfin_read_DCPLB_ADDR0()              bfin_read32(DCPLB_ADDR0) |  | ||||||
| #define bfin_write_DCPLB_ADDR0(val)          bfin_write32(DCPLB_ADDR0,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR1()              bfin_read32(DCPLB_ADDR1) |  | ||||||
| #define bfin_write_DCPLB_ADDR1(val)          bfin_write32(DCPLB_ADDR1,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR2()              bfin_read32(DCPLB_ADDR2) |  | ||||||
| #define bfin_write_DCPLB_ADDR2(val)          bfin_write32(DCPLB_ADDR2,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR3()              bfin_read32(DCPLB_ADDR3) |  | ||||||
| #define bfin_write_DCPLB_ADDR3(val)          bfin_write32(DCPLB_ADDR3,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR4()              bfin_read32(DCPLB_ADDR4) |  | ||||||
| #define bfin_write_DCPLB_ADDR4(val)          bfin_write32(DCPLB_ADDR4,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR5()              bfin_read32(DCPLB_ADDR5) |  | ||||||
| #define bfin_write_DCPLB_ADDR5(val)          bfin_write32(DCPLB_ADDR5,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR6()              bfin_read32(DCPLB_ADDR6) |  | ||||||
| #define bfin_write_DCPLB_ADDR6(val)          bfin_write32(DCPLB_ADDR6,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR7()              bfin_read32(DCPLB_ADDR7) |  | ||||||
| #define bfin_write_DCPLB_ADDR7(val)          bfin_write32(DCPLB_ADDR7,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR8()              bfin_read32(DCPLB_ADDR8) |  | ||||||
| #define bfin_write_DCPLB_ADDR8(val)          bfin_write32(DCPLB_ADDR8,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR9()              bfin_read32(DCPLB_ADDR9) |  | ||||||
| #define bfin_write_DCPLB_ADDR9(val)          bfin_write32(DCPLB_ADDR9,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR10()             bfin_read32(DCPLB_ADDR10) |  | ||||||
| #define bfin_write_DCPLB_ADDR10(val)         bfin_write32(DCPLB_ADDR10,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR11()             bfin_read32(DCPLB_ADDR11) |  | ||||||
| #define bfin_write_DCPLB_ADDR11(val)         bfin_write32(DCPLB_ADDR11,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR12()             bfin_read32(DCPLB_ADDR12) |  | ||||||
| #define bfin_write_DCPLB_ADDR12(val)         bfin_write32(DCPLB_ADDR12,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR13()             bfin_read32(DCPLB_ADDR13) |  | ||||||
| #define bfin_write_DCPLB_ADDR13(val)         bfin_write32(DCPLB_ADDR13,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR14()             bfin_read32(DCPLB_ADDR14) |  | ||||||
| #define bfin_write_DCPLB_ADDR14(val)         bfin_write32(DCPLB_ADDR14,val) |  | ||||||
| #define bfin_read_DCPLB_ADDR15()             bfin_read32(DCPLB_ADDR15) |  | ||||||
| #define bfin_write_DCPLB_ADDR15(val)         bfin_write32(DCPLB_ADDR15,val) |  | ||||||
| #define bfin_read_DCPLB_DATA0()              bfin_read32(DCPLB_DATA0) |  | ||||||
| #define bfin_write_DCPLB_DATA0(val)          bfin_write32(DCPLB_DATA0,val) |  | ||||||
| #define bfin_read_DCPLB_DATA1()              bfin_read32(DCPLB_DATA1) |  | ||||||
| #define bfin_write_DCPLB_DATA1(val)          bfin_write32(DCPLB_DATA1,val) |  | ||||||
| #define bfin_read_DCPLB_DATA2()              bfin_read32(DCPLB_DATA2) |  | ||||||
| #define bfin_write_DCPLB_DATA2(val)          bfin_write32(DCPLB_DATA2,val) |  | ||||||
| #define bfin_read_DCPLB_DATA3()              bfin_read32(DCPLB_DATA3) |  | ||||||
| #define bfin_write_DCPLB_DATA3(val)          bfin_write32(DCPLB_DATA3,val) |  | ||||||
| #define bfin_read_DCPLB_DATA4()              bfin_read32(DCPLB_DATA4) |  | ||||||
| #define bfin_write_DCPLB_DATA4(val)          bfin_write32(DCPLB_DATA4,val) |  | ||||||
| #define bfin_read_DCPLB_DATA5()              bfin_read32(DCPLB_DATA5) |  | ||||||
| #define bfin_write_DCPLB_DATA5(val)          bfin_write32(DCPLB_DATA5,val) |  | ||||||
| #define bfin_read_DCPLB_DATA6()              bfin_read32(DCPLB_DATA6) |  | ||||||
| #define bfin_write_DCPLB_DATA6(val)          bfin_write32(DCPLB_DATA6,val) |  | ||||||
| #define bfin_read_DCPLB_DATA7()              bfin_read32(DCPLB_DATA7) |  | ||||||
| #define bfin_write_DCPLB_DATA7(val)          bfin_write32(DCPLB_DATA7,val) |  | ||||||
| #define bfin_read_DCPLB_DATA8()              bfin_read32(DCPLB_DATA8) |  | ||||||
| #define bfin_write_DCPLB_DATA8(val)          bfin_write32(DCPLB_DATA8,val) |  | ||||||
| #define bfin_read_DCPLB_DATA9()              bfin_read32(DCPLB_DATA9) |  | ||||||
| #define bfin_write_DCPLB_DATA9(val)          bfin_write32(DCPLB_DATA9,val) |  | ||||||
| #define bfin_read_DCPLB_DATA10()             bfin_read32(DCPLB_DATA10) |  | ||||||
| #define bfin_write_DCPLB_DATA10(val)         bfin_write32(DCPLB_DATA10,val) |  | ||||||
| #define bfin_read_DCPLB_DATA11()             bfin_read32(DCPLB_DATA11) |  | ||||||
| #define bfin_write_DCPLB_DATA11(val)         bfin_write32(DCPLB_DATA11,val) |  | ||||||
| #define bfin_read_DCPLB_DATA12()             bfin_read32(DCPLB_DATA12) |  | ||||||
| #define bfin_write_DCPLB_DATA12(val)         bfin_write32(DCPLB_DATA12,val) |  | ||||||
| #define bfin_read_DCPLB_DATA13()             bfin_read32(DCPLB_DATA13) |  | ||||||
| #define bfin_write_DCPLB_DATA13(val)         bfin_write32(DCPLB_DATA13,val) |  | ||||||
| #define bfin_read_DCPLB_DATA14()             bfin_read32(DCPLB_DATA14) |  | ||||||
| #define bfin_write_DCPLB_DATA14(val)         bfin_write32(DCPLB_DATA14,val) |  | ||||||
| #define bfin_read_DCPLB_DATA15()             bfin_read32(DCPLB_DATA15) |  | ||||||
| #define bfin_write_DCPLB_DATA15(val)         bfin_write32(DCPLB_DATA15,val) |  | ||||||
| #define bfin_read_DTEST_COMMAND()            bfin_read32(DTEST_COMMAND) |  | ||||||
| #define bfin_write_DTEST_COMMAND(val)        bfin_write32(DTEST_COMMAND,val) |  | ||||||
| /*
 |  | ||||||
| #define DTEST_INDEX            0xFFE00304 |  | ||||||
| */ |  | ||||||
| #define bfin_read_DTEST_DATA0()              bfin_read32(DTEST_DATA0) |  | ||||||
| #define bfin_write_DTEST_DATA0(val)          bfin_write32(DTEST_DATA0,val) |  | ||||||
| #define bfin_read_DTEST_DATA1()              bfin_read32(DTEST_DATA1) |  | ||||||
| #define bfin_write_DTEST_DATA1(val)          bfin_write32(DTEST_DATA1,val) |  | ||||||
| /*
 |  | ||||||
| #define DTEST_DATA2            0xFFE00408 |  | ||||||
| #define DTEST_DATA3            0xFFE0040C |  | ||||||
| */ |  | ||||||
| #define bfin_read_IMEM_CONTROL()             bfin_read32(IMEM_CONTROL) |  | ||||||
| #define bfin_write_IMEM_CONTROL(val)         bfin_write32(IMEM_CONTROL,val) |  | ||||||
| #define bfin_read_ICPLB_STATUS()             bfin_read32(ICPLB_STATUS) |  | ||||||
| #define bfin_write_ICPLB_STATUS(val)         bfin_write32(ICPLB_STATUS,val) |  | ||||||
| #define bfin_read_ICPLB_FAULT_ADDR()         bfin_read32(ICPLB_FAULT_ADDR) |  | ||||||
| #define bfin_write_ICPLB_FAULT_ADDR(val)     bfin_write32(ICPLB_FAULT_ADDR,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR0()              bfin_read32(ICPLB_ADDR0) |  | ||||||
| #define bfin_write_ICPLB_ADDR0(val)          bfin_write32(ICPLB_ADDR0,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR1()              bfin_read32(ICPLB_ADDR1) |  | ||||||
| #define bfin_write_ICPLB_ADDR1(val)          bfin_write32(ICPLB_ADDR1,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR2()              bfin_read32(ICPLB_ADDR2) |  | ||||||
| #define bfin_write_ICPLB_ADDR2(val)          bfin_write32(ICPLB_ADDR2,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR3()              bfin_read32(ICPLB_ADDR3) |  | ||||||
| #define bfin_write_ICPLB_ADDR3(val)          bfin_write32(ICPLB_ADDR3,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR4()              bfin_read32(ICPLB_ADDR4) |  | ||||||
| #define bfin_write_ICPLB_ADDR4(val)          bfin_write32(ICPLB_ADDR4,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR5()              bfin_read32(ICPLB_ADDR5) |  | ||||||
| #define bfin_write_ICPLB_ADDR5(val)          bfin_write32(ICPLB_ADDR5,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR6()              bfin_read32(ICPLB_ADDR6) |  | ||||||
| #define bfin_write_ICPLB_ADDR6(val)          bfin_write32(ICPLB_ADDR6,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR7()              bfin_read32(ICPLB_ADDR7) |  | ||||||
| #define bfin_write_ICPLB_ADDR7(val)          bfin_write32(ICPLB_ADDR7,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR8()              bfin_read32(ICPLB_ADDR8) |  | ||||||
| #define bfin_write_ICPLB_ADDR8(val)          bfin_write32(ICPLB_ADDR8,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR9()              bfin_read32(ICPLB_ADDR9) |  | ||||||
| #define bfin_write_ICPLB_ADDR9(val)          bfin_write32(ICPLB_ADDR9,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR10()             bfin_read32(ICPLB_ADDR10) |  | ||||||
| #define bfin_write_ICPLB_ADDR10(val)         bfin_write32(ICPLB_ADDR10,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR11()             bfin_read32(ICPLB_ADDR11) |  | ||||||
| #define bfin_write_ICPLB_ADDR11(val)         bfin_write32(ICPLB_ADDR11,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR12()             bfin_read32(ICPLB_ADDR12) |  | ||||||
| #define bfin_write_ICPLB_ADDR12(val)         bfin_write32(ICPLB_ADDR12,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR13()             bfin_read32(ICPLB_ADDR13) |  | ||||||
| #define bfin_write_ICPLB_ADDR13(val)         bfin_write32(ICPLB_ADDR13,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR14()             bfin_read32(ICPLB_ADDR14) |  | ||||||
| #define bfin_write_ICPLB_ADDR14(val)         bfin_write32(ICPLB_ADDR14,val) |  | ||||||
| #define bfin_read_ICPLB_ADDR15()             bfin_read32(ICPLB_ADDR15) |  | ||||||
| #define bfin_write_ICPLB_ADDR15(val)         bfin_write32(ICPLB_ADDR15,val) |  | ||||||
| #define bfin_read_ICPLB_DATA0()              bfin_read32(ICPLB_DATA0) |  | ||||||
| #define bfin_write_ICPLB_DATA0(val)          bfin_write32(ICPLB_DATA0,val) |  | ||||||
| #define bfin_read_ICPLB_DATA1()              bfin_read32(ICPLB_DATA1) |  | ||||||
| #define bfin_write_ICPLB_DATA1(val)          bfin_write32(ICPLB_DATA1,val) |  | ||||||
| #define bfin_read_ICPLB_DATA2()              bfin_read32(ICPLB_DATA2) |  | ||||||
| #define bfin_write_ICPLB_DATA2(val)          bfin_write32(ICPLB_DATA2,val) |  | ||||||
| #define bfin_read_ICPLB_DATA3()              bfin_read32(ICPLB_DATA3) |  | ||||||
| #define bfin_write_ICPLB_DATA3(val)          bfin_write32(ICPLB_DATA3,val) |  | ||||||
| #define bfin_read_ICPLB_DATA4()              bfin_read32(ICPLB_DATA4) |  | ||||||
| #define bfin_write_ICPLB_DATA4(val)          bfin_write32(ICPLB_DATA4,val) |  | ||||||
| #define bfin_read_ICPLB_DATA5()              bfin_read32(ICPLB_DATA5) |  | ||||||
| #define bfin_write_ICPLB_DATA5(val)          bfin_write32(ICPLB_DATA5,val) |  | ||||||
| #define bfin_read_ICPLB_DATA6()              bfin_read32(ICPLB_DATA6) |  | ||||||
| #define bfin_write_ICPLB_DATA6(val)          bfin_write32(ICPLB_DATA6,val) |  | ||||||
| #define bfin_read_ICPLB_DATA7()              bfin_read32(ICPLB_DATA7) |  | ||||||
| #define bfin_write_ICPLB_DATA7(val)          bfin_write32(ICPLB_DATA7,val) |  | ||||||
| #define bfin_read_ICPLB_DATA8()              bfin_read32(ICPLB_DATA8) |  | ||||||
| #define bfin_write_ICPLB_DATA8(val)          bfin_write32(ICPLB_DATA8,val) |  | ||||||
| #define bfin_read_ICPLB_DATA9()              bfin_read32(ICPLB_DATA9) |  | ||||||
| #define bfin_write_ICPLB_DATA9(val)          bfin_write32(ICPLB_DATA9,val) |  | ||||||
| #define bfin_read_ICPLB_DATA10()             bfin_read32(ICPLB_DATA10) |  | ||||||
| #define bfin_write_ICPLB_DATA10(val)         bfin_write32(ICPLB_DATA10,val) |  | ||||||
| #define bfin_read_ICPLB_DATA11()             bfin_read32(ICPLB_DATA11) |  | ||||||
| #define bfin_write_ICPLB_DATA11(val)         bfin_write32(ICPLB_DATA11,val) |  | ||||||
| #define bfin_read_ICPLB_DATA12()             bfin_read32(ICPLB_DATA12) |  | ||||||
| #define bfin_write_ICPLB_DATA12(val)         bfin_write32(ICPLB_DATA12,val) |  | ||||||
| #define bfin_read_ICPLB_DATA13()             bfin_read32(ICPLB_DATA13) |  | ||||||
| #define bfin_write_ICPLB_DATA13(val)         bfin_write32(ICPLB_DATA13,val) |  | ||||||
| #define bfin_read_ICPLB_DATA14()             bfin_read32(ICPLB_DATA14) |  | ||||||
| #define bfin_write_ICPLB_DATA14(val)         bfin_write32(ICPLB_DATA14,val) |  | ||||||
| #define bfin_read_ICPLB_DATA15()             bfin_read32(ICPLB_DATA15) |  | ||||||
| #define bfin_write_ICPLB_DATA15(val)         bfin_write32(ICPLB_DATA15,val) |  | ||||||
| #define bfin_write_ITEST_COMMAND(val)        bfin_write32(ITEST_COMMAND,val) |  | ||||||
| #if 0 |  | ||||||
| #define ITEST_INDEX            0xFFE01304   /* Instruction Test Index Register */ |  | ||||||
| #endif |  | ||||||
| #define bfin_write_ITEST_DATA0(val)          bfin_write32(ITEST_DATA0,val) |  | ||||||
| #define bfin_write_ITEST_DATA1(val)          bfin_write32(ITEST_DATA1,val) |  | ||||||
| 
 |  | ||||||
| #if !ANOMALY_05000481 |  | ||||||
| #define bfin_read_ITEST_COMMAND()            bfin_read32(ITEST_COMMAND) |  | ||||||
| #define bfin_read_ITEST_DATA0()              bfin_read32(ITEST_DATA0) |  | ||||||
| #define bfin_read_ITEST_DATA1()              bfin_read32(ITEST_DATA1) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* Event/Interrupt Registers*/ |  | ||||||
| 
 |  | ||||||
| #define bfin_read_EVT0()                     bfin_read32(EVT0) |  | ||||||
| #define bfin_write_EVT0(val)                 bfin_write32(EVT0,val) |  | ||||||
| #define bfin_read_EVT1()                     bfin_read32(EVT1) |  | ||||||
| #define bfin_write_EVT1(val)                 bfin_write32(EVT1,val) |  | ||||||
| #define bfin_read_EVT2()                     bfin_read32(EVT2) |  | ||||||
| #define bfin_write_EVT2(val)                 bfin_write32(EVT2,val) |  | ||||||
| #define bfin_read_EVT3()                     bfin_read32(EVT3) |  | ||||||
| #define bfin_write_EVT3(val)                 bfin_write32(EVT3,val) |  | ||||||
| #define bfin_read_EVT4()                     bfin_read32(EVT4) |  | ||||||
| #define bfin_write_EVT4(val)                 bfin_write32(EVT4,val) |  | ||||||
| #define bfin_read_EVT5()                     bfin_read32(EVT5) |  | ||||||
| #define bfin_write_EVT5(val)                 bfin_write32(EVT5,val) |  | ||||||
| #define bfin_read_EVT6()                     bfin_read32(EVT6) |  | ||||||
| #define bfin_write_EVT6(val)                 bfin_write32(EVT6,val) |  | ||||||
| #define bfin_read_EVT7()                     bfin_read32(EVT7) |  | ||||||
| #define bfin_write_EVT7(val)                 bfin_write32(EVT7,val) |  | ||||||
| #define bfin_read_EVT8()                     bfin_read32(EVT8) |  | ||||||
| #define bfin_write_EVT8(val)                 bfin_write32(EVT8,val) |  | ||||||
| #define bfin_read_EVT9()                     bfin_read32(EVT9) |  | ||||||
| #define bfin_write_EVT9(val)                 bfin_write32(EVT9,val) |  | ||||||
| #define bfin_read_EVT10()                    bfin_read32(EVT10) |  | ||||||
| #define bfin_write_EVT10(val)                bfin_write32(EVT10,val) |  | ||||||
| #define bfin_read_EVT11()                    bfin_read32(EVT11) |  | ||||||
| #define bfin_write_EVT11(val)                bfin_write32(EVT11,val) |  | ||||||
| #define bfin_read_EVT12()                    bfin_read32(EVT12) |  | ||||||
| #define bfin_write_EVT12(val)                bfin_write32(EVT12,val) |  | ||||||
| #define bfin_read_EVT13()                    bfin_read32(EVT13) |  | ||||||
| #define bfin_write_EVT13(val)                bfin_write32(EVT13,val) |  | ||||||
| #define bfin_read_EVT14()                    bfin_read32(EVT14) |  | ||||||
| #define bfin_write_EVT14(val)                bfin_write32(EVT14,val) |  | ||||||
| #define bfin_read_EVT15()                    bfin_read32(EVT15) |  | ||||||
| #define bfin_write_EVT15(val)                bfin_write32(EVT15,val) |  | ||||||
| #define bfin_read_EVT_OVERRIDE()             bfin_read32(EVT_OVERRIDE) |  | ||||||
| #define bfin_write_EVT_OVERRIDE(val)         bfin_write32(EVT_OVERRIDE,val) |  | ||||||
| #define bfin_read_IMASK()                    bfin_read32(IMASK) |  | ||||||
| #define bfin_write_IMASK(val)                bfin_write32(IMASK,val) |  | ||||||
| #define bfin_read_IPEND()                    bfin_read32(IPEND) |  | ||||||
| #define bfin_write_IPEND(val)                bfin_write32(IPEND,val) |  | ||||||
| #define bfin_read_ILAT()                     bfin_read32(ILAT) |  | ||||||
| #define bfin_write_ILAT(val)                 bfin_write32(ILAT,val) |  | ||||||
| #define bfin_read_IPRIO()                    bfin_read32(IPRIO) |  | ||||||
| #define bfin_write_IPRIO(val)                bfin_write32(IPRIO,val) |  | ||||||
| 
 |  | ||||||
| /*Core Timer Registers*/ |  | ||||||
| #define bfin_read_TCNTL()                    bfin_read32(TCNTL) |  | ||||||
| #define bfin_write_TCNTL(val)                bfin_write32(TCNTL,val) |  | ||||||
| #define bfin_read_TPERIOD()                  bfin_read32(TPERIOD) |  | ||||||
| #define bfin_write_TPERIOD(val)              bfin_write32(TPERIOD,val) |  | ||||||
| #define bfin_read_TSCALE()                   bfin_read32(TSCALE) |  | ||||||
| #define bfin_write_TSCALE(val)               bfin_write32(TSCALE,val) |  | ||||||
| #define bfin_read_TCOUNT()                   bfin_read32(TCOUNT) |  | ||||||
| #define bfin_write_TCOUNT(val)               bfin_write32(TCOUNT,val) |  | ||||||
| 
 |  | ||||||
| /*Debug/MP/Emulation Registers*/ |  | ||||||
| #define bfin_read_DSPID()                    bfin_read32(DSPID) |  | ||||||
| #define bfin_write_DSPID(val)                bfin_write32(DSPID,val) |  | ||||||
| #define bfin_read_DBGCTL()                   bfin_read32(DBGCTL) |  | ||||||
| #define bfin_write_DBGCTL(val)               bfin_write32(DBGCTL,val) |  | ||||||
| #define bfin_read_DBGSTAT()                  bfin_read32(DBGSTAT) |  | ||||||
| #define bfin_write_DBGSTAT(val)              bfin_write32(DBGSTAT,val) |  | ||||||
| #define bfin_read_EMUDAT()                   bfin_read32(EMUDAT) |  | ||||||
| #define bfin_write_EMUDAT(val)               bfin_write32(EMUDAT,val) |  | ||||||
| 
 |  | ||||||
| /*Trace Buffer Registers*/ |  | ||||||
| #define bfin_read_TBUFCTL()                  bfin_read32(TBUFCTL) |  | ||||||
| #define bfin_write_TBUFCTL(val)              bfin_write32(TBUFCTL,val) |  | ||||||
| #define bfin_read_TBUFSTAT()                 bfin_read32(TBUFSTAT) |  | ||||||
| #define bfin_write_TBUFSTAT(val)             bfin_write32(TBUFSTAT,val) |  | ||||||
| #define bfin_read_TBUF()                     bfin_read32(TBUF) |  | ||||||
| #define bfin_write_TBUF(val)                 bfin_write32(TBUF,val) |  | ||||||
| 
 |  | ||||||
| /*Watch Point Control Registers*/ |  | ||||||
| #define bfin_read_WPIACTL()                  bfin_read32(WPIACTL) |  | ||||||
| #define bfin_write_WPIACTL(val)              bfin_write32(WPIACTL,val) |  | ||||||
| #define bfin_read_WPIA0()                    bfin_read32(WPIA0) |  | ||||||
| #define bfin_write_WPIA0(val)                bfin_write32(WPIA0,val) |  | ||||||
| #define bfin_read_WPIA1()                    bfin_read32(WPIA1) |  | ||||||
| #define bfin_write_WPIA1(val)                bfin_write32(WPIA1,val) |  | ||||||
| #define bfin_read_WPIA2()                    bfin_read32(WPIA2) |  | ||||||
| #define bfin_write_WPIA2(val)                bfin_write32(WPIA2,val) |  | ||||||
| #define bfin_read_WPIA3()                    bfin_read32(WPIA3) |  | ||||||
| #define bfin_write_WPIA3(val)                bfin_write32(WPIA3,val) |  | ||||||
| #define bfin_read_WPIA4()                    bfin_read32(WPIA4) |  | ||||||
| #define bfin_write_WPIA4(val)                bfin_write32(WPIA4,val) |  | ||||||
| #define bfin_read_WPIA5()                    bfin_read32(WPIA5) |  | ||||||
| #define bfin_write_WPIA5(val)                bfin_write32(WPIA5,val) |  | ||||||
| #define bfin_read_WPIACNT0()                 bfin_read32(WPIACNT0) |  | ||||||
| #define bfin_write_WPIACNT0(val)             bfin_write32(WPIACNT0,val) |  | ||||||
| #define bfin_read_WPIACNT1()                 bfin_read32(WPIACNT1) |  | ||||||
| #define bfin_write_WPIACNT1(val)             bfin_write32(WPIACNT1,val) |  | ||||||
| #define bfin_read_WPIACNT2()                 bfin_read32(WPIACNT2) |  | ||||||
| #define bfin_write_WPIACNT2(val)             bfin_write32(WPIACNT2,val) |  | ||||||
| #define bfin_read_WPIACNT3()                 bfin_read32(WPIACNT3) |  | ||||||
| #define bfin_write_WPIACNT3(val)             bfin_write32(WPIACNT3,val) |  | ||||||
| #define bfin_read_WPIACNT4()                 bfin_read32(WPIACNT4) |  | ||||||
| #define bfin_write_WPIACNT4(val)             bfin_write32(WPIACNT4,val) |  | ||||||
| #define bfin_read_WPIACNT5()                 bfin_read32(WPIACNT5) |  | ||||||
| #define bfin_write_WPIACNT5(val)             bfin_write32(WPIACNT5,val) |  | ||||||
| #define bfin_read_WPDACTL()                  bfin_read32(WPDACTL) |  | ||||||
| #define bfin_write_WPDACTL(val)              bfin_write32(WPDACTL,val) |  | ||||||
| #define bfin_read_WPDA0()                    bfin_read32(WPDA0) |  | ||||||
| #define bfin_write_WPDA0(val)                bfin_write32(WPDA0,val) |  | ||||||
| #define bfin_read_WPDA1()                    bfin_read32(WPDA1) |  | ||||||
| #define bfin_write_WPDA1(val)                bfin_write32(WPDA1,val) |  | ||||||
| #define bfin_read_WPDACNT0()                 bfin_read32(WPDACNT0) |  | ||||||
| #define bfin_write_WPDACNT0(val)             bfin_write32(WPDACNT0,val) |  | ||||||
| #define bfin_read_WPDACNT1()                 bfin_read32(WPDACNT1) |  | ||||||
| #define bfin_write_WPDACNT1(val)             bfin_write32(WPDACNT1,val) |  | ||||||
| #define bfin_read_WPSTAT()                   bfin_read32(WPSTAT) |  | ||||||
| #define bfin_write_WPSTAT(val)               bfin_write32(WPSTAT,val) |  | ||||||
| 
 |  | ||||||
| /*Performance Monitor Registers*/ |  | ||||||
| #define bfin_read_PFCTL()                    bfin_read32(PFCTL) |  | ||||||
| #define bfin_write_PFCTL(val)                bfin_write32(PFCTL,val) |  | ||||||
| #define bfin_read_PFCNTR0()                  bfin_read32(PFCNTR0) |  | ||||||
| #define bfin_write_PFCNTR0(val)              bfin_write32(PFCNTR0,val) |  | ||||||
| #define bfin_read_PFCNTR1()                  bfin_read32(PFCNTR1) |  | ||||||
| #define bfin_write_PFCNTR1(val)              bfin_write32(PFCNTR1,val) |  | ||||||
| 
 |  | ||||||
| #endif				/* _CDEF_LPBLACKFIN_H */ |  | ||||||
|  | @ -1,44 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  *                     akbar.hussain@lineo.com |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BFIN_CHECKSUM_H |  | ||||||
| #define _BFIN_CHECKSUM_H |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * computes the checksum of the TCP/UDP pseudo-header |  | ||||||
|  * returns a 16-bit checksum, already complemented |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| static inline __wsum |  | ||||||
| __csum_tcpudp_nofold(__be32 saddr, __be32 daddr, __u32 len, |  | ||||||
| 		     __u8 proto, __wsum sum) |  | ||||||
| { |  | ||||||
| 	unsigned int carry; |  | ||||||
| 
 |  | ||||||
| 	__asm__ ("%0 = %0 + %2;\n\t" |  | ||||||
| 		"CC = AC0;\n\t" |  | ||||||
| 		"%1 = CC;\n\t" |  | ||||||
| 		"%0 = %0 + %1;\n\t" |  | ||||||
| 		"%0 = %0 + %3;\n\t" |  | ||||||
| 		"CC = AC0;\n\t" |  | ||||||
| 		"%1 = CC;\n\t" |  | ||||||
| 		"%0 = %0 + %1;\n\t" |  | ||||||
| 		"%0 = %0 + %4;\n\t" |  | ||||||
| 		"CC = AC0;\n\t" |  | ||||||
| 		"%1 = CC;\n\t" |  | ||||||
| 		"%0 = %0 + %1;\n\t" |  | ||||||
| 		: "=d" (sum), "=&d" (carry) |  | ||||||
| 		: "d" (daddr), "d" (saddr), "d" ((len + proto) << 8), "0"(sum) |  | ||||||
| 		: "CC"); |  | ||||||
| 
 |  | ||||||
| 	return (sum); |  | ||||||
| } |  | ||||||
| #define csum_tcpudp_nofold __csum_tcpudp_nofold |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/checksum.h> |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,74 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Common Clock definitions for various kernel files |  | ||||||
|  * |  | ||||||
|  * Copyright 2007-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BFIN_CLOCKS_H |  | ||||||
| #define _BFIN_CLOCKS_H |  | ||||||
| 
 |  | ||||||
| #include <asm/dpmc.h> |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_CCLK_DIV_1 |  | ||||||
| # define CONFIG_CCLK_ACT_DIV   CCLK_DIV1 |  | ||||||
| # define CONFIG_CCLK_DIV 1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_CCLK_DIV_2 |  | ||||||
| # define CONFIG_CCLK_ACT_DIV   CCLK_DIV2 |  | ||||||
| # define CONFIG_CCLK_DIV 2 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_CCLK_DIV_4 |  | ||||||
| # define CONFIG_CCLK_ACT_DIV   CCLK_DIV4 |  | ||||||
| # define CONFIG_CCLK_DIV 4 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_CCLK_DIV_8 |  | ||||||
| # define CONFIG_CCLK_ACT_DIV   CCLK_DIV8 |  | ||||||
| # define CONFIG_CCLK_DIV 8 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef CONFIG_PLL_BYPASS |  | ||||||
| # ifndef CONFIG_CLKIN_HALF |  | ||||||
| #  define CONFIG_VCO_HZ   (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) |  | ||||||
| # else |  | ||||||
| #  define CONFIG_VCO_HZ   ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)/2) |  | ||||||
| # endif |  | ||||||
| 
 |  | ||||||
| # define CONFIG_CCLK_HZ  (CONFIG_VCO_HZ/CONFIG_CCLK_DIV) |  | ||||||
| # define CONFIG_SCLK_HZ  (CONFIG_VCO_HZ/CONFIG_SCLK_DIV) |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| # define CONFIG_VCO_HZ   (CONFIG_CLKIN_HZ) |  | ||||||
| # define CONFIG_CCLK_HZ  (CONFIG_CLKIN_HZ) |  | ||||||
| # define CONFIG_SCLK_HZ  (CONFIG_CLKIN_HZ) |  | ||||||
| # define CONFIG_VCO_MULT 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <linux/clk.h> |  | ||||||
| 
 |  | ||||||
| struct clk_ops { |  | ||||||
| 	unsigned long (*get_rate)(struct clk *clk); |  | ||||||
| 	unsigned long (*round_rate)(struct clk *clk, unsigned long rate); |  | ||||||
| 	int (*set_rate)(struct clk *clk, unsigned long rate); |  | ||||||
| 	int (*enable)(struct clk *clk); |  | ||||||
| 	int (*disable)(struct clk *clk); |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| struct clk { |  | ||||||
| 	struct clk		*parent; |  | ||||||
| 	const char              *name; |  | ||||||
| 	unsigned long           rate; |  | ||||||
| 	spinlock_t              lock; |  | ||||||
| 	u32                     flags; |  | ||||||
| 	const struct clk_ops    *ops; |  | ||||||
| 	void __iomem            *reg; |  | ||||||
| 	u32                     mask; |  | ||||||
| 	u32                     shift; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| int clk_init(void); |  | ||||||
| #endif |  | ||||||
|  | @ -1,132 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2011 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ARCH_BLACKFIN_CMPXCHG__ |  | ||||||
| #define __ARCH_BLACKFIN_CMPXCHG__ |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| 
 |  | ||||||
| #include <linux/linkage.h> |  | ||||||
| 
 |  | ||||||
| asmlinkage unsigned long __raw_xchg_1_asm(volatile void *ptr, unsigned long value); |  | ||||||
| asmlinkage unsigned long __raw_xchg_2_asm(volatile void *ptr, unsigned long value); |  | ||||||
| asmlinkage unsigned long __raw_xchg_4_asm(volatile void *ptr, unsigned long value); |  | ||||||
| asmlinkage unsigned long __raw_cmpxchg_1_asm(volatile void *ptr, |  | ||||||
| 					unsigned long new, unsigned long old); |  | ||||||
| asmlinkage unsigned long __raw_cmpxchg_2_asm(volatile void *ptr, |  | ||||||
| 					unsigned long new, unsigned long old); |  | ||||||
| asmlinkage unsigned long __raw_cmpxchg_4_asm(volatile void *ptr, |  | ||||||
| 					unsigned long new, unsigned long old); |  | ||||||
| 
 |  | ||||||
| static inline unsigned long __xchg(unsigned long x, volatile void *ptr, |  | ||||||
| 				   int size) |  | ||||||
| { |  | ||||||
| 	unsigned long tmp; |  | ||||||
| 
 |  | ||||||
| 	switch (size) { |  | ||||||
| 	case 1: |  | ||||||
| 		tmp = __raw_xchg_1_asm(ptr, x); |  | ||||||
| 		break; |  | ||||||
| 	case 2: |  | ||||||
| 		tmp = __raw_xchg_2_asm(ptr, x); |  | ||||||
| 		break; |  | ||||||
| 	case 4: |  | ||||||
| 		tmp = __raw_xchg_4_asm(ptr, x); |  | ||||||
| 		break; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return tmp; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Atomic compare and exchange.  Compare OLD with MEM, if identical, |  | ||||||
|  * store NEW in MEM.  Return the initial value in MEM.  Success is |  | ||||||
|  * indicated by comparing RETURN with OLD. |  | ||||||
|  */ |  | ||||||
| static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, |  | ||||||
| 				      unsigned long new, int size) |  | ||||||
| { |  | ||||||
| 	unsigned long tmp; |  | ||||||
| 
 |  | ||||||
| 	switch (size) { |  | ||||||
| 	case 1: |  | ||||||
| 		tmp = __raw_cmpxchg_1_asm(ptr, new, old); |  | ||||||
| 		break; |  | ||||||
| 	case 2: |  | ||||||
| 		tmp = __raw_cmpxchg_2_asm(ptr, new, old); |  | ||||||
| 		break; |  | ||||||
| 	case 4: |  | ||||||
| 		tmp = __raw_cmpxchg_4_asm(ptr, new, old); |  | ||||||
| 		break; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return tmp; |  | ||||||
| } |  | ||||||
| #define cmpxchg(ptr, o, n) \ |  | ||||||
| 	((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \ |  | ||||||
| 		(unsigned long)(n), sizeof(*(ptr)))) |  | ||||||
| 
 |  | ||||||
| #else /* !CONFIG_SMP */ |  | ||||||
| 
 |  | ||||||
| #include <mach/blackfin.h> |  | ||||||
| #include <asm/irqflags.h> |  | ||||||
| 
 |  | ||||||
| struct __xchg_dummy { |  | ||||||
| 	unsigned long a[100]; |  | ||||||
| }; |  | ||||||
| #define __xg(x) ((volatile struct __xchg_dummy *)(x)) |  | ||||||
| 
 |  | ||||||
| static inline unsigned long __xchg(unsigned long x, volatile void *ptr, |  | ||||||
| 				   int size) |  | ||||||
| { |  | ||||||
| 	unsigned long tmp = 0; |  | ||||||
| 	unsigned long flags; |  | ||||||
| 
 |  | ||||||
| 	flags = hard_local_irq_save(); |  | ||||||
| 
 |  | ||||||
| 	switch (size) { |  | ||||||
| 	case 1: |  | ||||||
| 		__asm__ __volatile__ |  | ||||||
| 			("%0 = b%2 (z);\n\t" |  | ||||||
| 			 "b%2 = %1;\n\t" |  | ||||||
| 			 : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory"); |  | ||||||
| 		break; |  | ||||||
| 	case 2: |  | ||||||
| 		__asm__ __volatile__ |  | ||||||
| 			("%0 = w%2 (z);\n\t" |  | ||||||
| 			 "w%2 = %1;\n\t" |  | ||||||
| 			 : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory"); |  | ||||||
| 		break; |  | ||||||
| 	case 4: |  | ||||||
| 		__asm__ __volatile__ |  | ||||||
| 			("%0 = %2;\n\t" |  | ||||||
| 			 "%2 = %1;\n\t" |  | ||||||
| 			 : "=&d" (tmp) : "d" (x), "m" (*__xg(ptr)) : "memory"); |  | ||||||
| 		break; |  | ||||||
| 	} |  | ||||||
| 	hard_local_irq_restore(flags); |  | ||||||
| 	return tmp; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/cmpxchg-local.h> |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make |  | ||||||
|  * them available. |  | ||||||
|  */ |  | ||||||
| #define cmpxchg_local(ptr, o, n)				  	       \ |  | ||||||
| 	((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ |  | ||||||
| 			(unsigned long)(n), sizeof(*(ptr)))) |  | ||||||
| #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) |  | ||||||
| 
 |  | ||||||
| #define cmpxchg(ptr, o, n)	cmpxchg_local((ptr), (o), (n)) |  | ||||||
| #define cmpxchg64(ptr, o, n)	cmpxchg64_local((ptr), (o), (n)) |  | ||||||
| 
 |  | ||||||
| #endif /* !CONFIG_SMP */ |  | ||||||
| 
 |  | ||||||
| #define xchg(ptr, x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))) |  | ||||||
| 
 |  | ||||||
| #endif /* __ARCH_BLACKFIN_CMPXCHG__ */ |  | ||||||
|  | @ -1,407 +0,0 @@ | ||||||
| /* |  | ||||||
|  * Copyright 2007-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /* |  | ||||||
|  * NOTE!  The single-stepping code assumes that all interrupt handlers |  | ||||||
|  * start by saving SYSCFG on the stack with their first instruction. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /* |  | ||||||
|  * Code to save processor context. |  | ||||||
|  *  We even save the register which are preserved by a function call |  | ||||||
|  *	 - r4, r5, r6, r7, p3, p4, p5 |  | ||||||
|  */ |  | ||||||
| .macro save_context_with_interrupts
 |  | ||||||
| 	[--sp] = SYSCFG;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = P0;	/*orig_p0*/
 |  | ||||||
| 	[--sp] = R0;	/*orig_r0*/
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = ( R7:0, P5:0 );
 |  | ||||||
| 	[--sp] = fp;
 |  | ||||||
| 	[--sp] = usp;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = i0;
 |  | ||||||
| 	[--sp] = i1;
 |  | ||||||
| 	[--sp] = i2;
 |  | ||||||
| 	[--sp] = i3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = m0;
 |  | ||||||
| 	[--sp] = m1;
 |  | ||||||
| 	[--sp] = m2;
 |  | ||||||
| 	[--sp] = m3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = l0;
 |  | ||||||
| 	[--sp] = l1;
 |  | ||||||
| 	[--sp] = l2;
 |  | ||||||
| 	[--sp] = l3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = b0;
 |  | ||||||
| 	[--sp] = b1;
 |  | ||||||
| 	[--sp] = b2;
 |  | ||||||
| 	[--sp] = b3;
 |  | ||||||
| 	[--sp] = a0.x;
 |  | ||||||
| 	[--sp] = a0.w;
 |  | ||||||
| 	[--sp] = a1.x;
 |  | ||||||
| 	[--sp] = a1.w;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = LC0;
 |  | ||||||
| 	[--sp] = LC1;
 |  | ||||||
| 	[--sp] = LT0;
 |  | ||||||
| 	[--sp] = LT1;
 |  | ||||||
| 	[--sp] = LB0;
 |  | ||||||
| 	[--sp] = LB1;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = ASTAT;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = r0;	/* Skip reserved */
 |  | ||||||
| 	[--sp] = RETS;
 |  | ||||||
| 	r0 = RETI;
 |  | ||||||
| 	[--sp] = r0;
 |  | ||||||
| 	[--sp] = RETX;
 |  | ||||||
| 	[--sp] = RETN;
 |  | ||||||
| 	[--sp] = RETE;
 |  | ||||||
| 	[--sp] = SEQSTAT;
 |  | ||||||
| 	[--sp] = r0;	/* Skip IPEND as well. */
 |  | ||||||
| 	/* Switch to other method of keeping interrupts disabled.  */ |  | ||||||
| #ifdef CONFIG_DEBUG_HWERR |  | ||||||
| 	r0 = 0x3f;
 |  | ||||||
| 	sti r0;
 |  | ||||||
| #else |  | ||||||
| 	cli r0;
 |  | ||||||
| #endif |  | ||||||
| #ifdef CONFIG_TRACE_IRQFLAGS |  | ||||||
| 	sp += -12;
 |  | ||||||
| 	call _trace_hardirqs_off;
 |  | ||||||
| 	sp += 12;
 |  | ||||||
| #endif |  | ||||||
| 	[--sp] = RETI;  /*orig_pc*/
 |  | ||||||
| 	/* Clear all L registers.  */ |  | ||||||
| 	r0 = 0 (x);
 |  | ||||||
| 	l0 = r0;
 |  | ||||||
| 	l1 = r0;
 |  | ||||||
| 	l2 = r0;
 |  | ||||||
| 	l3 = r0;
 |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| .macro save_context_syscall
 |  | ||||||
| 	[--sp] = SYSCFG;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = P0;	/*orig_p0*/
 |  | ||||||
| 	[--sp] = R0;	/*orig_r0*/
 |  | ||||||
| 	[--sp] = ( R7:0, P5:0 );
 |  | ||||||
| 	[--sp] = fp;
 |  | ||||||
| 	[--sp] = usp;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = i0;
 |  | ||||||
| 	[--sp] = i1;
 |  | ||||||
| 	[--sp] = i2;
 |  | ||||||
| 	[--sp] = i3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = m0;
 |  | ||||||
| 	[--sp] = m1;
 |  | ||||||
| 	[--sp] = m2;
 |  | ||||||
| 	[--sp] = m3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = l0;
 |  | ||||||
| 	[--sp] = l1;
 |  | ||||||
| 	[--sp] = l2;
 |  | ||||||
| 	[--sp] = l3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = b0;
 |  | ||||||
| 	[--sp] = b1;
 |  | ||||||
| 	[--sp] = b2;
 |  | ||||||
| 	[--sp] = b3;
 |  | ||||||
| 	[--sp] = a0.x;
 |  | ||||||
| 	[--sp] = a0.w;
 |  | ||||||
| 	[--sp] = a1.x;
 |  | ||||||
| 	[--sp] = a1.w;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = LC0;
 |  | ||||||
| 	[--sp] = LC1;
 |  | ||||||
| 	[--sp] = LT0;
 |  | ||||||
| 	[--sp] = LT1;
 |  | ||||||
| 	[--sp] = LB0;
 |  | ||||||
| 	[--sp] = LB1;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = ASTAT;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = r0;	/* Skip reserved */
 |  | ||||||
| 	[--sp] = RETS;
 |  | ||||||
| 	r0 = RETI;
 |  | ||||||
| 	[--sp] = r0;
 |  | ||||||
| 	[--sp] = RETX;
 |  | ||||||
| 	[--sp] = RETN;
 |  | ||||||
| 	[--sp] = RETE;
 |  | ||||||
| 	[--sp] = SEQSTAT;
 |  | ||||||
| 	[--sp] = r0;	/* Skip IPEND as well. */
 |  | ||||||
| 	[--sp] = RETI;  /*orig_pc*/
 |  | ||||||
| 	/* Clear all L registers.  */ |  | ||||||
| 	r0 = 0 (x);
 |  | ||||||
| 	l0 = r0;
 |  | ||||||
| 	l1 = r0;
 |  | ||||||
| 	l2 = r0;
 |  | ||||||
| 	l3 = r0;
 |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| .macro save_context_no_interrupts
 |  | ||||||
| 	[--sp] = SYSCFG;
 |  | ||||||
| 	[--sp] = P0;	/* orig_p0 */
 |  | ||||||
| 	[--sp] = R0;	/* orig_r0 */
 |  | ||||||
| 	[--sp] = ( R7:0, P5:0 );
 |  | ||||||
| 	[--sp] = fp;
 |  | ||||||
| 	[--sp] = usp;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = i0;
 |  | ||||||
| 	[--sp] = i1;
 |  | ||||||
| 	[--sp] = i2;
 |  | ||||||
| 	[--sp] = i3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = m0;
 |  | ||||||
| 	[--sp] = m1;
 |  | ||||||
| 	[--sp] = m2;
 |  | ||||||
| 	[--sp] = m3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = l0;
 |  | ||||||
| 	[--sp] = l1;
 |  | ||||||
| 	[--sp] = l2;
 |  | ||||||
| 	[--sp] = l3;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = b0;
 |  | ||||||
| 	[--sp] = b1;
 |  | ||||||
| 	[--sp] = b2;
 |  | ||||||
| 	[--sp] = b3;
 |  | ||||||
| 	[--sp] = a0.x;
 |  | ||||||
| 	[--sp] = a0.w;
 |  | ||||||
| 	[--sp] = a1.x;
 |  | ||||||
| 	[--sp] = a1.w;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = LC0;
 |  | ||||||
| 	[--sp] = LC1;
 |  | ||||||
| 	[--sp] = LT0;
 |  | ||||||
| 	[--sp] = LT1;
 |  | ||||||
| 	[--sp] = LB0;
 |  | ||||||
| 	[--sp] = LB1;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = ASTAT;
 |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_KGDB |  | ||||||
| 	fp     = 0(Z);
 |  | ||||||
| 	r1     = sp;
 |  | ||||||
| 	r1    += 60;
 |  | ||||||
| 	r1    += 60;
 |  | ||||||
| 	r1    += 60;
 |  | ||||||
| 	[--sp] = r1;
 |  | ||||||
| #else |  | ||||||
| 	[--sp] = r0;	/* Skip reserved */
 |  | ||||||
| #endif |  | ||||||
| 	[--sp] = RETS;
 |  | ||||||
| 	r0 = RETI;
 |  | ||||||
| 	[--sp] = r0;
 |  | ||||||
| 	[--sp] = RETX;
 |  | ||||||
| 	[--sp] = RETN;
 |  | ||||||
| 	[--sp] = RETE;
 |  | ||||||
| 	[--sp] = SEQSTAT;
 |  | ||||||
| #ifdef CONFIG_DEBUG_KERNEL |  | ||||||
| 	p1.l = lo(IPEND);
 |  | ||||||
| 	p1.h = hi(IPEND);
 |  | ||||||
| 	r1 = [p1];
 |  | ||||||
| 	[--sp] = r1;
 |  | ||||||
| #else |  | ||||||
| 	[--sp] = r0;	/* Skip IPEND as well. */
 |  | ||||||
| #endif |  | ||||||
| 	[--sp] = r0;  /*orig_pc*/
 |  | ||||||
| 	/* Clear all L registers.  */ |  | ||||||
| 	r0 = 0 (x);
 |  | ||||||
| 	l0 = r0;
 |  | ||||||
| 	l1 = r0;
 |  | ||||||
| 	l2 = r0;
 |  | ||||||
| 	l3 = r0;
 |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| .macro restore_context_no_interrupts
 |  | ||||||
| 	sp += 4;	/* Skip orig_pc */
 |  | ||||||
| 	sp += 4;	/* Skip IPEND */
 |  | ||||||
| 	SEQSTAT = [sp++];
 |  | ||||||
| 	RETE = [sp++];
 |  | ||||||
| 	RETN = [sp++];
 |  | ||||||
| 	RETX = [sp++];
 |  | ||||||
| 	r0 = [sp++];
 |  | ||||||
| 	RETI = r0;	/* Restore RETI indirectly when in exception */
 |  | ||||||
| 	RETS = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	sp += 4;	/* Skip Reserved */
 |  | ||||||
| 
 |  | ||||||
| 	ASTAT = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	LB1 = [sp++];
 |  | ||||||
| 	LB0 = [sp++];
 |  | ||||||
| 	LT1 = [sp++];
 |  | ||||||
| 	LT0 = [sp++];
 |  | ||||||
| 	LC1 = [sp++];
 |  | ||||||
| 	LC0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	a1.w = [sp++];
 |  | ||||||
| 	a1.x = [sp++];
 |  | ||||||
| 	a0.w = [sp++];
 |  | ||||||
| 	a0.x = [sp++];
 |  | ||||||
| 	b3 = [sp++];
 |  | ||||||
| 	b2 = [sp++];
 |  | ||||||
| 	b1 = [sp++];
 |  | ||||||
| 	b0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	l3 = [sp++];
 |  | ||||||
| 	l2 = [sp++];
 |  | ||||||
| 	l1 = [sp++];
 |  | ||||||
| 	l0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	m3 = [sp++];
 |  | ||||||
| 	m2 = [sp++];
 |  | ||||||
| 	m1 = [sp++];
 |  | ||||||
| 	m0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	i3 = [sp++];
 |  | ||||||
| 	i2 = [sp++];
 |  | ||||||
| 	i1 = [sp++];
 |  | ||||||
| 	i0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	sp += 4;
 |  | ||||||
| 	fp = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	( R7 : 0, P5 : 0) = [ SP ++ ];
 |  | ||||||
| 	sp += 8;	/* Skip orig_r0/orig_p0 */
 |  | ||||||
| 	SYSCFG = [sp++];
 |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| .macro restore_context_with_interrupts
 |  | ||||||
| 	sp += 4;	/* Skip orig_pc */
 |  | ||||||
| 	sp += 4;	/* Skip IPEND */
 |  | ||||||
| 	SEQSTAT = [sp++];
 |  | ||||||
| 	RETE = [sp++];
 |  | ||||||
| 	RETN = [sp++];
 |  | ||||||
| 	RETX = [sp++];
 |  | ||||||
| 	RETI = [sp++];
 |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_TRACE_IRQFLAGS |  | ||||||
| 	sp += -12;
 |  | ||||||
| 	call _trace_hardirqs_on;
 |  | ||||||
| 	sp += 12;
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 	RETS = [sp++];
 |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| 	GET_PDA(p0, r0);
 |  | ||||||
| 	r0 = [p0 + PDA_IRQFLAGS];
 |  | ||||||
| #else |  | ||||||
| 	p0.h = _bfin_irq_flags;
 |  | ||||||
| 	p0.l = _bfin_irq_flags;
 |  | ||||||
| 	r0 = [p0];
 |  | ||||||
| #endif |  | ||||||
| 	sti r0;
 |  | ||||||
| 
 |  | ||||||
| 	sp += 4;	/* Skip Reserved */
 |  | ||||||
| 
 |  | ||||||
| 	ASTAT = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	LB1 = [sp++];
 |  | ||||||
| 	LB0 = [sp++];
 |  | ||||||
| 	LT1 = [sp++];
 |  | ||||||
| 	LT0 = [sp++];
 |  | ||||||
| 	LC1 = [sp++];
 |  | ||||||
| 	LC0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	a1.w = [sp++];
 |  | ||||||
| 	a1.x = [sp++];
 |  | ||||||
| 	a0.w = [sp++];
 |  | ||||||
| 	a0.x = [sp++];
 |  | ||||||
| 	b3 = [sp++];
 |  | ||||||
| 	b2 = [sp++];
 |  | ||||||
| 	b1 = [sp++];
 |  | ||||||
| 	b0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	l3 = [sp++];
 |  | ||||||
| 	l2 = [sp++];
 |  | ||||||
| 	l1 = [sp++];
 |  | ||||||
| 	l0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	m3 = [sp++];
 |  | ||||||
| 	m2 = [sp++];
 |  | ||||||
| 	m1 = [sp++];
 |  | ||||||
| 	m0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	i3 = [sp++];
 |  | ||||||
| 	i2 = [sp++];
 |  | ||||||
| 	i1 = [sp++];
 |  | ||||||
| 	i0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	sp += 4;
 |  | ||||||
| 	fp = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	( R7 : 0, P5 : 0) = [ SP ++ ];
 |  | ||||||
| 	sp += 8;	/* Skip orig_r0/orig_p0 */
 |  | ||||||
| 	csync;
 |  | ||||||
| 	SYSCFG = [sp++];
 |  | ||||||
| 	csync;
 |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| .macro save_context_cplb
 |  | ||||||
| 	[--sp] = (R7:0, P5:0);
 |  | ||||||
| 	[--sp] = fp;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = a0.x;
 |  | ||||||
| 	[--sp] = a0.w;
 |  | ||||||
| 	[--sp] = a1.x;
 |  | ||||||
| 	[--sp] = a1.w;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = LC0;
 |  | ||||||
| 	[--sp] = LC1;
 |  | ||||||
| 	[--sp] = LT0;
 |  | ||||||
| 	[--sp] = LT1;
 |  | ||||||
| 	[--sp] = LB0;
 |  | ||||||
| 	[--sp] = LB1;
 |  | ||||||
| 
 |  | ||||||
| 	[--sp] = RETS;
 |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| .macro restore_context_cplb
 |  | ||||||
| 	RETS = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	LB1 = [sp++];
 |  | ||||||
| 	LB0 = [sp++];
 |  | ||||||
| 	LT1 = [sp++];
 |  | ||||||
| 	LT0 = [sp++];
 |  | ||||||
| 	LC1 = [sp++];
 |  | ||||||
| 	LC0 = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	a1.w = [sp++];
 |  | ||||||
| 	a1.x = [sp++];
 |  | ||||||
| 	a0.w = [sp++];
 |  | ||||||
| 	a0.x = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	fp = [sp++];
 |  | ||||||
| 
 |  | ||||||
| 	(R7:0, P5:0) = [SP++];
 |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| .macro pseudo_long_call func:req, scratch:req |  | ||||||
| #ifdef CONFIG_ROMKERNEL |  | ||||||
| 	\scratch\().l = \func;
 |  | ||||||
| 	\scratch\().h = \func;
 |  | ||||||
| 	call (\scratch);
 |  | ||||||
| #else |  | ||||||
| 	call \func;
 |  | ||||||
| #endif |  | ||||||
| .endm |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_BFIN_SCRATCH_REG_RETN) |  | ||||||
| # define EX_SCRATCH_REG RETN |  | ||||||
| #elif defined(CONFIG_BFIN_SCRATCH_REG_RETE) |  | ||||||
| # define EX_SCRATCH_REG RETE |  | ||||||
| #else |  | ||||||
| # define EX_SCRATCH_REG CYCLES |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
|  | @ -1,153 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _CPLB_H |  | ||||||
| #define _CPLB_H |  | ||||||
| 
 |  | ||||||
| #include <mach/anomaly.h> |  | ||||||
| 
 |  | ||||||
| #define SDRAM_IGENERIC    (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO) |  | ||||||
| #define SDRAM_IKERNEL     (SDRAM_IGENERIC | CPLB_LOCK) |  | ||||||
| #define L1_IMEMORY        (               CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) |  | ||||||
| #define SDRAM_INON_CHBL   (               CPLB_USER_RD | CPLB_VALID) |  | ||||||
| 
 |  | ||||||
| #if ANOMALY_05000158 |  | ||||||
| #define ANOMALY_05000158_WORKAROUND             0x200 |  | ||||||
| #else |  | ||||||
| #define ANOMALY_05000158_WORKAROUND             0x0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define CPLB_COMMON	(CPLB_DIRTY | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BFIN_EXTMEM_WRITEBACK |  | ||||||
| #define SDRAM_DGENERIC   (CPLB_L1_CHBL | CPLB_COMMON) |  | ||||||
| #elif defined(CONFIG_BFIN_EXTMEM_WRITETHROUGH) |  | ||||||
| #define SDRAM_DGENERIC   (CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW  | CPLB_COMMON) |  | ||||||
| #else |  | ||||||
| #define SDRAM_DGENERIC   (CPLB_COMMON) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define SDRAM_DNON_CHBL  (CPLB_COMMON) |  | ||||||
| #define SDRAM_EBIU       (CPLB_COMMON) |  | ||||||
| #define SDRAM_OOPS       (CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY) |  | ||||||
| 
 |  | ||||||
| #define L1_DMEMORY       (CPLB_LOCK | CPLB_COMMON) |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| #define L2_ATTR          (INITIAL_T | I_CPLB | D_CPLB) |  | ||||||
| #define L2_IMEMORY       (CPLB_COMMON | PAGE_SIZE_1MB) |  | ||||||
| #define L2_DMEMORY       (CPLB_LOCK | CPLB_COMMON | PAGE_SIZE_1MB) |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| #define L2_ATTR          (INITIAL_T | SWITCH_T | I_CPLB | D_CPLB) |  | ||||||
| # if defined(CONFIG_BFIN_L2_ICACHEABLE) |  | ||||||
| # define L2_IMEMORY      (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | PAGE_SIZE_1MB) |  | ||||||
| # else |  | ||||||
| # define L2_IMEMORY      (               CPLB_USER_RD | CPLB_VALID | PAGE_SIZE_1MB) |  | ||||||
| # endif |  | ||||||
| 
 |  | ||||||
| # if defined(CONFIG_BFIN_L2_WRITEBACK) |  | ||||||
| # define L2_DMEMORY      (CPLB_L1_CHBL | CPLB_COMMON | PAGE_SIZE_1MB) |  | ||||||
| # elif defined(CONFIG_BFIN_L2_WRITETHROUGH) |  | ||||||
| # define L2_DMEMORY      (CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW | CPLB_COMMON | PAGE_SIZE_1MB) |  | ||||||
| # else |  | ||||||
| # define L2_DMEMORY      (CPLB_COMMON | PAGE_SIZE_1MB) |  | ||||||
| # endif |  | ||||||
| #endif /* CONFIG_SMP */ |  | ||||||
| 
 |  | ||||||
| #define SIZE_1K 0x00000400      /* 1K */ |  | ||||||
| #define SIZE_4K 0x00001000      /* 4K */ |  | ||||||
| #define SIZE_1M 0x00100000      /* 1M */ |  | ||||||
| #define SIZE_4M 0x00400000      /* 4M */ |  | ||||||
| #define SIZE_16K 0x00004000      /* 16K */ |  | ||||||
| #define SIZE_64K 0x00010000      /* 64K */ |  | ||||||
| #define SIZE_16M 0x01000000      /* 16M */ |  | ||||||
| #define SIZE_64M 0x04000000      /* 64M */ |  | ||||||
| 
 |  | ||||||
| #define MAX_CPLBS 16 |  | ||||||
| 
 |  | ||||||
| #define CPLB_ENABLE_ICACHE_P	0 |  | ||||||
| #define CPLB_ENABLE_DCACHE_P	1 |  | ||||||
| #define CPLB_ENABLE_DCACHE2_P	2 |  | ||||||
| #define CPLB_ENABLE_CPLBS_P	3	/* Deprecated! */ |  | ||||||
| #define CPLB_ENABLE_ICPLBS_P	4 |  | ||||||
| #define CPLB_ENABLE_DCPLBS_P	5 |  | ||||||
| 
 |  | ||||||
| #define CPLB_ENABLE_ICACHE	(1<<CPLB_ENABLE_ICACHE_P) |  | ||||||
| #define CPLB_ENABLE_DCACHE	(1<<CPLB_ENABLE_DCACHE_P) |  | ||||||
| #define CPLB_ENABLE_DCACHE2	(1<<CPLB_ENABLE_DCACHE2_P) |  | ||||||
| #define CPLB_ENABLE_CPLBS	(1<<CPLB_ENABLE_CPLBS_P) |  | ||||||
| #define CPLB_ENABLE_ICPLBS	(1<<CPLB_ENABLE_ICPLBS_P) |  | ||||||
| #define CPLB_ENABLE_DCPLBS	(1<<CPLB_ENABLE_DCPLBS_P) |  | ||||||
| #define CPLB_ENABLE_ANY_CPLBS	CPLB_ENABLE_CPLBS | \ |  | ||||||
| 				CPLB_ENABLE_ICPLBS | \ |  | ||||||
| 				CPLB_ENABLE_DCPLBS |  | ||||||
| 
 |  | ||||||
| #define CPLB_RELOADED		0x0000 |  | ||||||
| #define CPLB_NO_UNLOCKED	0x0001 |  | ||||||
| #define CPLB_NO_ADDR_MATCH	0x0002 |  | ||||||
| #define CPLB_PROT_VIOL		0x0003 |  | ||||||
| #define CPLB_UNKNOWN_ERR	0x0004 |  | ||||||
| 
 |  | ||||||
| #define CPLB_DEF_CACHE		CPLB_L1_CHBL | CPLB_WT |  | ||||||
| #define CPLB_CACHE_ENABLED	CPLB_L1_CHBL | CPLB_DIRTY |  | ||||||
| 
 |  | ||||||
| #define CPLB_I_PAGE_MGMT	CPLB_LOCK | CPLB_VALID |  | ||||||
| #define CPLB_D_PAGE_MGMT	CPLB_LOCK | CPLB_ALL_ACCESS | CPLB_VALID |  | ||||||
| #define CPLB_DNOCACHE		CPLB_ALL_ACCESS | CPLB_VALID |  | ||||||
| #define CPLB_DDOCACHE		CPLB_DNOCACHE | CPLB_DEF_CACHE |  | ||||||
| #define CPLB_INOCACHE   	CPLB_USER_RD | CPLB_VALID |  | ||||||
| #define CPLB_IDOCACHE   	CPLB_INOCACHE | CPLB_L1_CHBL |  | ||||||
| 
 |  | ||||||
| #define FAULT_RW        (1 << 16) |  | ||||||
| #define FAULT_USERSUPV  (1 << 17) |  | ||||||
| #define FAULT_CPLBBITS  0x0000ffff |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| static inline void _disable_cplb(u32 mmr, u32 mask) |  | ||||||
| { |  | ||||||
| 	u32 ctrl = bfin_read32(mmr) & ~mask; |  | ||||||
| 	/* CSYNC to ensure load store ordering */ |  | ||||||
| 	__builtin_bfin_csync(); |  | ||||||
| 	bfin_write32(mmr, ctrl); |  | ||||||
| 	__builtin_bfin_ssync(); |  | ||||||
| } |  | ||||||
| static inline void disable_cplb(u32 mmr, u32 mask) |  | ||||||
| { |  | ||||||
| 	u32 ctrl = bfin_read32(mmr) & ~mask; |  | ||||||
| 	CSYNC(); |  | ||||||
| 	bfin_write32(mmr, ctrl); |  | ||||||
| 	SSYNC(); |  | ||||||
| } |  | ||||||
| #define _disable_dcplb() _disable_cplb(DMEM_CONTROL, ENDCPLB) |  | ||||||
| #define  disable_dcplb()  disable_cplb(DMEM_CONTROL, ENDCPLB) |  | ||||||
| #define _disable_icplb() _disable_cplb(IMEM_CONTROL, ENICPLB) |  | ||||||
| #define  disable_icplb()  disable_cplb(IMEM_CONTROL, ENICPLB) |  | ||||||
| 
 |  | ||||||
| static inline void _enable_cplb(u32 mmr, u32 mask) |  | ||||||
| { |  | ||||||
| 	u32 ctrl = bfin_read32(mmr) | mask; |  | ||||||
| 	/* CSYNC to ensure load store ordering */ |  | ||||||
| 	__builtin_bfin_csync(); |  | ||||||
| 	bfin_write32(mmr, ctrl); |  | ||||||
| 	__builtin_bfin_ssync(); |  | ||||||
| } |  | ||||||
| static inline void enable_cplb(u32 mmr, u32 mask) |  | ||||||
| { |  | ||||||
| 	u32 ctrl = bfin_read32(mmr) | mask; |  | ||||||
| 	CSYNC(); |  | ||||||
| 	bfin_write32(mmr, ctrl); |  | ||||||
| 	SSYNC(); |  | ||||||
| } |  | ||||||
| #define _enable_dcplb()  _enable_cplb(DMEM_CONTROL, ENDCPLB) |  | ||||||
| #define  enable_dcplb()   enable_cplb(DMEM_CONTROL, ENDCPLB) |  | ||||||
| #define _enable_icplb()  _enable_cplb(IMEM_CONTROL, ENICPLB) |  | ||||||
| #define  enable_icplb()   enable_cplb(IMEM_CONTROL, ENICPLB) |  | ||||||
| 
 |  | ||||||
| #endif		/* __ASSEMBLY__ */ |  | ||||||
| 
 |  | ||||||
| #endif		/* _CPLB_H */ |  | ||||||
|  | @ -1,66 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Common CPLB definitions for CPLB init |  | ||||||
|  * |  | ||||||
|  * Copyright 2006-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_CPLBINIT_H__ |  | ||||||
| #define __ASM_CPLBINIT_H__ |  | ||||||
| 
 |  | ||||||
| #include <asm/blackfin.h> |  | ||||||
| #include <asm/cplb.h> |  | ||||||
| #include <linux/threads.h> |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_CPLB_SWITCH_TAB_L1 |  | ||||||
| # define PDT_ATTR __attribute__((l1_data)) |  | ||||||
| #else |  | ||||||
| # define PDT_ATTR |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| struct cplb_entry { |  | ||||||
| 	unsigned long data, addr; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| struct cplb_boundary { |  | ||||||
| 	unsigned long eaddr; /* End of this region.  */ |  | ||||||
| 	unsigned long data; /* CPLB data value.  */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| extern struct cplb_boundary dcplb_bounds[]; |  | ||||||
| extern struct cplb_boundary icplb_bounds[]; |  | ||||||
| extern int dcplb_nr_bounds, icplb_nr_bounds; |  | ||||||
| 
 |  | ||||||
| extern struct cplb_entry dcplb_tbl[NR_CPUS][MAX_CPLBS]; |  | ||||||
| extern struct cplb_entry icplb_tbl[NR_CPUS][MAX_CPLBS]; |  | ||||||
| extern int first_switched_icplb; |  | ||||||
| extern int first_switched_dcplb; |  | ||||||
| 
 |  | ||||||
| extern int nr_dcplb_miss[], nr_icplb_miss[], nr_icplb_supv_miss[]; |  | ||||||
| extern int nr_dcplb_prot[], nr_cplb_flush[]; |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_MPU |  | ||||||
| 
 |  | ||||||
| extern int first_mask_dcplb; |  | ||||||
| 
 |  | ||||||
| extern int page_mask_order; |  | ||||||
| extern int page_mask_nelts; |  | ||||||
| 
 |  | ||||||
| extern unsigned long *current_rwx_mask[NR_CPUS]; |  | ||||||
| 
 |  | ||||||
| extern void flush_switched_cplbs(unsigned int); |  | ||||||
| extern void set_mask_dcplbs(unsigned long *, unsigned int); |  | ||||||
| 
 |  | ||||||
| extern void __noreturn panic_cplb_error(int seqstat, struct pt_regs *); |  | ||||||
| 
 |  | ||||||
| #endif /* CONFIG_MPU */ |  | ||||||
| 
 |  | ||||||
| extern void bfin_icache_init(struct cplb_entry *icplb_tbl); |  | ||||||
| extern void bfin_dcache_init(struct cplb_entry *icplb_tbl); |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_BFIN_DCACHE) || defined(CONFIG_BFIN_ICACHE) |  | ||||||
| extern void generate_cplb_tables_all(void); |  | ||||||
| extern void generate_cplb_tables_cpu(unsigned int cpu); |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
|  | @ -1,24 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2007-2009 Analog Devices Inc. |  | ||||||
|  *                         Philippe Gerum <rpm@xenomai.org> |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BLACKFIN_CPU_H |  | ||||||
| #define __ASM_BLACKFIN_CPU_H |  | ||||||
| 
 |  | ||||||
| #include <linux/percpu.h> |  | ||||||
| 
 |  | ||||||
| struct blackfin_cpudata { |  | ||||||
| 	struct cpu cpu; |  | ||||||
| 	unsigned int imemctl; |  | ||||||
| 	unsigned int dmemctl; |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| 	struct task_struct *idle; |  | ||||||
| #endif |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| DECLARE_PER_CPU(struct blackfin_cpudata, cpu_data); |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,697 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Blackfin core register bit & address definitions |  | ||||||
|  * |  | ||||||
|  * Copyright 2005-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the Clear BSD license or GPL-2 (or later). |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _DEF_LPBLACKFIN_H |  | ||||||
| #define _DEF_LPBLACKFIN_H |  | ||||||
| 
 |  | ||||||
| #include <mach/anomaly.h> |  | ||||||
| 
 |  | ||||||
| #define MK_BMSK_(x) (1<<x) |  | ||||||
| #define BFIN_DEPOSIT(mask, x)	(((x) << __ffs(mask)) & (mask)) |  | ||||||
| #define BFIN_EXTRACT(mask, x)	(((x) & (mask)) >> __ffs(mask)) |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| 
 |  | ||||||
| #if ANOMALY_05000198 |  | ||||||
| # define NOP_PAD_ANOMALY_05000198 "nop;" |  | ||||||
| #else |  | ||||||
| # define NOP_PAD_ANOMALY_05000198 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define _bfin_readX(addr, size, asm_size, asm_ext) ({ \ |  | ||||||
| 	u32 __v; \ |  | ||||||
| 	__asm__ __volatile__( \ |  | ||||||
| 		NOP_PAD_ANOMALY_05000198 \ |  | ||||||
| 		"%0 = " #asm_size "[%1]" #asm_ext ";" \ |  | ||||||
| 		: "=d" (__v) \ |  | ||||||
| 		: "a" (addr) \ |  | ||||||
| 	); \ |  | ||||||
| 	__v; }) |  | ||||||
| #define _bfin_writeX(addr, val, size, asm_size) \ |  | ||||||
| 	__asm__ __volatile__( \ |  | ||||||
| 		NOP_PAD_ANOMALY_05000198 \ |  | ||||||
| 		#asm_size "[%0] = %1;" \ |  | ||||||
| 		: \ |  | ||||||
| 		: "a" (addr), "d" ((u##size)(val)) \ |  | ||||||
| 		: "memory" \ |  | ||||||
| 	) |  | ||||||
| 
 |  | ||||||
| #define bfin_read8(addr)  _bfin_readX(addr,  8, b, (z)) |  | ||||||
| #define bfin_read16(addr) _bfin_readX(addr, 16, w, (z)) |  | ||||||
| #define bfin_read32(addr) _bfin_readX(addr, 32,  ,    ) |  | ||||||
| #define bfin_write8(addr, val)  _bfin_writeX(addr, val,  8, b) |  | ||||||
| #define bfin_write16(addr, val) _bfin_writeX(addr, val, 16, w) |  | ||||||
| #define bfin_write32(addr, val) _bfin_writeX(addr, val, 32,  ) |  | ||||||
| 
 |  | ||||||
| #define bfin_read(addr) \ |  | ||||||
| ({ \ |  | ||||||
| 	sizeof(*(addr)) == 1 ? bfin_read8(addr)  : \ |  | ||||||
| 	sizeof(*(addr)) == 2 ? bfin_read16(addr) : \ |  | ||||||
| 	sizeof(*(addr)) == 4 ? bfin_read32(addr) : \ |  | ||||||
| 	({ BUG(); 0; }); \ |  | ||||||
| }) |  | ||||||
| #define bfin_write(addr, val) \ |  | ||||||
| do { \ |  | ||||||
| 	switch (sizeof(*(addr))) { \ |  | ||||||
| 	case 1: bfin_write8(addr, val);  break; \ |  | ||||||
| 	case 2: bfin_write16(addr, val); break; \ |  | ||||||
| 	case 4: bfin_write32(addr, val); break; \ |  | ||||||
| 	default: BUG(); \ |  | ||||||
| 	} \ |  | ||||||
| } while (0) |  | ||||||
| 
 |  | ||||||
| #define bfin_write_or(addr, bits) \ |  | ||||||
| do { \ |  | ||||||
| 	typeof(addr) __addr = (addr); \ |  | ||||||
| 	bfin_write(__addr, bfin_read(__addr) | (bits)); \ |  | ||||||
| } while (0) |  | ||||||
| 
 |  | ||||||
| #define bfin_write_and(addr, bits) \ |  | ||||||
| do { \ |  | ||||||
| 	typeof(addr) __addr = (addr); \ |  | ||||||
| 	bfin_write(__addr, bfin_read(__addr) & (bits)); \ |  | ||||||
| } while (0) |  | ||||||
| 
 |  | ||||||
| #endif /* __ASSEMBLY__ */ |  | ||||||
| 
 |  | ||||||
| /**************************************************
 |  | ||||||
|  * System Register Bits |  | ||||||
|  **************************************************/ |  | ||||||
| 
 |  | ||||||
| /**************************************************
 |  | ||||||
|  * ASTAT register |  | ||||||
|  **************************************************/ |  | ||||||
| 
 |  | ||||||
| /* definitions of ASTAT bit positions*/ |  | ||||||
| 
 |  | ||||||
| /*Result of last ALU0 or shifter operation is zero*/ |  | ||||||
| #define ASTAT_AZ_P         0x00000000 |  | ||||||
| /*Result of last ALU0 or shifter operation is negative*/ |  | ||||||
| #define ASTAT_AN_P         0x00000001 |  | ||||||
| /*Condition Code, used for holding comparison results*/ |  | ||||||
| #define ASTAT_CC_P         0x00000005 |  | ||||||
| /*Quotient Bit*/ |  | ||||||
| #define ASTAT_AQ_P         0x00000006 |  | ||||||
| /*Rounding mode, set for biased, clear for unbiased*/ |  | ||||||
| #define ASTAT_RND_MOD_P    0x00000008 |  | ||||||
| /*Result of last ALU0 operation generated a carry*/ |  | ||||||
| #define ASTAT_AC0_P        0x0000000C |  | ||||||
| /*Result of last ALU0 operation generated a carry*/ |  | ||||||
| #define ASTAT_AC0_COPY_P   0x00000002 |  | ||||||
| /*Result of last ALU1 operation generated a carry*/ |  | ||||||
| #define ASTAT_AC1_P        0x0000000D |  | ||||||
| /*Result of last ALU0 or MAC0 operation overflowed, sticky for MAC*/ |  | ||||||
| #define ASTAT_AV0_P        0x00000010 |  | ||||||
| /*Sticky version of ASTAT_AV0 */ |  | ||||||
| #define ASTAT_AV0S_P       0x00000011 |  | ||||||
| /*Result of last MAC1 operation overflowed, sticky for MAC*/ |  | ||||||
| #define ASTAT_AV1_P        0x00000012 |  | ||||||
| /*Sticky version of ASTAT_AV1 */ |  | ||||||
| #define ASTAT_AV1S_P       0x00000013 |  | ||||||
| /*Result of last ALU0 or MAC0 operation overflowed*/ |  | ||||||
| #define ASTAT_V_P          0x00000018 |  | ||||||
| /*Result of last ALU0 or MAC0 operation overflowed*/ |  | ||||||
| #define ASTAT_V_COPY_P     0x00000003 |  | ||||||
| /*Sticky version of ASTAT_V*/ |  | ||||||
| #define ASTAT_VS_P         0x00000019 |  | ||||||
| 
 |  | ||||||
| /* Masks */ |  | ||||||
| 
 |  | ||||||
| /*Result of last ALU0 or shifter operation is zero*/ |  | ||||||
| #define ASTAT_AZ           MK_BMSK_(ASTAT_AZ_P) |  | ||||||
| /*Result of last ALU0 or shifter operation is negative*/ |  | ||||||
| #define ASTAT_AN           MK_BMSK_(ASTAT_AN_P) |  | ||||||
| /*Result of last ALU0 operation generated a carry*/ |  | ||||||
| #define ASTAT_AC0          MK_BMSK_(ASTAT_AC0_P) |  | ||||||
| /*Result of last ALU0 operation generated a carry*/ |  | ||||||
| #define ASTAT_AC0_COPY     MK_BMSK_(ASTAT_AC0_COPY_P) |  | ||||||
| /*Result of last ALU0 operation generated a carry*/ |  | ||||||
| #define ASTAT_AC1          MK_BMSK_(ASTAT_AC1_P) |  | ||||||
| /*Result of last ALU0 or MAC0 operation overflowed, sticky for MAC*/ |  | ||||||
| #define ASTAT_AV0          MK_BMSK_(ASTAT_AV0_P) |  | ||||||
| /*Result of last MAC1 operation overflowed, sticky for MAC*/ |  | ||||||
| #define ASTAT_AV1          MK_BMSK_(ASTAT_AV1_P) |  | ||||||
| /*Condition Code, used for holding comparison results*/ |  | ||||||
| #define ASTAT_CC           MK_BMSK_(ASTAT_CC_P) |  | ||||||
| /*Quotient Bit*/ |  | ||||||
| #define ASTAT_AQ           MK_BMSK_(ASTAT_AQ_P) |  | ||||||
| /*Rounding mode, set for biased, clear for unbiased*/ |  | ||||||
| #define ASTAT_RND_MOD      MK_BMSK_(ASTAT_RND_MOD_P) |  | ||||||
| /*Overflow Bit*/ |  | ||||||
| #define ASTAT_V            MK_BMSK_(ASTAT_V_P) |  | ||||||
| /*Overflow Bit*/ |  | ||||||
| #define ASTAT_V_COPY       MK_BMSK_(ASTAT_V_COPY_P) |  | ||||||
| 
 |  | ||||||
| /**************************************************
 |  | ||||||
|  *   SEQSTAT register |  | ||||||
|  **************************************************/ |  | ||||||
| 
 |  | ||||||
| /* Bit Positions  */ |  | ||||||
| #define SEQSTAT_EXCAUSE0_P      0x00000000	/* Last exception cause bit 0 */ |  | ||||||
| #define SEQSTAT_EXCAUSE1_P      0x00000001	/* Last exception cause bit 1 */ |  | ||||||
| #define SEQSTAT_EXCAUSE2_P      0x00000002	/* Last exception cause bit 2 */ |  | ||||||
| #define SEQSTAT_EXCAUSE3_P      0x00000003	/* Last exception cause bit 3 */ |  | ||||||
| #define SEQSTAT_EXCAUSE4_P      0x00000004	/* Last exception cause bit 4 */ |  | ||||||
| #define SEQSTAT_EXCAUSE5_P      0x00000005	/* Last exception cause bit 5 */ |  | ||||||
| #define SEQSTAT_IDLE_REQ_P      0x0000000C	/* Pending idle mode request, |  | ||||||
| 						 * set by IDLE instruction. |  | ||||||
| 						 */ |  | ||||||
| #define SEQSTAT_SFTRESET_P      0x0000000D	/* Indicates whether the last |  | ||||||
| 						 * reset was a software reset |  | ||||||
| 						 * (=1) |  | ||||||
| 						 */ |  | ||||||
| #define SEQSTAT_HWERRCAUSE0_P   0x0000000E	/* Last hw error cause bit 0 */ |  | ||||||
| #define SEQSTAT_HWERRCAUSE1_P   0x0000000F	/* Last hw error cause bit 1 */ |  | ||||||
| #define SEQSTAT_HWERRCAUSE2_P   0x00000010	/* Last hw error cause bit 2 */ |  | ||||||
| #define SEQSTAT_HWERRCAUSE3_P   0x00000011	/* Last hw error cause bit 3 */ |  | ||||||
| #define SEQSTAT_HWERRCAUSE4_P   0x00000012	/* Last hw error cause bit 4 */ |  | ||||||
| /* Masks */ |  | ||||||
| /* Exception cause */ |  | ||||||
| #define SEQSTAT_EXCAUSE        (MK_BMSK_(SEQSTAT_EXCAUSE0_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_EXCAUSE1_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_EXCAUSE2_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_EXCAUSE3_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_EXCAUSE4_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_EXCAUSE5_P) | \ |  | ||||||
|                                 0) |  | ||||||
| 
 |  | ||||||
| /* Indicates whether the last reset was a software reset (=1) */ |  | ||||||
| #define SEQSTAT_SFTRESET       (MK_BMSK_(SEQSTAT_SFTRESET_P)) |  | ||||||
| 
 |  | ||||||
| /* Last hw error cause */ |  | ||||||
| #define SEQSTAT_HWERRCAUSE     (MK_BMSK_(SEQSTAT_HWERRCAUSE0_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_HWERRCAUSE1_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_HWERRCAUSE2_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_HWERRCAUSE3_P) | \ |  | ||||||
|                                 MK_BMSK_(SEQSTAT_HWERRCAUSE4_P) | \ |  | ||||||
|                                 0) |  | ||||||
| 
 |  | ||||||
| /* Translate bits to something useful */ |  | ||||||
| 
 |  | ||||||
| /* Last hw error cause */ |  | ||||||
| #define SEQSTAT_HWERRCAUSE_SHIFT         (14) |  | ||||||
| #define SEQSTAT_HWERRCAUSE_SYSTEM_MMR    (0x02 << SEQSTAT_HWERRCAUSE_SHIFT) |  | ||||||
| #define SEQSTAT_HWERRCAUSE_EXTERN_ADDR   (0x03 << SEQSTAT_HWERRCAUSE_SHIFT) |  | ||||||
| #define SEQSTAT_HWERRCAUSE_PERF_FLOW     (0x12 << SEQSTAT_HWERRCAUSE_SHIFT) |  | ||||||
| #define SEQSTAT_HWERRCAUSE_RAISE_5       (0x18 << SEQSTAT_HWERRCAUSE_SHIFT) |  | ||||||
| 
 |  | ||||||
| /**************************************************
 |  | ||||||
|  *   SYSCFG register |  | ||||||
|  **************************************************/ |  | ||||||
| 
 |  | ||||||
| /* Bit Positions */ |  | ||||||
| #define SYSCFG_SSSTEP_P     0x00000000	/* Supervisor single step, when |  | ||||||
| 					 * set it forces an exception |  | ||||||
| 					 * for each instruction executed |  | ||||||
| 					 */ |  | ||||||
| #define SYSCFG_CCEN_P       0x00000001	/* Enable cycle counter (=1) */ |  | ||||||
| #define SYSCFG_SNEN_P       0x00000002	/* Self nesting Interrupt Enable */ |  | ||||||
| 
 |  | ||||||
| /* Masks */ |  | ||||||
| 
 |  | ||||||
| /* Supervisor single step, when set it forces an exception for each
 |  | ||||||
|  *instruction executed |  | ||||||
|  */ |  | ||||||
| #define SYSCFG_SSSTEP         MK_BMSK_(SYSCFG_SSSTEP_P ) |  | ||||||
| /* Enable cycle counter (=1) */ |  | ||||||
| #define SYSCFG_CCEN           MK_BMSK_(SYSCFG_CCEN_P ) |  | ||||||
| /* Self Nesting Interrupt Enable */ |  | ||||||
| #define SYSCFG_SNEN	       MK_BMSK_(SYSCFG_SNEN_P) |  | ||||||
| /* Backward-compatibility for typos in prior releases */ |  | ||||||
| #define SYSCFG_SSSSTEP         SYSCFG_SSSTEP |  | ||||||
| #define SYSCFG_CCCEN           SYSCFG_CCEN |  | ||||||
| 
 |  | ||||||
| /****************************************************
 |  | ||||||
|  * Core MMR Register Map |  | ||||||
|  ****************************************************/ |  | ||||||
| 
 |  | ||||||
| /* Data Cache & SRAM Memory  (0xFFE00000 - 0xFFE00404) */ |  | ||||||
| 
 |  | ||||||
| #define SRAM_BASE_ADDRESS  0xFFE00000	/* SRAM Base Address Register */ |  | ||||||
| #define DMEM_CONTROL       0xFFE00004	/* Data memory control */ |  | ||||||
| #define DCPLB_STATUS       0xFFE00008	/* Data Cache Programmable Look-Aside |  | ||||||
| 					 * Buffer Status |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_FAULT_STATUS 0xFFE00008	/* "" (older define) */ |  | ||||||
| #define DCPLB_FAULT_ADDR   0xFFE0000C	/* Data Cache Programmable Look-Aside |  | ||||||
| 					 * Buffer Fault Address |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR0        0xFFE00100	/* Data Cache Protection Lookaside |  | ||||||
| 					 * Buffer 0 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR1        0xFFE00104	/* Data Cache Protection Lookaside |  | ||||||
| 					 * Buffer 1 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR2        0xFFE00108	/* Data Cache Protection Lookaside |  | ||||||
| 					 * Buffer 2 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR3        0xFFE0010C	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 3 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR4        0xFFE00110	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 4 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR5        0xFFE00114	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 5 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR6        0xFFE00118	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 6 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR7        0xFFE0011C	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 7 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR8        0xFFE00120	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 8 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR9        0xFFE00124	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 9 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR10       0xFFE00128	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 10 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR11       0xFFE0012C	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 11 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR12       0xFFE00130	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 12 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR13       0xFFE00134	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 13 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR14       0xFFE00138	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 14 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_ADDR15       0xFFE0013C	/* Data Cacheability Protection |  | ||||||
| 					 * Lookaside Buffer 15 |  | ||||||
| 					 */ |  | ||||||
| #define DCPLB_DATA0        0xFFE00200	/* Data Cache 0 Status */ |  | ||||||
| #define DCPLB_DATA1        0xFFE00204	/* Data Cache 1 Status */ |  | ||||||
| #define DCPLB_DATA2        0xFFE00208	/* Data Cache 2 Status */ |  | ||||||
| #define DCPLB_DATA3        0xFFE0020C	/* Data Cache 3 Status */ |  | ||||||
| #define DCPLB_DATA4        0xFFE00210	/* Data Cache 4 Status */ |  | ||||||
| #define DCPLB_DATA5        0xFFE00214	/* Data Cache 5 Status */ |  | ||||||
| #define DCPLB_DATA6        0xFFE00218	/* Data Cache 6 Status */ |  | ||||||
| #define DCPLB_DATA7        0xFFE0021C	/* Data Cache 7 Status */ |  | ||||||
| #define DCPLB_DATA8        0xFFE00220	/* Data Cache 8 Status */ |  | ||||||
| #define DCPLB_DATA9        0xFFE00224	/* Data Cache 9 Status */ |  | ||||||
| #define DCPLB_DATA10       0xFFE00228	/* Data Cache 10 Status */ |  | ||||||
| #define DCPLB_DATA11       0xFFE0022C	/* Data Cache 11 Status */ |  | ||||||
| #define DCPLB_DATA12       0xFFE00230	/* Data Cache 12 Status */ |  | ||||||
| #define DCPLB_DATA13       0xFFE00234	/* Data Cache 13 Status */ |  | ||||||
| #define DCPLB_DATA14       0xFFE00238	/* Data Cache 14 Status */ |  | ||||||
| #define DCPLB_DATA15       0xFFE0023C	/* Data Cache 15 Status */ |  | ||||||
| #define DCPLB_DATA16       0xFFE00240	/* Extra Dummy entry */ |  | ||||||
| 
 |  | ||||||
| #define DTEST_COMMAND      0xFFE00300	/* Data Test Command Register */ |  | ||||||
| #define DTEST_DATA0        0xFFE00400	/* Data Test Data Register */ |  | ||||||
| #define DTEST_DATA1        0xFFE00404	/* Data Test Data Register */ |  | ||||||
| 
 |  | ||||||
| /* Instruction Cache & SRAM Memory  (0xFFE01004 - 0xFFE01404) */ |  | ||||||
| 
 |  | ||||||
| #define IMEM_CONTROL       0xFFE01004	/* Instruction Memory Control */ |  | ||||||
| #define ICPLB_STATUS       0xFFE01008	/* Instruction Cache miss status */ |  | ||||||
| #define CODE_FAULT_STATUS  0xFFE01008	/* "" (older define) */ |  | ||||||
| #define ICPLB_FAULT_ADDR   0xFFE0100C	/* Instruction Cache miss address */ |  | ||||||
| #define CODE_FAULT_ADDR    0xFFE0100C	/* "" (older define) */ |  | ||||||
| #define ICPLB_ADDR0        0xFFE01100	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 0 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR1        0xFFE01104	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 1 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR2        0xFFE01108	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 2 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR3        0xFFE0110C	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 3 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR4        0xFFE01110	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 4 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR5        0xFFE01114	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 5 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR6        0xFFE01118	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 6 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR7        0xFFE0111C	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 7 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR8        0xFFE01120	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 8 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR9        0xFFE01124	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 9 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR10       0xFFE01128	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 10 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR11       0xFFE0112C	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 11 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR12       0xFFE01130	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 12 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR13       0xFFE01134	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 13 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR14       0xFFE01138	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 14 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_ADDR15       0xFFE0113C	/* Instruction Cacheability |  | ||||||
| 					 * Protection Lookaside Buffer 15 |  | ||||||
| 					 */ |  | ||||||
| #define ICPLB_DATA0        0xFFE01200	/* Instruction Cache 0 Status */ |  | ||||||
| #define ICPLB_DATA1        0xFFE01204	/* Instruction Cache 1 Status */ |  | ||||||
| #define ICPLB_DATA2        0xFFE01208	/* Instruction Cache 2 Status */ |  | ||||||
| #define ICPLB_DATA3        0xFFE0120C	/* Instruction Cache 3 Status */ |  | ||||||
| #define ICPLB_DATA4        0xFFE01210	/* Instruction Cache 4 Status */ |  | ||||||
| #define ICPLB_DATA5        0xFFE01214	/* Instruction Cache 5 Status */ |  | ||||||
| #define ICPLB_DATA6        0xFFE01218	/* Instruction Cache 6 Status */ |  | ||||||
| #define ICPLB_DATA7        0xFFE0121C	/* Instruction Cache 7 Status */ |  | ||||||
| #define ICPLB_DATA8        0xFFE01220	/* Instruction Cache 8 Status */ |  | ||||||
| #define ICPLB_DATA9        0xFFE01224	/* Instruction Cache 9 Status */ |  | ||||||
| #define ICPLB_DATA10       0xFFE01228	/* Instruction Cache 10 Status */ |  | ||||||
| #define ICPLB_DATA11       0xFFE0122C	/* Instruction Cache 11 Status */ |  | ||||||
| #define ICPLB_DATA12       0xFFE01230	/* Instruction Cache 12 Status */ |  | ||||||
| #define ICPLB_DATA13       0xFFE01234	/* Instruction Cache 13 Status */ |  | ||||||
| #define ICPLB_DATA14       0xFFE01238	/* Instruction Cache 14 Status */ |  | ||||||
| #define ICPLB_DATA15       0xFFE0123C	/* Instruction Cache 15 Status */ |  | ||||||
| #define ITEST_COMMAND      0xFFE01300	/* Instruction Test Command Register */ |  | ||||||
| #define ITEST_DATA0        0xFFE01400	/* Instruction Test Data Register */ |  | ||||||
| #define ITEST_DATA1        0xFFE01404	/* Instruction Test Data Register */ |  | ||||||
| 
 |  | ||||||
| /* Event/Interrupt Controller Registers   (0xFFE02000 - 0xFFE02110) */ |  | ||||||
| 
 |  | ||||||
| #define EVT0               0xFFE02000	/* Event Vector 0 ESR Address */ |  | ||||||
| #define EVT1               0xFFE02004	/* Event Vector 1 ESR Address */ |  | ||||||
| #define EVT2               0xFFE02008	/* Event Vector 2 ESR Address */ |  | ||||||
| #define EVT3               0xFFE0200C	/* Event Vector 3 ESR Address */ |  | ||||||
| #define EVT4               0xFFE02010	/* Event Vector 4 ESR Address */ |  | ||||||
| #define EVT5               0xFFE02014	/* Event Vector 5 ESR Address */ |  | ||||||
| #define EVT6               0xFFE02018	/* Event Vector 6 ESR Address */ |  | ||||||
| #define EVT7               0xFFE0201C	/* Event Vector 7 ESR Address */ |  | ||||||
| #define EVT8               0xFFE02020	/* Event Vector 8 ESR Address */ |  | ||||||
| #define EVT9               0xFFE02024	/* Event Vector 9 ESR Address */ |  | ||||||
| #define EVT10              0xFFE02028	/* Event Vector 10 ESR Address */ |  | ||||||
| #define EVT11              0xFFE0202C	/* Event Vector 11 ESR Address */ |  | ||||||
| #define EVT12              0xFFE02030	/* Event Vector 12 ESR Address */ |  | ||||||
| #define EVT13              0xFFE02034	/* Event Vector 13 ESR Address */ |  | ||||||
| #define EVT14              0xFFE02038	/* Event Vector 14 ESR Address */ |  | ||||||
| #define EVT15              0xFFE0203C	/* Event Vector 15 ESR Address */ |  | ||||||
| #define EVT_OVERRIDE       0xFFE02100	/* Event Vector Override Register */ |  | ||||||
| #define IMASK              0xFFE02104	/* Interrupt Mask Register */ |  | ||||||
| #define IPEND              0xFFE02108	/* Interrupt Pending Register */ |  | ||||||
| #define ILAT               0xFFE0210C	/* Interrupt Latch Register */ |  | ||||||
| #define IPRIO              0xFFE02110	/* Core Interrupt Priority Register */ |  | ||||||
| 
 |  | ||||||
| /* Core Timer Registers     (0xFFE03000 - 0xFFE0300C) */ |  | ||||||
| 
 |  | ||||||
| #define TCNTL              0xFFE03000	/* Core Timer Control Register */ |  | ||||||
| #define TPERIOD            0xFFE03004	/* Core Timer Period Register */ |  | ||||||
| #define TSCALE             0xFFE03008	/* Core Timer Scale Register */ |  | ||||||
| #define TCOUNT             0xFFE0300C	/* Core Timer Count Register */ |  | ||||||
| 
 |  | ||||||
| /* Debug/MP/Emulation Registers     (0xFFE05000 - 0xFFE05008) */ |  | ||||||
| #define DSPID              0xFFE05000	/* DSP Processor ID Register for |  | ||||||
| 					 * MP implementations |  | ||||||
| 					 */ |  | ||||||
| 
 |  | ||||||
| #define DBGSTAT            0xFFE05008	/* Debug Status Register */ |  | ||||||
| 
 |  | ||||||
| /* Trace Buffer Registers     (0xFFE06000 - 0xFFE06100) */ |  | ||||||
| 
 |  | ||||||
| #define TBUFCTL            0xFFE06000	/* Trace Buffer Control Register */ |  | ||||||
| #define TBUFSTAT           0xFFE06004	/* Trace Buffer Status Register */ |  | ||||||
| #define TBUF               0xFFE06100	/* Trace Buffer */ |  | ||||||
| 
 |  | ||||||
| /* Watchpoint Control Registers (0xFFE07000 - 0xFFE07200) */ |  | ||||||
| 
 |  | ||||||
| /* Watchpoint Instruction Address Control Register */ |  | ||||||
| #define WPIACTL            0xFFE07000 |  | ||||||
| /* Watchpoint Instruction Address Register 0 */ |  | ||||||
| #define WPIA0              0xFFE07040 |  | ||||||
| /* Watchpoint Instruction Address Register 1 */ |  | ||||||
| #define WPIA1              0xFFE07044 |  | ||||||
| /* Watchpoint Instruction Address Register 2 */ |  | ||||||
| #define WPIA2              0xFFE07048 |  | ||||||
| /* Watchpoint Instruction Address Register 3 */ |  | ||||||
| #define WPIA3              0xFFE0704C |  | ||||||
| /* Watchpoint Instruction Address Register 4 */ |  | ||||||
| #define WPIA4              0xFFE07050 |  | ||||||
| /* Watchpoint Instruction Address Register 5 */ |  | ||||||
| #define WPIA5              0xFFE07054 |  | ||||||
| /* Watchpoint Instruction Address Count Register 0 */ |  | ||||||
| #define WPIACNT0           0xFFE07080 |  | ||||||
| /* Watchpoint Instruction Address Count Register 1 */ |  | ||||||
| #define WPIACNT1           0xFFE07084 |  | ||||||
| /* Watchpoint Instruction Address Count Register 2 */ |  | ||||||
| #define WPIACNT2           0xFFE07088 |  | ||||||
| /* Watchpoint Instruction Address Count Register 3 */ |  | ||||||
| #define WPIACNT3           0xFFE0708C |  | ||||||
| /* Watchpoint Instruction Address Count Register 4 */ |  | ||||||
| #define WPIACNT4           0xFFE07090 |  | ||||||
| /* Watchpoint Instruction Address Count Register 5 */ |  | ||||||
| #define WPIACNT5           0xFFE07094 |  | ||||||
| /* Watchpoint Data Address Control Register */ |  | ||||||
| #define WPDACTL            0xFFE07100 |  | ||||||
| /* Watchpoint Data Address Register 0 */ |  | ||||||
| #define WPDA0              0xFFE07140 |  | ||||||
| /* Watchpoint Data Address Register 1 */ |  | ||||||
| #define WPDA1              0xFFE07144 |  | ||||||
| /* Watchpoint Data Address Count Value Register 0 */ |  | ||||||
| #define WPDACNT0           0xFFE07180 |  | ||||||
| /* Watchpoint Data Address Count Value Register 1 */ |  | ||||||
| #define WPDACNT1           0xFFE07184 |  | ||||||
| /* Watchpoint Status Register */ |  | ||||||
| #define WPSTAT             0xFFE07200 |  | ||||||
| 
 |  | ||||||
| /* Performance Monitor Registers    (0xFFE08000 - 0xFFE08104) */ |  | ||||||
| 
 |  | ||||||
| /* Performance Monitor Control Register */ |  | ||||||
| #define PFCTL              0xFFE08000 |  | ||||||
| /* Performance Monitor Counter Register 0 */ |  | ||||||
| #define PFCNTR0            0xFFE08100 |  | ||||||
| /* Performance Monitor Counter Register 1 */ |  | ||||||
| #define PFCNTR1            0xFFE08104 |  | ||||||
| 
 |  | ||||||
| /****************************************************
 |  | ||||||
|  * Core MMR Register Bits |  | ||||||
|  ****************************************************/ |  | ||||||
| 
 |  | ||||||
| /**************************************************
 |  | ||||||
|  * EVT registers (ILAT, IMASK, and IPEND). |  | ||||||
|  **************************************************/ |  | ||||||
| 
 |  | ||||||
| /* Bit Positions */ |  | ||||||
| #define EVT_EMU_P        0x00000000	/* Emulator interrupt bit position */ |  | ||||||
| #define EVT_RST_P        0x00000001	/* Reset interrupt bit position */ |  | ||||||
| #define EVT_NMI_P        0x00000002	/* Non Maskable interrupt bit position */ |  | ||||||
| #define EVT_EVX_P        0x00000003	/* Exception bit position */ |  | ||||||
| #define EVT_IRPTEN_P     0x00000004	/* Global interrupt enable bit position */ |  | ||||||
| #define EVT_IVHW_P       0x00000005	/* Hardware Error interrupt bit position */ |  | ||||||
| #define EVT_IVTMR_P      0x00000006	/* Timer interrupt bit position */ |  | ||||||
| #define EVT_IVG7_P       0x00000007	/* IVG7 interrupt bit position */ |  | ||||||
| #define EVT_IVG8_P       0x00000008	/* IVG8 interrupt bit position */ |  | ||||||
| #define EVT_IVG9_P       0x00000009	/* IVG9 interrupt bit position */ |  | ||||||
| #define EVT_IVG10_P      0x0000000a	/* IVG10 interrupt bit position */ |  | ||||||
| #define EVT_IVG11_P      0x0000000b	/* IVG11 interrupt bit position */ |  | ||||||
| #define EVT_IVG12_P      0x0000000c	/* IVG12 interrupt bit position */ |  | ||||||
| #define EVT_IVG13_P      0x0000000d	/* IVG13 interrupt bit position */ |  | ||||||
| #define EVT_IVG14_P      0x0000000e	/* IVG14 interrupt bit position */ |  | ||||||
| #define EVT_IVG15_P      0x0000000f	/* IVG15 interrupt bit position */ |  | ||||||
| 
 |  | ||||||
| /* Masks */ |  | ||||||
| #define EVT_EMU       MK_BMSK_(EVT_EMU_P   )	/* Emulator interrupt mask */ |  | ||||||
| #define EVT_RST       MK_BMSK_(EVT_RST_P   )	/* Reset interrupt mask */ |  | ||||||
| #define EVT_NMI       MK_BMSK_(EVT_NMI_P   )	/* Non Maskable interrupt mask */ |  | ||||||
| #define EVT_EVX       MK_BMSK_(EVT_EVX_P   )	/* Exception mask */ |  | ||||||
| #define EVT_IRPTEN    MK_BMSK_(EVT_IRPTEN_P)	/* Global interrupt enable mask */ |  | ||||||
| #define EVT_IVHW      MK_BMSK_(EVT_IVHW_P  )	/* Hardware Error interrupt mask */ |  | ||||||
| #define EVT_IVTMR     MK_BMSK_(EVT_IVTMR_P )	/* Timer interrupt mask */ |  | ||||||
| #define EVT_IVG7      MK_BMSK_(EVT_IVG7_P  )	/* IVG7 interrupt mask */ |  | ||||||
| #define EVT_IVG8      MK_BMSK_(EVT_IVG8_P  )	/* IVG8 interrupt mask */ |  | ||||||
| #define EVT_IVG9      MK_BMSK_(EVT_IVG9_P  )	/* IVG9 interrupt mask */ |  | ||||||
| #define EVT_IVG10     MK_BMSK_(EVT_IVG10_P )	/* IVG10 interrupt mask */ |  | ||||||
| #define EVT_IVG11     MK_BMSK_(EVT_IVG11_P )	/* IVG11 interrupt mask */ |  | ||||||
| #define EVT_IVG12     MK_BMSK_(EVT_IVG12_P )	/* IVG12 interrupt mask */ |  | ||||||
| #define EVT_IVG13     MK_BMSK_(EVT_IVG13_P )	/* IVG13 interrupt mask */ |  | ||||||
| #define EVT_IVG14     MK_BMSK_(EVT_IVG14_P )	/* IVG14 interrupt mask */ |  | ||||||
| #define EVT_IVG15     MK_BMSK_(EVT_IVG15_P )	/* IVG15 interrupt mask */ |  | ||||||
| 
 |  | ||||||
| /**************************************************
 |  | ||||||
|  *  DMEM_CONTROL Register |  | ||||||
|  **************************************************/ |  | ||||||
| /* Bit Positions */ |  | ||||||
| #define ENDM_P			0x00	/* (doesn't really exist) Enable |  | ||||||
| 					 *Data Memory L1 |  | ||||||
| 					 */ |  | ||||||
| #define DMCTL_ENDM_P		ENDM_P	/* "" (older define) */ |  | ||||||
| 
 |  | ||||||
| #define ENDCPLB_P		0x01	/* Enable DCPLBS */ |  | ||||||
| #define DMCTL_ENDCPLB_P		ENDCPLB_P	/* "" (older define) */ |  | ||||||
| #define DMC0_P			0x02	/* L1 Data Memory Configure bit 0 */ |  | ||||||
| #define DMCTL_DMC0_P		DMC0_P	/* "" (older define) */ |  | ||||||
| #define DMC1_P			0x03	/* L1 Data Memory Configure bit 1 */ |  | ||||||
| #define DMCTL_DMC1_P		DMC1_P	/* "" (older define) */ |  | ||||||
| #define DCBS_P			0x04	/* L1 Data Cache Bank Select */ |  | ||||||
| #define PORT_PREF0_P		0x12	/* DAG0 Port Preference */ |  | ||||||
| #define PORT_PREF1_P		0x13	/* DAG1 Port Preference */ |  | ||||||
| #define RDCHK			0x9	/* Enable L1 Parity Check */ |  | ||||||
| 
 |  | ||||||
| /* Masks */ |  | ||||||
| #define ENDM               0x00000001	/* (doesn't really exist) Enable |  | ||||||
| 					 * Data Memory L1 |  | ||||||
| 					 */ |  | ||||||
| #define ENDCPLB            0x00000002	/* Enable DCPLB */ |  | ||||||
| #define ASRAM_BSRAM        0x00000000 |  | ||||||
| #define ACACHE_BSRAM       0x00000008 |  | ||||||
| #define ACACHE_BCACHE      0x0000000C |  | ||||||
| #define DCBS               0x00000010	/*  L1 Data Cache Bank Select */ |  | ||||||
| #define PORT_PREF0	   0x00001000	/* DAG0 Port Preference */ |  | ||||||
| #define PORT_PREF1	   0x00002000	/* DAG1 Port Preference */ |  | ||||||
| 
 |  | ||||||
| /* IMEM_CONTROL Register */ |  | ||||||
| /* Bit Positions */ |  | ||||||
| #define ENIM_P			0x00	/* Enable L1 Code Memory  */ |  | ||||||
| #define IMCTL_ENIM_P            0x00	/* "" (older define) */ |  | ||||||
| #define ENICPLB_P		0x01	/* Enable ICPLB */ |  | ||||||
| #define IMCTL_ENICPLB_P		0x01	/* "" (older define) */ |  | ||||||
| #define IMC_P			0x02	/* Enable  */ |  | ||||||
| #define IMCTL_IMC_P		0x02	/* Configure L1 code memory as |  | ||||||
| 					 * cache (0=SRAM) |  | ||||||
| 					 */ |  | ||||||
| #define ILOC0_P			0x03	/* Lock Way 0 */ |  | ||||||
| #define ILOC1_P			0x04	/* Lock Way 1 */ |  | ||||||
| #define ILOC2_P			0x05	/* Lock Way 2 */ |  | ||||||
| #define ILOC3_P			0x06	/* Lock Way 3 */ |  | ||||||
| #define LRUPRIORST_P		0x0D	/* Least Recently Used Replacement |  | ||||||
| 					 * Priority |  | ||||||
| 					 */ |  | ||||||
| /* Masks */ |  | ||||||
| #define ENIM               0x00000001	/* Enable L1 Code Memory */ |  | ||||||
| #define ENICPLB            0x00000002	/* Enable ICPLB */ |  | ||||||
| #define IMC                0x00000004	/* Configure L1 code memory as |  | ||||||
| 					 * cache (0=SRAM) |  | ||||||
| 					 */ |  | ||||||
| #define ILOC0		   0x00000008	/* Lock Way 0 */ |  | ||||||
| #define ILOC1		   0x00000010	/* Lock Way 1 */ |  | ||||||
| #define ILOC2		   0x00000020	/* Lock Way 2 */ |  | ||||||
| #define ILOC3		   0x00000040	/* Lock Way 3 */ |  | ||||||
| #define LRUPRIORST	   0x00002000	/* Least Recently Used Replacement |  | ||||||
| 					 * Priority |  | ||||||
| 					 */ |  | ||||||
| 
 |  | ||||||
| /* TCNTL Masks */ |  | ||||||
| #define TMPWR              0x00000001	/* Timer Low Power Control, |  | ||||||
| 					 * 0=low power mode, 1=active state |  | ||||||
| 					 */ |  | ||||||
| #define TMREN              0x00000002	/* Timer enable, 0=disable, 1=enable */ |  | ||||||
| #define TAUTORLD           0x00000004	/* Timer auto reload */ |  | ||||||
| #define TINT               0x00000008	/* Timer generated interrupt 0=no |  | ||||||
| 					 * interrupt has been generated, |  | ||||||
| 					 * 1=interrupt has been generated |  | ||||||
| 					 * (sticky) |  | ||||||
| 					 */ |  | ||||||
| 
 |  | ||||||
| /* DCPLB_DATA and ICPLB_DATA Registers */ |  | ||||||
| /* Bit Positions */ |  | ||||||
| #define CPLB_VALID_P       0x00000000	/* 0=invalid entry, 1=valid entry */ |  | ||||||
| #define CPLB_LOCK_P        0x00000001	/* 0=entry may be replaced, 1=entry |  | ||||||
| 					 * locked |  | ||||||
| 					 */ |  | ||||||
| #define CPLB_USER_RD_P     0x00000002	/* 0=no read access, 1=read access |  | ||||||
| 					 * allowed (user mode) |  | ||||||
| 					 */ |  | ||||||
| /* Masks */ |  | ||||||
| #define CPLB_VALID         0x00000001	/* 0=invalid entry, 1=valid entry */ |  | ||||||
| #define CPLB_LOCK          0x00000002	/* 0=entry may be replaced, 1=entry |  | ||||||
| 					 * locked |  | ||||||
| 					 */ |  | ||||||
| #define CPLB_USER_RD       0x00000004	/* 0=no read access, 1=read access |  | ||||||
| 					 * allowed (user mode) |  | ||||||
| 					 */ |  | ||||||
| 
 |  | ||||||
| #define PAGE_SIZE_1KB      0x00000000	/* 1 KB page size */ |  | ||||||
| #define PAGE_SIZE_4KB      0x00010000	/* 4 KB page size */ |  | ||||||
| #define PAGE_SIZE_1MB      0x00020000	/* 1 MB page size */ |  | ||||||
| #define PAGE_SIZE_4MB      0x00030000	/* 4 MB page size */ |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| #define PAGE_SIZE_16KB     0x00040000	/* 16 KB page size */ |  | ||||||
| #define PAGE_SIZE_64KB     0x00050000	/* 64 KB page size */ |  | ||||||
| #define PAGE_SIZE_16MB     0x00060000	/* 16 MB page size */ |  | ||||||
| #define PAGE_SIZE_64MB     0x00070000	/* 64 MB page size */ |  | ||||||
| #endif |  | ||||||
| #define CPLB_L1SRAM        0x00000020	/* 0=SRAM mapped in L1, 0=SRAM not |  | ||||||
| 					 * mapped to L1 |  | ||||||
| 					 */ |  | ||||||
| #define CPLB_PORTPRIO	   0x00000200	/* 0=low priority port, 1= high |  | ||||||
| 					 * priority port |  | ||||||
| 					 */ |  | ||||||
| #define CPLB_L1_CHBL       0x00001000	/* 0=non-cacheable in L1, 1=cacheable |  | ||||||
| 					 * in L1 |  | ||||||
| 					 */ |  | ||||||
| /* ICPLB_DATA only */ |  | ||||||
| #define CPLB_LRUPRIO	   0x00000100	/* 0=can be replaced by any line, |  | ||||||
| 					 * 1=priority for non-replacement |  | ||||||
| 					 */ |  | ||||||
| /* DCPLB_DATA only */ |  | ||||||
| #define CPLB_USER_WR       0x00000008	/* 0=no write access, 0=write |  | ||||||
| 					 * access allowed (user mode) |  | ||||||
| 					 */ |  | ||||||
| #define CPLB_SUPV_WR       0x00000010	/* 0=no write access, 0=write |  | ||||||
| 					 * access allowed (supervisor mode) |  | ||||||
| 					 */ |  | ||||||
| #define CPLB_DIRTY         0x00000080	/* 1=dirty, 0=clean */ |  | ||||||
| #define CPLB_L1_AOW	   0x00008000	/* 0=do not allocate cache lines on |  | ||||||
| 					 * write-through writes, |  | ||||||
| 					 * 1= allocate cache lines on |  | ||||||
| 					 * write-through writes. |  | ||||||
| 					 */ |  | ||||||
| #define CPLB_WT            0x00004000	/* 0=write-back, 1=write-through */ |  | ||||||
| 
 |  | ||||||
| #define CPLB_ALL_ACCESS CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR |  | ||||||
| 
 |  | ||||||
| /* TBUFCTL Masks */ |  | ||||||
| #define TBUFPWR            0x0001 |  | ||||||
| #define TBUFEN             0x0002 |  | ||||||
| #define TBUFOVF            0x0004 |  | ||||||
| #define TBUFCMPLP_SINGLE   0x0008 |  | ||||||
| #define TBUFCMPLP_DOUBLE   0x0010 |  | ||||||
| #define TBUFCMPLP          (TBUFCMPLP_SINGLE | TBUFCMPLP_DOUBLE) |  | ||||||
| 
 |  | ||||||
| /* TBUFSTAT Masks */ |  | ||||||
| #define TBUFCNT            0x001F |  | ||||||
| 
 |  | ||||||
| /* ITEST_COMMAND and DTEST_COMMAND Registers */ |  | ||||||
| /* Masks */ |  | ||||||
| #define TEST_READ	   0x00000000	/* Read Access */ |  | ||||||
| #define TEST_WRITE	   0x00000002	/* Write Access */ |  | ||||||
| #define TEST_TAG	   0x00000000	/* Access TAG */ |  | ||||||
| #define TEST_DATA	   0x00000004	/* Access DATA */ |  | ||||||
| #define TEST_DW0	   0x00000000	/* Select Double Word 0 */ |  | ||||||
| #define TEST_DW1	   0x00000008	/* Select Double Word 1 */ |  | ||||||
| #define TEST_DW2	   0x00000010	/* Select Double Word 2 */ |  | ||||||
| #define TEST_DW3	   0x00000018	/* Select Double Word 3 */ |  | ||||||
| #define TEST_MB0	   0x00000000	/* Select Mini-Bank 0 */ |  | ||||||
| #define TEST_MB1	   0x00010000	/* Select Mini-Bank 1 */ |  | ||||||
| #define TEST_MB2	   0x00020000	/* Select Mini-Bank 2 */ |  | ||||||
| #define TEST_MB3	   0x00030000	/* Select Mini-Bank 3 */ |  | ||||||
| #define TEST_SET(x)	   ((x << 5) & 0x03E0)	/* Set Index 0->31 */ |  | ||||||
| #define TEST_WAY0	   0x00000000	/* Access Way0 */ |  | ||||||
| #define TEST_WAY1	   0x04000000	/* Access Way1 */ |  | ||||||
| /* ITEST_COMMAND only */ |  | ||||||
| #define TEST_WAY2	   0x08000000	/* Access Way2 */ |  | ||||||
| #define TEST_WAY3	   0x0C000000	/* Access Way3 */ |  | ||||||
| /* DTEST_COMMAND only */ |  | ||||||
| #define TEST_BNKSELA	   0x00000000	/* Access SuperBank A */ |  | ||||||
| #define TEST_BNKSELB	   0x00800000	/* Access SuperBank B */ |  | ||||||
| 
 |  | ||||||
| #endif				/* _DEF_LPBLACKFIN_H */ |  | ||||||
|  | @ -1,51 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * delay.h - delay functions |  | ||||||
|  * |  | ||||||
|  * Copyright (c) 2004-2007 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_DELAY_H__ |  | ||||||
| #define __ASM_DELAY_H__ |  | ||||||
| 
 |  | ||||||
| #include <mach/anomaly.h> |  | ||||||
| 
 |  | ||||||
| static inline void __delay(unsigned long loops) |  | ||||||
| { |  | ||||||
| __asm__ __volatile__ ( |  | ||||||
| 			"LSETUP(1f, 1f) LC0 = %0;" |  | ||||||
| 			"1: NOP;" |  | ||||||
| 			: |  | ||||||
| 			: "a" (loops) |  | ||||||
| 			: "LT0", "LB0", "LC0" |  | ||||||
| 		); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #include <linux/param.h>	/* needed for HZ */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * close approximation borrowed from m68knommu to avoid 64-bit math |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #define	HZSCALE		(268435456 / (1000000/HZ)) |  | ||||||
| 
 |  | ||||||
| static inline unsigned long __to_delay(unsigned long scale) |  | ||||||
| { |  | ||||||
| 	extern unsigned long loops_per_jiffy; |  | ||||||
| 	return (((scale * HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void udelay(unsigned long usecs) |  | ||||||
| { |  | ||||||
| 	__delay(__to_delay(usecs)); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void ndelay(unsigned long nsecs) |  | ||||||
| { |  | ||||||
| 	__delay(__to_delay(1) * nsecs / 1000); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #define ndelay ndelay |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,46 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_DMA_MAPPING_H |  | ||||||
| #define _BLACKFIN_DMA_MAPPING_H |  | ||||||
| 
 |  | ||||||
| #include <asm/cacheflush.h> |  | ||||||
| 
 |  | ||||||
| extern void |  | ||||||
| __dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir); |  | ||||||
| static inline void |  | ||||||
| __dma_sync_inline(dma_addr_t addr, size_t size, enum dma_data_direction dir) |  | ||||||
| { |  | ||||||
| 	switch (dir) { |  | ||||||
| 	case DMA_NONE: |  | ||||||
| 		BUG(); |  | ||||||
| 	case DMA_TO_DEVICE:		/* writeback only */ |  | ||||||
| 		flush_dcache_range(addr, addr + size); |  | ||||||
| 		break; |  | ||||||
| 	case DMA_FROM_DEVICE: /* invalidate only */ |  | ||||||
| 	case DMA_BIDIRECTIONAL: /* flush and invalidate */ |  | ||||||
| 		/* Blackfin has no dedicated invalidate (it includes a flush) */ |  | ||||||
| 		invalidate_dcache_range(addr, addr + size); |  | ||||||
| 		break; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| static inline void |  | ||||||
| _dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir) |  | ||||||
| { |  | ||||||
| 	if (__builtin_constant_p(dir)) |  | ||||||
| 		__dma_sync_inline(addr, size, dir); |  | ||||||
| 	else |  | ||||||
| 		__dma_sync(addr, size, dir); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| extern const struct dma_map_ops bfin_dma_ops; |  | ||||||
| 
 |  | ||||||
| static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus) |  | ||||||
| { |  | ||||||
| 	return &bfin_dma_ops; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #endif				/* _BLACKFIN_DMA_MAPPING_H */ |  | ||||||
|  | @ -1,349 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * dma.h - Blackfin DMA defines/structures/etc... |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2008 Analog Devices Inc. |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_DMA_H_ |  | ||||||
| #define _BLACKFIN_DMA_H_ |  | ||||||
| 
 |  | ||||||
| #include <linux/interrupt.h> |  | ||||||
| #include <mach/dma.h> |  | ||||||
| #include <linux/atomic.h> |  | ||||||
| #include <asm/blackfin.h> |  | ||||||
| #include <asm/page.h> |  | ||||||
| #include <asm-generic/dma.h> |  | ||||||
| #include <asm/bfin_dma.h> |  | ||||||
| 
 |  | ||||||
| /*-------------------------
 |  | ||||||
|  * config reg bits value |  | ||||||
|  *-------------------------*/ |  | ||||||
| #define DATA_SIZE_8			0 |  | ||||||
| #define DATA_SIZE_16		1 |  | ||||||
| #define DATA_SIZE_32		2 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| #define DATA_SIZE_64		3 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define DMA_FLOW_STOP		0 |  | ||||||
| #define DMA_FLOW_AUTO		1 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| #define DMA_FLOW_LIST		4 |  | ||||||
| #define DMA_FLOW_ARRAY		5 |  | ||||||
| #define DMA_FLOW_LIST_DEMAND	6 |  | ||||||
| #define DMA_FLOW_ARRAY_DEMAND	7 |  | ||||||
| #else |  | ||||||
| #define DMA_FLOW_ARRAY		4 |  | ||||||
| #define DMA_FLOW_SMALL		6 |  | ||||||
| #define DMA_FLOW_LARGE		7 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define DIMENSION_LINEAR	0 |  | ||||||
| #define DIMENSION_2D		1 |  | ||||||
| 
 |  | ||||||
| #define DIR_READ			0 |  | ||||||
| #define DIR_WRITE			1 |  | ||||||
| 
 |  | ||||||
| #define INTR_DISABLE		0 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| #define INTR_ON_PERI			1 |  | ||||||
| #endif |  | ||||||
| #define INTR_ON_BUF			2 |  | ||||||
| #define INTR_ON_ROW			3 |  | ||||||
| 
 |  | ||||||
| #define DMA_NOSYNC_KEEP_DMA_BUF	0 |  | ||||||
| #define DMA_SYNC_RESTART		1 |  | ||||||
| 
 |  | ||||||
| #ifdef DMA_MMR_SIZE_32 |  | ||||||
| #define DMA_MMR_SIZE_TYPE long |  | ||||||
| #define DMA_MMR_READ bfin_read32 |  | ||||||
| #define DMA_MMR_WRITE bfin_write32 |  | ||||||
| #else |  | ||||||
| #define DMA_MMR_SIZE_TYPE short |  | ||||||
| #define DMA_MMR_READ bfin_read16 |  | ||||||
| #define DMA_MMR_WRITE bfin_write16 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| struct dma_desc_array { |  | ||||||
| 	unsigned long start_addr; |  | ||||||
| 	unsigned DMA_MMR_SIZE_TYPE cfg; |  | ||||||
| 	unsigned DMA_MMR_SIZE_TYPE x_count; |  | ||||||
| 	DMA_MMR_SIZE_TYPE x_modify; |  | ||||||
| } __attribute__((packed)); |  | ||||||
| 
 |  | ||||||
| struct dmasg { |  | ||||||
| 	void *next_desc_addr; |  | ||||||
| 	unsigned long start_addr; |  | ||||||
| 	unsigned DMA_MMR_SIZE_TYPE cfg; |  | ||||||
| 	unsigned DMA_MMR_SIZE_TYPE x_count; |  | ||||||
| 	DMA_MMR_SIZE_TYPE x_modify; |  | ||||||
| 	unsigned DMA_MMR_SIZE_TYPE y_count; |  | ||||||
| 	DMA_MMR_SIZE_TYPE y_modify; |  | ||||||
| } __attribute__((packed)); |  | ||||||
| 
 |  | ||||||
| struct dma_register { |  | ||||||
| 	void *next_desc_ptr;	/* DMA Next Descriptor Pointer register */ |  | ||||||
| 	unsigned long start_addr;	/* DMA Start address  register */ |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| 	unsigned long cfg;	/* DMA Configuration register */ |  | ||||||
| 
 |  | ||||||
| 	unsigned long x_count;	/* DMA x_count register */ |  | ||||||
| 
 |  | ||||||
| 	long x_modify;	/* DMA x_modify register */ |  | ||||||
| 
 |  | ||||||
| 	unsigned long y_count;	/* DMA y_count register */ |  | ||||||
| 
 |  | ||||||
| 	long y_modify;	/* DMA y_modify register */ |  | ||||||
| 
 |  | ||||||
| 	unsigned long reserved; |  | ||||||
| 	unsigned long reserved2; |  | ||||||
| 
 |  | ||||||
| 	void *curr_desc_ptr;	/* DMA Current Descriptor Pointer
 |  | ||||||
| 					   register */ |  | ||||||
| 	void *prev_desc_ptr;	/* DMA previous initial Descriptor Pointer
 |  | ||||||
| 					   register */ |  | ||||||
| 	unsigned long curr_addr_ptr;	/* DMA Current Address Pointer
 |  | ||||||
| 						   register */ |  | ||||||
| 	unsigned long irq_status;	/* DMA irq status register */ |  | ||||||
| 
 |  | ||||||
| 	unsigned long curr_x_count;	/* DMA Current x-count register */ |  | ||||||
| 
 |  | ||||||
| 	unsigned long curr_y_count;	/* DMA Current y-count register */ |  | ||||||
| 
 |  | ||||||
| 	unsigned long reserved3; |  | ||||||
| 
 |  | ||||||
| 	unsigned long bw_limit_count;	/* DMA band width limit count register */ |  | ||||||
| 	unsigned long curr_bw_limit_count;	/* DMA Current band width limit
 |  | ||||||
| 							count register */ |  | ||||||
| 	unsigned long bw_monitor_count;	/* DMA band width limit count register */ |  | ||||||
| 	unsigned long curr_bw_monitor_count;	/* DMA Current band width limit
 |  | ||||||
| 							count register */ |  | ||||||
| #else |  | ||||||
| 	unsigned short cfg;	/* DMA Configuration register */ |  | ||||||
| 	unsigned short dummy1;	/* DMA Configuration register */ |  | ||||||
| 
 |  | ||||||
| 	unsigned long reserved; |  | ||||||
| 
 |  | ||||||
| 	unsigned short x_count;	/* DMA x_count register */ |  | ||||||
| 	unsigned short dummy2; |  | ||||||
| 
 |  | ||||||
| 	short x_modify;	/* DMA x_modify register */ |  | ||||||
| 	unsigned short dummy3; |  | ||||||
| 
 |  | ||||||
| 	unsigned short y_count;	/* DMA y_count register */ |  | ||||||
| 	unsigned short dummy4; |  | ||||||
| 
 |  | ||||||
| 	short y_modify;	/* DMA y_modify register */ |  | ||||||
| 	unsigned short dummy5; |  | ||||||
| 
 |  | ||||||
| 	void *curr_desc_ptr;	/* DMA Current Descriptor Pointer
 |  | ||||||
| 					   register */ |  | ||||||
| 	unsigned long curr_addr_ptr;	/* DMA Current Address Pointer
 |  | ||||||
| 						   register */ |  | ||||||
| 	unsigned short irq_status;	/* DMA irq status register */ |  | ||||||
| 	unsigned short dummy6; |  | ||||||
| 
 |  | ||||||
| 	unsigned short peripheral_map;	/* DMA peripheral map register */ |  | ||||||
| 	unsigned short dummy7; |  | ||||||
| 
 |  | ||||||
| 	unsigned short curr_x_count;	/* DMA Current x-count register */ |  | ||||||
| 	unsigned short dummy8; |  | ||||||
| 
 |  | ||||||
| 	unsigned long reserved2; |  | ||||||
| 
 |  | ||||||
| 	unsigned short curr_y_count;	/* DMA Current y-count register */ |  | ||||||
| 	unsigned short dummy9; |  | ||||||
| 
 |  | ||||||
| 	unsigned long reserved3; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| struct dma_channel { |  | ||||||
| 	const char *device_id; |  | ||||||
| 	atomic_t chan_status; |  | ||||||
| 	volatile struct dma_register *regs; |  | ||||||
| 	struct dmasg *sg;		/* large mode descriptor */ |  | ||||||
| 	unsigned int irq; |  | ||||||
| 	void *data; |  | ||||||
| #ifdef CONFIG_PM |  | ||||||
| 	unsigned short saved_peripheral_map; |  | ||||||
| #endif |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_PM |  | ||||||
| int blackfin_dma_suspend(void); |  | ||||||
| void blackfin_dma_resume(void); |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*******************************************************************************
 |  | ||||||
| *	DMA API's |  | ||||||
| *******************************************************************************/ |  | ||||||
| extern struct dma_channel dma_ch[MAX_DMA_CHANNELS]; |  | ||||||
| extern struct dma_register * const dma_io_base_addr[MAX_DMA_CHANNELS]; |  | ||||||
| extern int channel2irq(unsigned int channel); |  | ||||||
| 
 |  | ||||||
| static inline void set_dma_start_addr(unsigned int channel, unsigned long addr) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->start_addr = addr; |  | ||||||
| } |  | ||||||
| static inline void set_dma_next_desc_addr(unsigned int channel, void *addr) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->next_desc_ptr = addr; |  | ||||||
| } |  | ||||||
| static inline void set_dma_curr_desc_addr(unsigned int channel, void *addr) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->curr_desc_ptr = addr; |  | ||||||
| } |  | ||||||
| static inline void set_dma_x_count(unsigned int channel, unsigned DMA_MMR_SIZE_TYPE x_count) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->x_count = x_count; |  | ||||||
| } |  | ||||||
| static inline void set_dma_y_count(unsigned int channel, unsigned DMA_MMR_SIZE_TYPE y_count) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->y_count = y_count; |  | ||||||
| } |  | ||||||
| static inline void set_dma_x_modify(unsigned int channel, DMA_MMR_SIZE_TYPE x_modify) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->x_modify = x_modify; |  | ||||||
| } |  | ||||||
| static inline void set_dma_y_modify(unsigned int channel, DMA_MMR_SIZE_TYPE y_modify) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->y_modify = y_modify; |  | ||||||
| } |  | ||||||
| static inline void set_dma_config(unsigned int channel, unsigned DMA_MMR_SIZE_TYPE config) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->cfg = config; |  | ||||||
| } |  | ||||||
| static inline void set_dma_curr_addr(unsigned int channel, unsigned long addr) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->curr_addr_ptr = addr; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| static inline unsigned long |  | ||||||
| set_bfin_dma_config2(char direction, char flow_mode, char intr_mode, |  | ||||||
| 		     char dma_mode, char mem_width, char syncmode, char peri_width) |  | ||||||
| { |  | ||||||
| 	unsigned long config = 0; |  | ||||||
| 
 |  | ||||||
| 	switch (intr_mode) { |  | ||||||
| 	case INTR_ON_BUF: |  | ||||||
| 		if (dma_mode == DIMENSION_2D) |  | ||||||
| 			config = DI_EN_Y; |  | ||||||
| 		else |  | ||||||
| 			config = DI_EN_X; |  | ||||||
| 		break; |  | ||||||
| 	case INTR_ON_ROW: |  | ||||||
| 		config = DI_EN_X; |  | ||||||
| 		break; |  | ||||||
| 	case INTR_ON_PERI: |  | ||||||
| 		config = DI_EN_P; |  | ||||||
| 		break; |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	return config | (direction << 1) | (mem_width << 8) | (dma_mode << 26) | |  | ||||||
| 		(flow_mode << 12) | (syncmode << 2) | (peri_width << 4); |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| static inline unsigned DMA_MMR_SIZE_TYPE |  | ||||||
| set_bfin_dma_config(char direction, char flow_mode, |  | ||||||
| 		    char intr_mode, char dma_mode, char mem_width, char syncmode) |  | ||||||
| { |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| 	return set_bfin_dma_config2(direction, flow_mode, intr_mode, dma_mode, |  | ||||||
| 		mem_width, syncmode, mem_width); |  | ||||||
| #else |  | ||||||
| 	return (direction << 1) | (mem_width << 2) | (dma_mode << 4) | |  | ||||||
| 		(intr_mode << 6) | (flow_mode << 12) | (syncmode << 5); |  | ||||||
| #endif |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline unsigned DMA_MMR_SIZE_TYPE get_dma_curr_irqstat(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return dma_ch[channel].regs->irq_status; |  | ||||||
| } |  | ||||||
| static inline unsigned DMA_MMR_SIZE_TYPE get_dma_curr_xcount(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return dma_ch[channel].regs->curr_x_count; |  | ||||||
| } |  | ||||||
| static inline unsigned DMA_MMR_SIZE_TYPE get_dma_curr_ycount(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return dma_ch[channel].regs->curr_y_count; |  | ||||||
| } |  | ||||||
| static inline void *get_dma_next_desc_ptr(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return dma_ch[channel].regs->next_desc_ptr; |  | ||||||
| } |  | ||||||
| static inline void *get_dma_curr_desc_ptr(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return dma_ch[channel].regs->curr_desc_ptr; |  | ||||||
| } |  | ||||||
| static inline unsigned DMA_MMR_SIZE_TYPE get_dma_config(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return dma_ch[channel].regs->cfg; |  | ||||||
| } |  | ||||||
| static inline unsigned long get_dma_curr_addr(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return dma_ch[channel].regs->curr_addr_ptr; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void set_dma_sg(unsigned int channel, struct dmasg *sg, int ndsize) |  | ||||||
| { |  | ||||||
| 	/* Make sure the internal data buffers in the core are drained
 |  | ||||||
| 	 * so that the DMA descriptors are completely written when the |  | ||||||
| 	 * DMA engine goes to fetch them below. |  | ||||||
| 	 */ |  | ||||||
| 	SSYNC(); |  | ||||||
| 
 |  | ||||||
| 	dma_ch[channel].regs->next_desc_ptr = sg; |  | ||||||
| 	dma_ch[channel].regs->cfg = |  | ||||||
| 		(dma_ch[channel].regs->cfg & ~NDSIZE) | |  | ||||||
| 		((ndsize << NDSIZE_OFFSET) & NDSIZE); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int dma_channel_active(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	return atomic_read(&dma_ch[channel].chan_status); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void disable_dma(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->cfg &= ~DMAEN; |  | ||||||
| 	SSYNC(); |  | ||||||
| } |  | ||||||
| static inline void enable_dma(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->curr_x_count = 0; |  | ||||||
| 	dma_ch[channel].regs->curr_y_count = 0; |  | ||||||
| 	dma_ch[channel].regs->cfg |= DMAEN; |  | ||||||
| } |  | ||||||
| int set_dma_callback(unsigned int channel, irq_handler_t callback, void *data); |  | ||||||
| 
 |  | ||||||
| static inline void dma_disable_irq(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	disable_irq(dma_ch[channel].irq); |  | ||||||
| } |  | ||||||
| static inline void dma_disable_irq_nosync(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	disable_irq_nosync(dma_ch[channel].irq); |  | ||||||
| } |  | ||||||
| static inline void dma_enable_irq(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	enable_irq(dma_ch[channel].irq); |  | ||||||
| } |  | ||||||
| static inline void clear_dma_irqstat(unsigned int channel) |  | ||||||
| { |  | ||||||
| 	dma_ch[channel].regs->irq_status = DMA_DONE | DMA_ERR | DMA_PIRQ; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void *dma_memcpy(void *dest, const void *src, size_t count); |  | ||||||
| void *dma_memcpy_nocache(void *dest, const void *src, size_t count); |  | ||||||
| void *safe_dma_memcpy(void *dest, const void *src, size_t count); |  | ||||||
| void blackfin_dma_early_init(void); |  | ||||||
| void early_dma_memcpy(void *dest, const void *src, size_t count); |  | ||||||
| void early_dma_memcpy_done(void); |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,794 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Miscellaneous IOCTL commands for Dynamic Power Management Controller Driver |  | ||||||
|  * |  | ||||||
|  * Copyright (C) 2004-2009 Analog Device Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_DPMC_H_ |  | ||||||
| #define _BLACKFIN_DPMC_H_ |  | ||||||
| 
 |  | ||||||
| #ifdef __ASSEMBLY__ |  | ||||||
| #define PM_REG0  R7 |  | ||||||
| #define PM_REG1  R6 |  | ||||||
| #define PM_REG2  R5 |  | ||||||
| #define PM_REG3  R4 |  | ||||||
| #define PM_REG4  R3 |  | ||||||
| #define PM_REG5  R2 |  | ||||||
| #define PM_REG6  R1 |  | ||||||
| #define PM_REG7  R0 |  | ||||||
| #define PM_REG8  P5 |  | ||||||
| #define PM_REG9  P4 |  | ||||||
| #define PM_REG10 P3 |  | ||||||
| #define PM_REG11 P2 |  | ||||||
| #define PM_REG12 P1 |  | ||||||
| #define PM_REG13 P0 |  | ||||||
| 
 |  | ||||||
| #define PM_REGSET0  R7:7 |  | ||||||
| #define PM_REGSET1  R7:6 |  | ||||||
| #define PM_REGSET2  R7:5 |  | ||||||
| #define PM_REGSET3  R7:4 |  | ||||||
| #define PM_REGSET4  R7:3 |  | ||||||
| #define PM_REGSET5  R7:2 |  | ||||||
| #define PM_REGSET6  R7:1 |  | ||||||
| #define PM_REGSET7  R7:0 |  | ||||||
| #define PM_REGSET8  R7:0, P5:5 |  | ||||||
| #define PM_REGSET9  R7:0, P5:4 |  | ||||||
| #define PM_REGSET10 R7:0, P5:3 |  | ||||||
| #define PM_REGSET11 R7:0, P5:2 |  | ||||||
| #define PM_REGSET12 R7:0, P5:1 |  | ||||||
| #define PM_REGSET13 R7:0, P5:0 |  | ||||||
| 
 |  | ||||||
| #define _PM_PUSH(n, x, w, base) PM_REG##n = w[FP + ((x) - (base))]; |  | ||||||
| #define _PM_POP(n, x, w, base)  w[FP + ((x) - (base))] = PM_REG##n; |  | ||||||
| #define PM_PUSH_SYNC(n)         [--sp] = (PM_REGSET##n); |  | ||||||
| #define PM_POP_SYNC(n)          (PM_REGSET##n) = [sp++]; |  | ||||||
| #define PM_PUSH(n, x)		PM_REG##n = [FP++]; |  | ||||||
| #define PM_POP(n, x)            [FP--] = PM_REG##n; |  | ||||||
| #define PM_CORE_PUSH(n, x)      _PM_PUSH(n, x, , COREMMR_BASE) |  | ||||||
| #define PM_CORE_POP(n, x)       _PM_POP(n, x, , COREMMR_BASE) |  | ||||||
| #define PM_SYS_PUSH(n, x)       _PM_PUSH(n, x, , SYSMMR_BASE) |  | ||||||
| #define PM_SYS_POP(n, x)        _PM_POP(n, x, , SYSMMR_BASE) |  | ||||||
| #define PM_SYS_PUSH16(n, x)     _PM_PUSH(n, x, w, SYSMMR_BASE) |  | ||||||
| #define PM_SYS_POP16(n, x)      _PM_POP(n, x, w, SYSMMR_BASE) |  | ||||||
| 
 |  | ||||||
| 	.macro bfin_init_pm_bench_cycles |  | ||||||
| #ifdef CONFIG_BFIN_PM_WAKEUP_TIME_BENCH |  | ||||||
| 	R4 = 0; |  | ||||||
| 	CYCLES = R4; |  | ||||||
| 	CYCLES2 = R4; |  | ||||||
| 	R4 = SYSCFG; |  | ||||||
| 	BITSET(R4, 1); |  | ||||||
| 	SYSCFG = R4; |  | ||||||
| #endif |  | ||||||
| 	.endm |  | ||||||
| 
 |  | ||||||
| 	.macro bfin_cpu_reg_save |  | ||||||
| 	/*
 |  | ||||||
| 	 * Save the core regs early so we can blow them away when |  | ||||||
| 	 * saving/restoring MMR states |  | ||||||
| 	 */ |  | ||||||
| 	[--sp] = (R7:0, P5:0); |  | ||||||
| 	[--sp] = fp; |  | ||||||
| 	[--sp] = usp; |  | ||||||
| 
 |  | ||||||
| 	[--sp] = i0; |  | ||||||
| 	[--sp] = i1; |  | ||||||
| 	[--sp] = i2; |  | ||||||
| 	[--sp] = i3; |  | ||||||
| 
 |  | ||||||
| 	[--sp] = m0; |  | ||||||
| 	[--sp] = m1; |  | ||||||
| 	[--sp] = m2; |  | ||||||
| 	[--sp] = m3; |  | ||||||
| 
 |  | ||||||
| 	[--sp] = l0; |  | ||||||
| 	[--sp] = l1; |  | ||||||
| 	[--sp] = l2; |  | ||||||
| 	[--sp] = l3; |  | ||||||
| 
 |  | ||||||
| 	[--sp] = b0; |  | ||||||
| 	[--sp] = b1; |  | ||||||
| 	[--sp] = b2; |  | ||||||
| 	[--sp] = b3; |  | ||||||
| 	[--sp] = a0.x; |  | ||||||
| 	[--sp] = a0.w; |  | ||||||
| 	[--sp] = a1.x; |  | ||||||
| 	[--sp] = a1.w; |  | ||||||
| 
 |  | ||||||
| 	[--sp] = LC0; |  | ||||||
| 	[--sp] = LC1; |  | ||||||
| 	[--sp] = LT0; |  | ||||||
| 	[--sp] = LT1; |  | ||||||
| 	[--sp] = LB0; |  | ||||||
| 	[--sp] = LB1; |  | ||||||
| 
 |  | ||||||
| 	/* We can't push RETI directly as that'll change IPEND[4] */ |  | ||||||
| 	r7 = RETI; |  | ||||||
| 	[--sp] = RETS; |  | ||||||
| 	[--sp] = ASTAT; |  | ||||||
| #ifndef CONFIG_BFIN_PM_WAKEUP_TIME_BENCH |  | ||||||
| 	[--sp] = CYCLES; |  | ||||||
| 	[--sp] = CYCLES2; |  | ||||||
| #endif |  | ||||||
| 	[--sp] = SYSCFG; |  | ||||||
| 	[--sp] = RETX; |  | ||||||
| 	[--sp] = SEQSTAT; |  | ||||||
| 	[--sp] = r7; |  | ||||||
| 
 |  | ||||||
| 	/* Save first func arg in M3 */ |  | ||||||
| 	M3 = R0; |  | ||||||
| 	.endm |  | ||||||
| 
 |  | ||||||
| 	.macro bfin_cpu_reg_restore |  | ||||||
| 	/* Restore Core Registers */ |  | ||||||
| 	RETI = [sp++]; |  | ||||||
| 	SEQSTAT = [sp++]; |  | ||||||
| 	RETX = [sp++]; |  | ||||||
| 	SYSCFG = [sp++]; |  | ||||||
| #ifndef CONFIG_BFIN_PM_WAKEUP_TIME_BENCH |  | ||||||
| 	CYCLES2 = [sp++]; |  | ||||||
| 	CYCLES = [sp++]; |  | ||||||
| #endif |  | ||||||
| 	ASTAT = [sp++]; |  | ||||||
| 	RETS = [sp++]; |  | ||||||
| 
 |  | ||||||
| 	LB1 = [sp++]; |  | ||||||
| 	LB0 = [sp++]; |  | ||||||
| 	LT1 = [sp++]; |  | ||||||
| 	LT0 = [sp++]; |  | ||||||
| 	LC1 = [sp++]; |  | ||||||
| 	LC0 = [sp++]; |  | ||||||
| 
 |  | ||||||
| 	a1.w = [sp++]; |  | ||||||
| 	a1.x = [sp++]; |  | ||||||
| 	a0.w = [sp++]; |  | ||||||
| 	a0.x = [sp++]; |  | ||||||
| 	b3 = [sp++]; |  | ||||||
| 	b2 = [sp++]; |  | ||||||
| 	b1 = [sp++]; |  | ||||||
| 	b0 = [sp++]; |  | ||||||
| 
 |  | ||||||
| 	l3 = [sp++]; |  | ||||||
| 	l2 = [sp++]; |  | ||||||
| 	l1 = [sp++]; |  | ||||||
| 	l0 = [sp++]; |  | ||||||
| 
 |  | ||||||
| 	m3 = [sp++]; |  | ||||||
| 	m2 = [sp++]; |  | ||||||
| 	m1 = [sp++]; |  | ||||||
| 	m0 = [sp++]; |  | ||||||
| 
 |  | ||||||
| 	i3 = [sp++]; |  | ||||||
| 	i2 = [sp++]; |  | ||||||
| 	i1 = [sp++]; |  | ||||||
| 	i0 = [sp++]; |  | ||||||
| 
 |  | ||||||
| 	usp = [sp++]; |  | ||||||
| 	fp = [sp++]; |  | ||||||
| 	(R7:0, P5:0) = [sp++]; |  | ||||||
| 
 |  | ||||||
| 	.endm |  | ||||||
| 
 |  | ||||||
| 	.macro bfin_sys_mmr_save |  | ||||||
| 	/* Save system MMRs */ |  | ||||||
| 	FP.H = hi(SYSMMR_BASE); |  | ||||||
| 	FP.L = lo(SYSMMR_BASE); |  | ||||||
| #ifdef SIC_IMASK0 |  | ||||||
| 	PM_SYS_PUSH(0, SIC_IMASK0) |  | ||||||
| 	PM_SYS_PUSH(1, SIC_IMASK1) |  | ||||||
| # ifdef SIC_IMASK2 |  | ||||||
| 	PM_SYS_PUSH(2, SIC_IMASK2) |  | ||||||
| # endif |  | ||||||
| #else |  | ||||||
| # ifdef SIC_IMASK |  | ||||||
| 	PM_SYS_PUSH(0, SIC_IMASK) |  | ||||||
| # endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef SIC_IAR0 |  | ||||||
| 	PM_SYS_PUSH(3, SIC_IAR0) |  | ||||||
| 	PM_SYS_PUSH(4, SIC_IAR1) |  | ||||||
| 	PM_SYS_PUSH(5, SIC_IAR2) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR3 |  | ||||||
| 	PM_SYS_PUSH(6, SIC_IAR3) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR4 |  | ||||||
| 	PM_SYS_PUSH(7, SIC_IAR4) |  | ||||||
| 	PM_SYS_PUSH(8, SIC_IAR5) |  | ||||||
| 	PM_SYS_PUSH(9, SIC_IAR6) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR7 |  | ||||||
| 	PM_SYS_PUSH(10, SIC_IAR7) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR8 |  | ||||||
| 	PM_SYS_PUSH(11, SIC_IAR8) |  | ||||||
| 	PM_SYS_PUSH(12, SIC_IAR9) |  | ||||||
| 	PM_SYS_PUSH(13, SIC_IAR10) |  | ||||||
| #endif |  | ||||||
| 	PM_PUSH_SYNC(13) |  | ||||||
| #ifdef SIC_IAR11 |  | ||||||
| 	PM_SYS_PUSH(0, SIC_IAR11) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef SIC_IWR |  | ||||||
| 	PM_SYS_PUSH(1, SIC_IWR) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IWR0 |  | ||||||
| 	PM_SYS_PUSH(1, SIC_IWR0) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IWR1 |  | ||||||
| 	PM_SYS_PUSH(2, SIC_IWR1) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IWR2 |  | ||||||
| 	PM_SYS_PUSH(3, SIC_IWR2) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef PINT0_ASSIGN |  | ||||||
| 	PM_SYS_PUSH(4, PINT0_MASK_SET) |  | ||||||
| 	PM_SYS_PUSH(5, PINT1_MASK_SET) |  | ||||||
| 	PM_SYS_PUSH(6, PINT2_MASK_SET) |  | ||||||
| 	PM_SYS_PUSH(7, PINT3_MASK_SET) |  | ||||||
| 	PM_SYS_PUSH(8, PINT0_ASSIGN) |  | ||||||
| 	PM_SYS_PUSH(9, PINT1_ASSIGN) |  | ||||||
| 	PM_SYS_PUSH(10, PINT2_ASSIGN) |  | ||||||
| 	PM_SYS_PUSH(11, PINT3_ASSIGN) |  | ||||||
| 	PM_SYS_PUSH(12, PINT0_INVERT_SET) |  | ||||||
| 	PM_SYS_PUSH(13, PINT1_INVERT_SET) |  | ||||||
| 	PM_PUSH_SYNC(13) |  | ||||||
| 	PM_SYS_PUSH(0, PINT2_INVERT_SET) |  | ||||||
| 	PM_SYS_PUSH(1, PINT3_INVERT_SET) |  | ||||||
| 	PM_SYS_PUSH(2, PINT0_EDGE_SET) |  | ||||||
| 	PM_SYS_PUSH(3, PINT1_EDGE_SET) |  | ||||||
| 	PM_SYS_PUSH(4, PINT2_EDGE_SET) |  | ||||||
| 	PM_SYS_PUSH(5, PINT3_EDGE_SET) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef SYSCR |  | ||||||
| 	PM_SYS_PUSH16(6, SYSCR) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef EBIU_AMGCTL |  | ||||||
| 	PM_SYS_PUSH16(7, EBIU_AMGCTL) |  | ||||||
| 	PM_SYS_PUSH(8, EBIU_AMBCTL0) |  | ||||||
| 	PM_SYS_PUSH(9, EBIU_AMBCTL1) |  | ||||||
| #endif |  | ||||||
| #ifdef EBIU_FCTL |  | ||||||
| 	PM_SYS_PUSH(10, EBIU_MBSCTL) |  | ||||||
| 	PM_SYS_PUSH(11, EBIU_MODE) |  | ||||||
| 	PM_SYS_PUSH(12, EBIU_FCTL) |  | ||||||
| 	PM_PUSH_SYNC(12) |  | ||||||
| #else |  | ||||||
| 	PM_PUSH_SYNC(9) |  | ||||||
| #endif |  | ||||||
| 	.endm |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 	.macro bfin_sys_mmr_restore |  | ||||||
| /* Restore System MMRs */ |  | ||||||
| 	FP.H = hi(SYSMMR_BASE); |  | ||||||
| 	FP.L = lo(SYSMMR_BASE); |  | ||||||
| 
 |  | ||||||
| #ifdef EBIU_FCTL |  | ||||||
| 	PM_POP_SYNC(12) |  | ||||||
| 	PM_SYS_POP(12, EBIU_FCTL) |  | ||||||
| 	PM_SYS_POP(11, EBIU_MODE) |  | ||||||
| 	PM_SYS_POP(10, EBIU_MBSCTL) |  | ||||||
| #else |  | ||||||
| 	PM_POP_SYNC(9) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef EBIU_AMGCTL |  | ||||||
| 	PM_SYS_POP(9, EBIU_AMBCTL1) |  | ||||||
| 	PM_SYS_POP(8, EBIU_AMBCTL0) |  | ||||||
| 	PM_SYS_POP16(7, EBIU_AMGCTL) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef SYSCR |  | ||||||
| 	PM_SYS_POP16(6, SYSCR) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef PINT0_ASSIGN |  | ||||||
| 	PM_SYS_POP(5, PINT3_EDGE_SET) |  | ||||||
| 	PM_SYS_POP(4, PINT2_EDGE_SET) |  | ||||||
| 	PM_SYS_POP(3, PINT1_EDGE_SET) |  | ||||||
| 	PM_SYS_POP(2, PINT0_EDGE_SET) |  | ||||||
| 	PM_SYS_POP(1, PINT3_INVERT_SET) |  | ||||||
| 	PM_SYS_POP(0, PINT2_INVERT_SET) |  | ||||||
| 	PM_POP_SYNC(13) |  | ||||||
| 	PM_SYS_POP(13, PINT1_INVERT_SET) |  | ||||||
| 	PM_SYS_POP(12, PINT0_INVERT_SET) |  | ||||||
| 	PM_SYS_POP(11, PINT3_ASSIGN) |  | ||||||
| 	PM_SYS_POP(10, PINT2_ASSIGN) |  | ||||||
| 	PM_SYS_POP(9, PINT1_ASSIGN) |  | ||||||
| 	PM_SYS_POP(8, PINT0_ASSIGN) |  | ||||||
| 	PM_SYS_POP(7, PINT3_MASK_SET) |  | ||||||
| 	PM_SYS_POP(6, PINT2_MASK_SET) |  | ||||||
| 	PM_SYS_POP(5, PINT1_MASK_SET) |  | ||||||
| 	PM_SYS_POP(4, PINT0_MASK_SET) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef SIC_IWR2 |  | ||||||
| 	PM_SYS_POP(3, SIC_IWR2) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IWR1 |  | ||||||
| 	PM_SYS_POP(2, SIC_IWR1) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IWR0 |  | ||||||
| 	PM_SYS_POP(1, SIC_IWR0) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IWR |  | ||||||
| 	PM_SYS_POP(1, SIC_IWR) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef SIC_IAR11 |  | ||||||
| 	PM_SYS_POP(0, SIC_IAR11) |  | ||||||
| #endif |  | ||||||
| 	PM_POP_SYNC(13) |  | ||||||
| #ifdef SIC_IAR8 |  | ||||||
| 	PM_SYS_POP(13, SIC_IAR10) |  | ||||||
| 	PM_SYS_POP(12, SIC_IAR9) |  | ||||||
| 	PM_SYS_POP(11, SIC_IAR8) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR7 |  | ||||||
| 	PM_SYS_POP(10, SIC_IAR7) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR6 |  | ||||||
| 	PM_SYS_POP(9, SIC_IAR6) |  | ||||||
| 	PM_SYS_POP(8, SIC_IAR5) |  | ||||||
| 	PM_SYS_POP(7, SIC_IAR4) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR3 |  | ||||||
| 	PM_SYS_POP(6, SIC_IAR3) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IAR0 |  | ||||||
| 	PM_SYS_POP(5, SIC_IAR2) |  | ||||||
| 	PM_SYS_POP(4, SIC_IAR1) |  | ||||||
| 	PM_SYS_POP(3, SIC_IAR0) |  | ||||||
| #endif |  | ||||||
| #ifdef SIC_IMASK0 |  | ||||||
| # ifdef SIC_IMASK2 |  | ||||||
| 	PM_SYS_POP(2, SIC_IMASK2) |  | ||||||
| # endif |  | ||||||
| 	PM_SYS_POP(1, SIC_IMASK1) |  | ||||||
| 	PM_SYS_POP(0, SIC_IMASK0) |  | ||||||
| #else |  | ||||||
| # ifdef SIC_IMASK |  | ||||||
| 	PM_SYS_POP(0, SIC_IMASK) |  | ||||||
| # endif |  | ||||||
| #endif |  | ||||||
| 	.endm |  | ||||||
| 
 |  | ||||||
| 	.macro bfin_core_mmr_save |  | ||||||
| 	/* Save Core MMRs */ |  | ||||||
| 	I0.H = hi(COREMMR_BASE); |  | ||||||
| 	I0.L = lo(COREMMR_BASE); |  | ||||||
| 	I1 = I0; |  | ||||||
| 	I2 = I0; |  | ||||||
| 	I3 = I0; |  | ||||||
| 	B0 = I0; |  | ||||||
| 	B1 = I0; |  | ||||||
| 	B2 = I0; |  | ||||||
| 	B3 = I0; |  | ||||||
| 	I1.L = lo(DCPLB_ADDR0); |  | ||||||
| 	I2.L = lo(DCPLB_DATA0); |  | ||||||
| 	I3.L = lo(ICPLB_ADDR0); |  | ||||||
| 	B0.L = lo(ICPLB_DATA0); |  | ||||||
| 	B1.L = lo(EVT2); |  | ||||||
| 	B2.L = lo(IMASK); |  | ||||||
| 	B3.L = lo(TCNTL); |  | ||||||
| 
 |  | ||||||
| 	/* Event Vectors */ |  | ||||||
| 	FP = B1; |  | ||||||
| 	PM_PUSH(0, EVT2) |  | ||||||
| 	PM_PUSH(1, EVT3) |  | ||||||
| 	FP += 4;	/* EVT4 */ |  | ||||||
| 	PM_PUSH(2, EVT5) |  | ||||||
| 	PM_PUSH(3, EVT6) |  | ||||||
| 	PM_PUSH(4, EVT7) |  | ||||||
| 	PM_PUSH(5, EVT8) |  | ||||||
| 	PM_PUSH_SYNC(5) |  | ||||||
| 
 |  | ||||||
| 	PM_PUSH(0, EVT9) |  | ||||||
| 	PM_PUSH(1, EVT10) |  | ||||||
| 	PM_PUSH(2, EVT11) |  | ||||||
| 	PM_PUSH(3, EVT12) |  | ||||||
| 	PM_PUSH(4, EVT13) |  | ||||||
| 	PM_PUSH(5, EVT14) |  | ||||||
| 	PM_PUSH(6, EVT15) |  | ||||||
| 
 |  | ||||||
| 	/* CEC */ |  | ||||||
| 	FP = B2; |  | ||||||
| 	PM_PUSH(7, IMASK) |  | ||||||
| 	FP += 4;	/* IPEND */ |  | ||||||
| 	PM_PUSH(8, ILAT) |  | ||||||
| 	PM_PUSH(9, IPRIO) |  | ||||||
| 
 |  | ||||||
| 	/* Core Timer */ |  | ||||||
| 	FP = B3; |  | ||||||
| 	PM_PUSH(10, TCNTL) |  | ||||||
| 	PM_PUSH(11, TPERIOD) |  | ||||||
| 	PM_PUSH(12, TSCALE) |  | ||||||
| 	PM_PUSH(13, TCOUNT) |  | ||||||
| 	PM_PUSH_SYNC(13) |  | ||||||
| 
 |  | ||||||
| 	/* Misc non-contiguous registers */ |  | ||||||
| 	FP = I0; |  | ||||||
| 	PM_CORE_PUSH(0, DMEM_CONTROL); |  | ||||||
| 	PM_CORE_PUSH(1, IMEM_CONTROL); |  | ||||||
| 	PM_CORE_PUSH(2, TBUFCTL); |  | ||||||
| 	PM_PUSH_SYNC(2) |  | ||||||
| 
 |  | ||||||
| 	/* DCPLB Addr */ |  | ||||||
| 	FP = I1; |  | ||||||
| 	PM_PUSH(0, DCPLB_ADDR0) |  | ||||||
| 	PM_PUSH(1, DCPLB_ADDR1) |  | ||||||
| 	PM_PUSH(2, DCPLB_ADDR2) |  | ||||||
| 	PM_PUSH(3, DCPLB_ADDR3) |  | ||||||
| 	PM_PUSH(4, DCPLB_ADDR4) |  | ||||||
| 	PM_PUSH(5, DCPLB_ADDR5) |  | ||||||
| 	PM_PUSH(6, DCPLB_ADDR6) |  | ||||||
| 	PM_PUSH(7, DCPLB_ADDR7) |  | ||||||
| 	PM_PUSH(8, DCPLB_ADDR8) |  | ||||||
| 	PM_PUSH(9, DCPLB_ADDR9) |  | ||||||
| 	PM_PUSH(10, DCPLB_ADDR10) |  | ||||||
| 	PM_PUSH(11, DCPLB_ADDR11) |  | ||||||
| 	PM_PUSH(12, DCPLB_ADDR12) |  | ||||||
| 	PM_PUSH(13, DCPLB_ADDR13) |  | ||||||
| 	PM_PUSH_SYNC(13) |  | ||||||
| 	PM_PUSH(0, DCPLB_ADDR14) |  | ||||||
| 	PM_PUSH(1, DCPLB_ADDR15) |  | ||||||
| 
 |  | ||||||
| 	/* DCPLB Data */ |  | ||||||
| 	FP = I2; |  | ||||||
| 	PM_PUSH(2, DCPLB_DATA0) |  | ||||||
| 	PM_PUSH(3, DCPLB_DATA1) |  | ||||||
| 	PM_PUSH(4, DCPLB_DATA2) |  | ||||||
| 	PM_PUSH(5, DCPLB_DATA3) |  | ||||||
| 	PM_PUSH(6, DCPLB_DATA4) |  | ||||||
| 	PM_PUSH(7, DCPLB_DATA5) |  | ||||||
| 	PM_PUSH(8, DCPLB_DATA6) |  | ||||||
| 	PM_PUSH(9, DCPLB_DATA7) |  | ||||||
| 	PM_PUSH(10, DCPLB_DATA8) |  | ||||||
| 	PM_PUSH(11, DCPLB_DATA9) |  | ||||||
| 	PM_PUSH(12, DCPLB_DATA10) |  | ||||||
| 	PM_PUSH(13, DCPLB_DATA11) |  | ||||||
| 	PM_PUSH_SYNC(13) |  | ||||||
| 	PM_PUSH(0, DCPLB_DATA12) |  | ||||||
| 	PM_PUSH(1, DCPLB_DATA13) |  | ||||||
| 	PM_PUSH(2, DCPLB_DATA14) |  | ||||||
| 	PM_PUSH(3, DCPLB_DATA15) |  | ||||||
| 
 |  | ||||||
| 	/* ICPLB Addr */ |  | ||||||
| 	FP = I3; |  | ||||||
| 	PM_PUSH(4, ICPLB_ADDR0) |  | ||||||
| 	PM_PUSH(5, ICPLB_ADDR1) |  | ||||||
| 	PM_PUSH(6, ICPLB_ADDR2) |  | ||||||
| 	PM_PUSH(7, ICPLB_ADDR3) |  | ||||||
| 	PM_PUSH(8, ICPLB_ADDR4) |  | ||||||
| 	PM_PUSH(9, ICPLB_ADDR5) |  | ||||||
| 	PM_PUSH(10, ICPLB_ADDR6) |  | ||||||
| 	PM_PUSH(11, ICPLB_ADDR7) |  | ||||||
| 	PM_PUSH(12, ICPLB_ADDR8) |  | ||||||
| 	PM_PUSH(13, ICPLB_ADDR9) |  | ||||||
| 	PM_PUSH_SYNC(13) |  | ||||||
| 	PM_PUSH(0, ICPLB_ADDR10) |  | ||||||
| 	PM_PUSH(1, ICPLB_ADDR11) |  | ||||||
| 	PM_PUSH(2, ICPLB_ADDR12) |  | ||||||
| 	PM_PUSH(3, ICPLB_ADDR13) |  | ||||||
| 	PM_PUSH(4, ICPLB_ADDR14) |  | ||||||
| 	PM_PUSH(5, ICPLB_ADDR15) |  | ||||||
| 
 |  | ||||||
| 	/* ICPLB Data */ |  | ||||||
| 	FP = B0; |  | ||||||
| 	PM_PUSH(6, ICPLB_DATA0) |  | ||||||
| 	PM_PUSH(7, ICPLB_DATA1) |  | ||||||
| 	PM_PUSH(8, ICPLB_DATA2) |  | ||||||
| 	PM_PUSH(9, ICPLB_DATA3) |  | ||||||
| 	PM_PUSH(10, ICPLB_DATA4) |  | ||||||
| 	PM_PUSH(11, ICPLB_DATA5) |  | ||||||
| 	PM_PUSH(12, ICPLB_DATA6) |  | ||||||
| 	PM_PUSH(13, ICPLB_DATA7) |  | ||||||
| 	PM_PUSH_SYNC(13) |  | ||||||
| 	PM_PUSH(0, ICPLB_DATA8) |  | ||||||
| 	PM_PUSH(1, ICPLB_DATA9) |  | ||||||
| 	PM_PUSH(2, ICPLB_DATA10) |  | ||||||
| 	PM_PUSH(3, ICPLB_DATA11) |  | ||||||
| 	PM_PUSH(4, ICPLB_DATA12) |  | ||||||
| 	PM_PUSH(5, ICPLB_DATA13) |  | ||||||
| 	PM_PUSH(6, ICPLB_DATA14) |  | ||||||
| 	PM_PUSH(7, ICPLB_DATA15) |  | ||||||
| 	PM_PUSH_SYNC(7) |  | ||||||
| 	.endm |  | ||||||
| 
 |  | ||||||
| 	.macro bfin_core_mmr_restore |  | ||||||
| 	/* Restore Core MMRs */ |  | ||||||
| 	I0.H = hi(COREMMR_BASE); |  | ||||||
| 	I0.L = lo(COREMMR_BASE); |  | ||||||
| 	I1 = I0; |  | ||||||
| 	I2 = I0; |  | ||||||
| 	I3 = I0; |  | ||||||
| 	B0 = I0; |  | ||||||
| 	B1 = I0; |  | ||||||
| 	B2 = I0; |  | ||||||
| 	B3 = I0; |  | ||||||
| 	I1.L = lo(DCPLB_ADDR15); |  | ||||||
| 	I2.L = lo(DCPLB_DATA15); |  | ||||||
| 	I3.L = lo(ICPLB_ADDR15); |  | ||||||
| 	B0.L = lo(ICPLB_DATA15); |  | ||||||
| 	B1.L = lo(EVT15); |  | ||||||
| 	B2.L = lo(IPRIO); |  | ||||||
| 	B3.L = lo(TCOUNT); |  | ||||||
| 
 |  | ||||||
| 	/* ICPLB Data */ |  | ||||||
| 	FP = B0; |  | ||||||
| 	PM_POP_SYNC(7) |  | ||||||
| 	PM_POP(7, ICPLB_DATA15) |  | ||||||
| 	PM_POP(6, ICPLB_DATA14) |  | ||||||
| 	PM_POP(5, ICPLB_DATA13) |  | ||||||
| 	PM_POP(4, ICPLB_DATA12) |  | ||||||
| 	PM_POP(3, ICPLB_DATA11) |  | ||||||
| 	PM_POP(2, ICPLB_DATA10) |  | ||||||
| 	PM_POP(1, ICPLB_DATA9) |  | ||||||
| 	PM_POP(0, ICPLB_DATA8) |  | ||||||
| 	PM_POP_SYNC(13) |  | ||||||
| 	PM_POP(13, ICPLB_DATA7) |  | ||||||
| 	PM_POP(12, ICPLB_DATA6) |  | ||||||
| 	PM_POP(11, ICPLB_DATA5) |  | ||||||
| 	PM_POP(10, ICPLB_DATA4) |  | ||||||
| 	PM_POP(9, ICPLB_DATA3) |  | ||||||
| 	PM_POP(8, ICPLB_DATA2) |  | ||||||
| 	PM_POP(7, ICPLB_DATA1) |  | ||||||
| 	PM_POP(6, ICPLB_DATA0) |  | ||||||
| 
 |  | ||||||
| 	/* ICPLB Addr */ |  | ||||||
| 	FP = I3; |  | ||||||
| 	PM_POP(5, ICPLB_ADDR15) |  | ||||||
| 	PM_POP(4, ICPLB_ADDR14) |  | ||||||
| 	PM_POP(3, ICPLB_ADDR13) |  | ||||||
| 	PM_POP(2, ICPLB_ADDR12) |  | ||||||
| 	PM_POP(1, ICPLB_ADDR11) |  | ||||||
| 	PM_POP(0, ICPLB_ADDR10) |  | ||||||
| 	PM_POP_SYNC(13) |  | ||||||
| 	PM_POP(13, ICPLB_ADDR9) |  | ||||||
| 	PM_POP(12, ICPLB_ADDR8) |  | ||||||
| 	PM_POP(11, ICPLB_ADDR7) |  | ||||||
| 	PM_POP(10, ICPLB_ADDR6) |  | ||||||
| 	PM_POP(9, ICPLB_ADDR5) |  | ||||||
| 	PM_POP(8, ICPLB_ADDR4) |  | ||||||
| 	PM_POP(7, ICPLB_ADDR3) |  | ||||||
| 	PM_POP(6, ICPLB_ADDR2) |  | ||||||
| 	PM_POP(5, ICPLB_ADDR1) |  | ||||||
| 	PM_POP(4, ICPLB_ADDR0) |  | ||||||
| 
 |  | ||||||
| 	/* DCPLB Data */ |  | ||||||
| 	FP = I2; |  | ||||||
| 	PM_POP(3, DCPLB_DATA15) |  | ||||||
| 	PM_POP(2, DCPLB_DATA14) |  | ||||||
| 	PM_POP(1, DCPLB_DATA13) |  | ||||||
| 	PM_POP(0, DCPLB_DATA12) |  | ||||||
| 	PM_POP_SYNC(13) |  | ||||||
| 	PM_POP(13, DCPLB_DATA11) |  | ||||||
| 	PM_POP(12, DCPLB_DATA10) |  | ||||||
| 	PM_POP(11, DCPLB_DATA9) |  | ||||||
| 	PM_POP(10, DCPLB_DATA8) |  | ||||||
| 	PM_POP(9, DCPLB_DATA7) |  | ||||||
| 	PM_POP(8, DCPLB_DATA6) |  | ||||||
| 	PM_POP(7, DCPLB_DATA5) |  | ||||||
| 	PM_POP(6, DCPLB_DATA4) |  | ||||||
| 	PM_POP(5, DCPLB_DATA3) |  | ||||||
| 	PM_POP(4, DCPLB_DATA2) |  | ||||||
| 	PM_POP(3, DCPLB_DATA1) |  | ||||||
| 	PM_POP(2, DCPLB_DATA0) |  | ||||||
| 
 |  | ||||||
| 	/* DCPLB Addr */ |  | ||||||
| 	FP = I1; |  | ||||||
| 	PM_POP(1, DCPLB_ADDR15) |  | ||||||
| 	PM_POP(0, DCPLB_ADDR14) |  | ||||||
| 	PM_POP_SYNC(13) |  | ||||||
| 	PM_POP(13, DCPLB_ADDR13) |  | ||||||
| 	PM_POP(12, DCPLB_ADDR12) |  | ||||||
| 	PM_POP(11, DCPLB_ADDR11) |  | ||||||
| 	PM_POP(10, DCPLB_ADDR10) |  | ||||||
| 	PM_POP(9, DCPLB_ADDR9) |  | ||||||
| 	PM_POP(8, DCPLB_ADDR8) |  | ||||||
| 	PM_POP(7, DCPLB_ADDR7) |  | ||||||
| 	PM_POP(6, DCPLB_ADDR6) |  | ||||||
| 	PM_POP(5, DCPLB_ADDR5) |  | ||||||
| 	PM_POP(4, DCPLB_ADDR4) |  | ||||||
| 	PM_POP(3, DCPLB_ADDR3) |  | ||||||
| 	PM_POP(2, DCPLB_ADDR2) |  | ||||||
| 	PM_POP(1, DCPLB_ADDR1) |  | ||||||
| 	PM_POP(0, DCPLB_ADDR0) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 	/* Misc non-contiguous registers */ |  | ||||||
| 
 |  | ||||||
| 	/* icache & dcache will enable later 
 |  | ||||||
| 	   drop IMEM_CONTROL, DMEM_CONTROL pop |  | ||||||
| 	*/ |  | ||||||
| 	FP = I0; |  | ||||||
| 	PM_POP_SYNC(2) |  | ||||||
| 	PM_CORE_POP(2, TBUFCTL) |  | ||||||
| 	PM_CORE_POP(1, IMEM_CONTROL) |  | ||||||
| 	PM_CORE_POP(0, DMEM_CONTROL) |  | ||||||
| 
 |  | ||||||
| 	/* Core Timer */ |  | ||||||
| 	FP = B3; |  | ||||||
| 	R0 = 0x1; |  | ||||||
| 	[FP - 0xC] = R0; |  | ||||||
| 
 |  | ||||||
| 	PM_POP_SYNC(13) |  | ||||||
| 	FP = B3; |  | ||||||
| 	PM_POP(13, TCOUNT) |  | ||||||
| 	PM_POP(12, TSCALE) |  | ||||||
| 	PM_POP(11, TPERIOD) |  | ||||||
| 	PM_POP(10, TCNTL) |  | ||||||
| 
 |  | ||||||
| 	/* CEC */ |  | ||||||
| 	FP = B2; |  | ||||||
| 	PM_POP(9, IPRIO) |  | ||||||
| 	PM_POP(8, ILAT) |  | ||||||
| 	FP += -4;	/* IPEND */ |  | ||||||
| 	PM_POP(7, IMASK) |  | ||||||
| 
 |  | ||||||
| 	/* Event Vectors */ |  | ||||||
| 	FP = B1; |  | ||||||
| 	PM_POP(6, EVT15) |  | ||||||
| 	PM_POP(5, EVT14) |  | ||||||
| 	PM_POP(4, EVT13) |  | ||||||
| 	PM_POP(3, EVT12) |  | ||||||
| 	PM_POP(2, EVT11) |  | ||||||
| 	PM_POP(1, EVT10) |  | ||||||
| 	PM_POP(0, EVT9) |  | ||||||
| 	PM_POP_SYNC(5) |  | ||||||
| 	PM_POP(5, EVT8) |  | ||||||
| 	PM_POP(4, EVT7) |  | ||||||
| 	PM_POP(3, EVT6) |  | ||||||
| 	PM_POP(2, EVT5) |  | ||||||
| 	FP += -4;	/* EVT4 */ |  | ||||||
| 	PM_POP(1, EVT3) |  | ||||||
| 	PM_POP(0, EVT2) |  | ||||||
| 	.endm |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <mach/pll.h> |  | ||||||
| 
 |  | ||||||
| /* PLL_CTL Masks */ |  | ||||||
| #define DF			0x0001	/* 0: PLL = CLKIN, 1: PLL = CLKIN/2 */ |  | ||||||
| #define PLL_OFF			0x0002	/* PLL Not Powered */ |  | ||||||
| #define STOPCK			0x0008	/* Core Clock Off */ |  | ||||||
| #define PDWN			0x0020	/* Enter Deep Sleep Mode */ |  | ||||||
| #ifdef __ADSPBF539__ |  | ||||||
| # define IN_DELAY		0x0014	/* Add 200ps Delay To EBIU Input Latches */ |  | ||||||
| # define OUT_DELAY		0x00C0	/* Add 200ps Delay To EBIU Output Signals */ |  | ||||||
| #else |  | ||||||
| # define IN_DELAY		0x0040	/* Add 200ps Delay To EBIU Input Latches */ |  | ||||||
| # define OUT_DELAY		0x0080	/* Add 200ps Delay To EBIU Output Signals */ |  | ||||||
| #endif |  | ||||||
| #define BYPASS			0x0100	/* Bypass the PLL */ |  | ||||||
| #define MSEL			0x7E00	/* Multiplier Select For CCLK/VCO Factors */ |  | ||||||
| #define SPORT_HYST		0x8000	/* Enable Additional Hysteresis on SPORT Input Pins */ |  | ||||||
| #define SET_MSEL(x)		(((x)&0x3F) << 0x9)	/* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */ |  | ||||||
| 
 |  | ||||||
| /* PLL_DIV Masks */ |  | ||||||
| #define SSEL			0x000F	/* System Select */ |  | ||||||
| #define CSEL			0x0030	/* Core Select */ |  | ||||||
| #define CSEL_DIV1		0x0000	/* CCLK = VCO / 1 */ |  | ||||||
| #define CSEL_DIV2		0x0010	/* CCLK = VCO / 2 */ |  | ||||||
| #define CSEL_DIV4		0x0020	/* CCLK = VCO / 4 */ |  | ||||||
| #define CSEL_DIV8		0x0030	/* CCLK = VCO / 8 */ |  | ||||||
| 
 |  | ||||||
| #define CCLK_DIV1 CSEL_DIV1 |  | ||||||
| #define CCLK_DIV2 CSEL_DIV2 |  | ||||||
| #define CCLK_DIV4 CSEL_DIV4 |  | ||||||
| #define CCLK_DIV8 CSEL_DIV8 |  | ||||||
| 
 |  | ||||||
| #define SET_SSEL(x)	((x) & 0xF)	/* Set SSEL = 0-15 --> SCLK = VCO/SSEL */ |  | ||||||
| #define SCLK_DIV(x)	(x)		/* SCLK = VCO / x */ |  | ||||||
| 
 |  | ||||||
| /* PLL_STAT Masks */ |  | ||||||
| #define ACTIVE_PLLENABLED	0x0001	/* Processor In Active Mode With PLL Enabled */ |  | ||||||
| #define FULL_ON			0x0002	/* Processor In Full On Mode */ |  | ||||||
| #define ACTIVE_PLLDISABLED	0x0004	/* Processor In Active Mode With PLL Disabled */ |  | ||||||
| #define PLL_LOCKED		0x0020	/* PLL_LOCKCNT Has Been Reached */ |  | ||||||
| 
 |  | ||||||
| #define RTCWS			0x0400	/* RTC/Reset Wake-Up Status */ |  | ||||||
| #define CANWS			0x0800	/* CAN Wake-Up Status */ |  | ||||||
| #define USBWS			0x2000	/* USB Wake-Up Status */ |  | ||||||
| #define KPADWS			0x4000	/* Keypad Wake-Up Status */ |  | ||||||
| #define ROTWS			0x8000	/* Rotary Wake-Up Status */ |  | ||||||
| #define GPWS			0x1000	/* General-Purpose Wake-Up Status */ |  | ||||||
| 
 |  | ||||||
| /* VR_CTL Masks */ |  | ||||||
| #if defined(__ADSPBF52x__) || defined(__ADSPBF51x__) |  | ||||||
| #define FREQ			0x3000	/* Switching Oscillator Frequency For Regulator */ |  | ||||||
| #define FREQ_1000		0x3000	/* Switching Frequency Is 1 MHz */ |  | ||||||
| #else |  | ||||||
| #define FREQ			0x0003	/* Switching Oscillator Frequency For Regulator */ |  | ||||||
| #define FREQ_333		0x0001	/* Switching Frequency Is 333 kHz */ |  | ||||||
| #define FREQ_667		0x0002	/* Switching Frequency Is 667 kHz */ |  | ||||||
| #define FREQ_1000		0x0003	/* Switching Frequency Is 1 MHz */ |  | ||||||
| #endif |  | ||||||
| #define HIBERNATE		0x0000	/* Powerdown/Bypass On-Board Regulation */ |  | ||||||
| 
 |  | ||||||
| #define GAIN			0x000C	/* Voltage Level Gain */ |  | ||||||
| #define GAIN_5			0x0000	/* GAIN = 5 */ |  | ||||||
| #define GAIN_10			0x0004	/* GAIN = 1 */ |  | ||||||
| #define GAIN_20			0x0008	/* GAIN = 2 */ |  | ||||||
| #define GAIN_50			0x000C	/* GAIN = 5 */ |  | ||||||
| 
 |  | ||||||
| #define VLEV			0x00F0	/* Internal Voltage Level */ |  | ||||||
| #ifdef __ADSPBF52x__ |  | ||||||
| #define VLEV_085		0x0040	/* VLEV = 0.85 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_090		0x0050	/* VLEV = 0.90 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_095		0x0060	/* VLEV = 0.95 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_100		0x0070	/* VLEV = 1.00 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_105		0x0080	/* VLEV = 1.05 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_110		0x0090	/* VLEV = 1.10 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_115		0x00A0	/* VLEV = 1.15 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_120		0x00B0	/* VLEV = 1.20 V (-5% - +10% Accuracy) */ |  | ||||||
| #else |  | ||||||
| #define VLEV_085		0x0060	/* VLEV = 0.85 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_090		0x0070	/* VLEV = 0.90 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_095		0x0080	/* VLEV = 0.95 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_100		0x0090	/* VLEV = 1.00 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_105		0x00A0	/* VLEV = 1.05 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_110		0x00B0	/* VLEV = 1.10 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_115		0x00C0	/* VLEV = 1.15 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_120		0x00D0	/* VLEV = 1.20 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_125		0x00E0	/* VLEV = 1.25 V (-5% - +10% Accuracy) */ |  | ||||||
| #define VLEV_130		0x00F0	/* VLEV = 1.30 V (-5% - +10% Accuracy) */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| #define PA15WE			0x00000001 /* Allow Wake-Up from PA15 */ |  | ||||||
| #define PB15WE			0x00000002 /* Allow Wake-Up from PB15 */ |  | ||||||
| #define PC15WE			0x00000004 /* Allow Wake-Up from PC15 */ |  | ||||||
| #define PD06WE			0x00000008 /* Allow Wake-Up from PD06(ETH0_PHYINT) */ |  | ||||||
| #define PE12WE			0x00000010 /* Allow Wake-Up from PE12(ETH1_PHYINT, PUSH BUTTON) */ |  | ||||||
| #define PG04WE			0x00000020 /* Allow Wake-Up from PG04(CAN0_RX) */ |  | ||||||
| #define PG13WE			0x00000040 /* Allow Wake-Up from PG13 */ |  | ||||||
| #define USBWE			0x00000080 /* Allow Wake-Up from (USB) */ |  | ||||||
| #else |  | ||||||
| #define WAKE			0x0100	/* Enable RTC/Reset Wakeup From Hibernate */ |  | ||||||
| #define CANWE			0x0200	/* Enable CAN Wakeup From Hibernate */ |  | ||||||
| #define PHYWE			0x0400	/* Enable PHY Wakeup From Hibernate */ |  | ||||||
| #define GPWE			0x0400	/* General-Purpose Wake-Up Enable */ |  | ||||||
| #define MXVRWE			0x0400	/* Enable MXVR Wakeup From Hibernate */ |  | ||||||
| #define KPADWE			0x1000	/* Keypad Wake-Up Enable */ |  | ||||||
| #define ROTWE			0x2000	/* Rotary Wake-Up Enable */ |  | ||||||
| #define CLKBUFOE		0x4000	/* CLKIN Buffer Output Enable */ |  | ||||||
| #define SCKELOW			0x8000	/* Do Not Drive SCKE High During Reset After Hibernate */ |  | ||||||
| 
 |  | ||||||
| #if defined(__ADSPBF52x__) || defined(__ADSPBF51x__) |  | ||||||
| #define USBWE			0x0200	/* Enable USB Wakeup From Hibernate */ |  | ||||||
| #else |  | ||||||
| #define USBWE			0x0800	/* Enable USB Wakeup From Hibernate */ |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| void sleep_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); |  | ||||||
| void sleep_deeper(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); |  | ||||||
| void do_hibernate(int wakeup); |  | ||||||
| void set_dram_srfs(void); |  | ||||||
| void unset_dram_srfs(void); |  | ||||||
| 
 |  | ||||||
| #define VRPAIR(vlev, freq) (((vlev) << 16) | ((freq) >> 16)) |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_CPU_FREQ |  | ||||||
| #define CPUFREQ_CPU 0 |  | ||||||
| #endif |  | ||||||
| struct bfin_dpmc_platform_data { |  | ||||||
| 	const unsigned int *tuple_tab; |  | ||||||
| 	unsigned short tabsize; |  | ||||||
| 	unsigned short vr_settling_time; /* in us */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif	/*_BLACKFIN_DPMC_H_*/ |  | ||||||
|  | @ -1,36 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * function prototpyes for early printk |  | ||||||
|  * |  | ||||||
|  * Copyright 2007-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_EARLY_PRINTK_H__ |  | ||||||
| #define __ASM_EARLY_PRINTK_H__ |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_EARLY_PRINTK |  | ||||||
| /* For those that don't include it already */ |  | ||||||
| #include <linux/console.h> |  | ||||||
| 
 |  | ||||||
| extern int setup_early_printk(char *); |  | ||||||
| extern void enable_shadow_console(void); |  | ||||||
| extern int shadow_console_enabled(void); |  | ||||||
| extern void mark_shadow_error(void); |  | ||||||
| extern void early_shadow_reg(unsigned long reg, unsigned int n); |  | ||||||
| extern void early_shadow_write(struct console *con, const char *s, |  | ||||||
| 	unsigned int n) __attribute__((nonnull(2))); |  | ||||||
| #define early_shadow_puts(str) early_shadow_write(NULL, str, strlen(str)) |  | ||||||
| #define early_shadow_stamp() \ |  | ||||||
| 	do { \ |  | ||||||
| 		early_shadow_puts(__FILE__ " : " __stringify(__LINE__) " ["); \ |  | ||||||
| 		early_shadow_puts(__func__); \ |  | ||||||
| 		early_shadow_puts("]\n"); \ |  | ||||||
| 	} while (0) |  | ||||||
| #else |  | ||||||
| #define setup_early_printk(fmt) do { } while (0) |  | ||||||
| #define enable_shadow_console(fmt)  do { } while (0) |  | ||||||
| #define early_shadow_stamp() do { } while (0) |  | ||||||
| #endif /* CONFIG_EARLY_PRINTK */ |  | ||||||
| 
 |  | ||||||
| #endif /* __ASM_EARLY_PRINTK_H__ */ |  | ||||||
|  | @ -1,135 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASMBFIN_ELF_H |  | ||||||
| #define __ASMBFIN_ELF_H |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * ELF register definitions.. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #include <asm/ptrace.h> |  | ||||||
| #include <asm/user.h> |  | ||||||
| 
 |  | ||||||
| /* Processor specific flags for the ELF header e_flags field.  */ |  | ||||||
| #define EF_BFIN_PIC		0x00000001	/* -fpic */ |  | ||||||
| #define EF_BFIN_FDPIC		0x00000002	/* -mfdpic */ |  | ||||||
| #define EF_BFIN_CODE_IN_L1	0x00000010	/* --code-in-l1 */ |  | ||||||
| #define EF_BFIN_DATA_IN_L1	0x00000020	/* --data-in-l1 */ |  | ||||||
| #define EF_BFIN_CODE_IN_L2	0x00000040	/* --code-in-l2 */ |  | ||||||
| #define EF_BFIN_DATA_IN_L2	0x00000080	/* --data-in-l2 */ |  | ||||||
| 
 |  | ||||||
| #if 1	/* core dumps not supported, but linux/elfcore.h needs these */ |  | ||||||
| typedef unsigned long elf_greg_t; |  | ||||||
| 
 |  | ||||||
| #define ELF_NGREG (sizeof(struct pt_regs) / sizeof(elf_greg_t)) |  | ||||||
| typedef elf_greg_t elf_gregset_t[ELF_NGREG]; |  | ||||||
| 
 |  | ||||||
| typedef struct { } elf_fpregset_t; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * This is used to ensure we don't load something for the wrong architecture. |  | ||||||
|  */ |  | ||||||
| #define elf_check_arch(x) ((x)->e_machine == EM_BLACKFIN) |  | ||||||
| 
 |  | ||||||
| #define elf_check_fdpic(x) ((x)->e_flags & EF_BFIN_FDPIC /* && !((x)->e_flags & EF_FRV_NON_PIC_RELOCS) */) |  | ||||||
| #define elf_check_const_displacement(x) ((x)->e_flags & EF_BFIN_PIC) |  | ||||||
| 
 |  | ||||||
| /* EM_BLACKFIN defined in linux/elf.h	*/ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * These are used to set parameters in the core dumps. |  | ||||||
|  */ |  | ||||||
| #define ELF_CLASS	ELFCLASS32 |  | ||||||
| #define ELF_DATA	ELFDATA2LSB |  | ||||||
| #define ELF_ARCH	EM_BLACKFIN |  | ||||||
| 
 |  | ||||||
| #define ELF_PLAT_INIT(_r)	_r->p1 = 0 |  | ||||||
| 
 |  | ||||||
| #define ELF_FDPIC_PLAT_INIT(_regs, _exec_map_addr, _interp_map_addr, _dynamic_addr)	\ |  | ||||||
| do {											\ |  | ||||||
| 	_regs->r7	= 0;						\ |  | ||||||
| 	_regs->p0	= _exec_map_addr;				\ |  | ||||||
| 	_regs->p1	= _interp_map_addr;				\ |  | ||||||
| 	_regs->p2	= _dynamic_addr;				\ |  | ||||||
| } while(0) |  | ||||||
| 
 |  | ||||||
| #if 0 |  | ||||||
| #define CORE_DUMP_USE_REGSET |  | ||||||
| #endif |  | ||||||
| #define ELF_FDPIC_CORE_EFLAGS	EF_BFIN_FDPIC |  | ||||||
| #define ELF_EXEC_PAGESIZE	4096 |  | ||||||
| 
 |  | ||||||
| #define R_BFIN_UNUSED0         0   /* relocation type 0 is not defined */ |  | ||||||
| #define R_BFIN_PCREL5M2        1   /* LSETUP part a */ |  | ||||||
| #define R_BFIN_UNUSED1         2   /* relocation type 2 is not defined */ |  | ||||||
| #define R_BFIN_PCREL10         3   /* type 3, if cc jump <target> */ |  | ||||||
| #define R_BFIN_PCREL12_JUMP    4   /* type 4, jump <target> */ |  | ||||||
| #define R_BFIN_RIMM16          5   /* type 0x5, rN = <target> */ |  | ||||||
| #define R_BFIN_LUIMM16         6   /* # 0x6, preg.l=<target> Load imm 16 to lower half */ |  | ||||||
| #define R_BFIN_HUIMM16         7   /* # 0x7, preg.h=<target> Load imm 16 to upper half */ |  | ||||||
| #define R_BFIN_PCREL12_JUMP_S  8   /* # 0x8 jump.s <target> */ |  | ||||||
| #define R_BFIN_PCREL24_JUMP_X  9   /* # 0x9 jump.x <target> */ |  | ||||||
| #define R_BFIN_PCREL24         10  /* # 0xa call <target> , not expandable */ |  | ||||||
| #define R_BFIN_UNUSEDB         11  /* # 0xb not generated */ |  | ||||||
| #define R_BFIN_UNUSEDC         12  /* # 0xc  not used */ |  | ||||||
| #define R_BFIN_PCREL24_JUMP_L  13  /* 0xd jump.l <target> */ |  | ||||||
| #define R_BFIN_PCREL24_CALL_X  14  /* 0xE, call.x <target> if <target> is above 24 bit limit call through P1 */ |  | ||||||
| #define R_BFIN_VAR_EQ_SYMB     15  /* 0xf, linker should treat it same as 0x12 */ |  | ||||||
| #define R_BFIN_BYTE_DATA       16  /* 0x10, .byte var = symbol */ |  | ||||||
| #define R_BFIN_BYTE2_DATA      17  /* 0x11, .byte2 var = symbol */ |  | ||||||
| #define R_BFIN_BYTE4_DATA      18  /* 0x12, .byte4 var = symbol and .var var=symbol */ |  | ||||||
| #define R_BFIN_PCREL11         19  /* 0x13, lsetup part b */ |  | ||||||
| #define R_BFIN_UNUSED14        20  /* 0x14, undefined */ |  | ||||||
| #define R_BFIN_UNUSED15        21  /* not generated by VDSP 3.5 */ |  | ||||||
| 
 |  | ||||||
| /* arithmetic relocations */ |  | ||||||
| #define R_BFIN_PUSH            0xE0 |  | ||||||
| #define R_BFIN_CONST           0xE1 |  | ||||||
| #define R_BFIN_ADD             0xE2 |  | ||||||
| #define R_BFIN_SUB             0xE3 |  | ||||||
| #define R_BFIN_MULT            0xE4 |  | ||||||
| #define R_BFIN_DIV             0xE5 |  | ||||||
| #define R_BFIN_MOD             0xE6 |  | ||||||
| #define R_BFIN_LSHIFT          0xE7 |  | ||||||
| #define R_BFIN_RSHIFT          0xE8 |  | ||||||
| #define R_BFIN_AND             0xE9 |  | ||||||
| #define R_BFIN_OR              0xEA |  | ||||||
| #define R_BFIN_XOR             0xEB |  | ||||||
| #define R_BFIN_LAND            0xEC |  | ||||||
| #define R_BFIN_LOR             0xED |  | ||||||
| #define R_BFIN_LEN             0xEE |  | ||||||
| #define R_BFIN_NEG             0xEF |  | ||||||
| #define R_BFIN_COMP            0xF0 |  | ||||||
| #define R_BFIN_PAGE            0xF1 |  | ||||||
| #define R_BFIN_HWPAGE          0xF2 |  | ||||||
| #define R_BFIN_ADDR            0xF3 |  | ||||||
| 
 |  | ||||||
| /* This is the location that an ET_DYN program is loaded if exec'ed.  Typical
 |  | ||||||
|    use of this is to invoke "./ld.so someprog" to test out a new version of |  | ||||||
|    the loader.  We need to make sure that it is out of the way of the program |  | ||||||
|    that it will "exec", and that there is sufficient room for the brk.  */ |  | ||||||
| 
 |  | ||||||
| #define ELF_ET_DYN_BASE         0xD0000000UL |  | ||||||
| 
 |  | ||||||
| #define ELF_CORE_COPY_REGS(pr_reg, regs)	\ |  | ||||||
|         memcpy((char *) &pr_reg, (char *)regs,  \ |  | ||||||
|                sizeof(struct pt_regs)); |  | ||||||
| #define ELF_CORE_COPY_FPREGS(...) 0	/* Blackfin has no FPU */ |  | ||||||
| 
 |  | ||||||
| /* This yields a mask that user programs can use to figure out what
 |  | ||||||
|    instruction set this cpu supports.  */ |  | ||||||
| 
 |  | ||||||
| #define ELF_HWCAP	(0) |  | ||||||
| 
 |  | ||||||
| /* This yields a string that ld.so will use to load implementation
 |  | ||||||
|    specific libraries for optimization.  This is more specific in |  | ||||||
|    intent than poking at uname or /proc/cpuinfo.  */ |  | ||||||
| 
 |  | ||||||
| #define ELF_PLATFORM  (NULL) |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,178 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __BFIN_ENTRY_H |  | ||||||
| #define __BFIN_ENTRY_H |  | ||||||
| 
 |  | ||||||
| #include <asm/setup.h> |  | ||||||
| #include <asm/page.h> |  | ||||||
| 
 |  | ||||||
| #ifdef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| #define	LFLUSH_I_AND_D	0x00000808 |  | ||||||
| #define	LSIGTRAP	5 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * NOTE!  The single-stepping code assumes that all interrupt handlers |  | ||||||
|  * start by saving SYSCFG on the stack with their first instruction. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /* This one is used for exceptions, emulation, and NMI.  It doesn't push
 |  | ||||||
|    RETI and doesn't do cli.  */ |  | ||||||
| #define SAVE_ALL_SYS		save_context_no_interrupts |  | ||||||
| /* This is used for all normal interrupts.  It saves a minimum of registers
 |  | ||||||
|    to the stack, loads the IRQ number, and jumps to common code.  */ |  | ||||||
| #ifdef CONFIG_IPIPE |  | ||||||
| # define LOAD_IPIPE_IPEND \ |  | ||||||
| 	P0.l = lo(IPEND); \ |  | ||||||
| 	P0.h = hi(IPEND); \ |  | ||||||
| 	R1 = [P0]; |  | ||||||
| #else |  | ||||||
| # define LOAD_IPIPE_IPEND |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Workaround for anomalies 05000283 and 05000315 |  | ||||||
|  */ |  | ||||||
| #if ANOMALY_05000283 || ANOMALY_05000315 |  | ||||||
| # define ANOMALY_283_315_WORKAROUND(preg, dreg)		\ |  | ||||||
| 	cc = dreg == dreg;				\ |  | ||||||
| 	preg.h = HI(CHIPID);				\ |  | ||||||
| 	preg.l = LO(CHIPID);				\ |  | ||||||
| 	if cc jump 1f;					\ |  | ||||||
| 	dreg.l = W[preg];				\ |  | ||||||
| 1: |  | ||||||
| #else |  | ||||||
| # define ANOMALY_283_315_WORKAROUND(preg, dreg) |  | ||||||
| #endif /* ANOMALY_05000283 || ANOMALY_05000315 */ |  | ||||||
| 
 |  | ||||||
| #ifndef CONFIG_EXACT_HWERR |  | ||||||
| /* As a debugging aid - we save IPEND when DEBUG_KERNEL is on,
 |  | ||||||
|  * otherwise it is a waste of cycles. |  | ||||||
|  */ |  | ||||||
| # ifndef CONFIG_DEBUG_KERNEL |  | ||||||
| #define INTERRUPT_ENTRY(N)						\ |  | ||||||
|     [--sp] = SYSCFG;							\ |  | ||||||
|     [--sp] = P0;	/*orig_p0*/					\ |  | ||||||
|     [--sp] = R0;	/*orig_r0*/					\ |  | ||||||
|     [--sp] = (R7:0,P5:0);						\ |  | ||||||
|     R0 = (N);								\ |  | ||||||
|     LOAD_IPIPE_IPEND							\ |  | ||||||
|     jump __common_int_entry; |  | ||||||
| # else /* CONFIG_DEBUG_KERNEL */ |  | ||||||
| #define INTERRUPT_ENTRY(N)						\ |  | ||||||
|     [--sp] = SYSCFG;							\ |  | ||||||
|     [--sp] = P0;	/*orig_p0*/					\ |  | ||||||
|     [--sp] = R0;	/*orig_r0*/					\ |  | ||||||
|     [--sp] = (R7:0,P5:0);						\ |  | ||||||
|     p0.l = lo(IPEND);							\ |  | ||||||
|     p0.h = hi(IPEND);							\ |  | ||||||
|     r1 = [p0];								\ |  | ||||||
|     R0 = (N);								\ |  | ||||||
|     LOAD_IPIPE_IPEND							\ |  | ||||||
|     jump __common_int_entry; |  | ||||||
| # endif /* CONFIG_DEBUG_KERNEL */ |  | ||||||
| 
 |  | ||||||
| /* For timer interrupts, we need to save IPEND, since the user_mode
 |  | ||||||
|  *macro accesses it to determine where to account time. |  | ||||||
|  */ |  | ||||||
| #define TIMER_INTERRUPT_ENTRY(N)					\ |  | ||||||
|     [--sp] = SYSCFG;							\ |  | ||||||
|     [--sp] = P0;	/*orig_p0*/					\ |  | ||||||
|     [--sp] = R0;	/*orig_r0*/					\ |  | ||||||
|     [--sp] = (R7:0,P5:0);						\ |  | ||||||
|     p0.l = lo(IPEND);							\ |  | ||||||
|     p0.h = hi(IPEND);							\ |  | ||||||
|     r1 = [p0];								\ |  | ||||||
|     R0 = (N);								\ |  | ||||||
|     jump __common_int_entry; |  | ||||||
| #else /* CONFIG_EXACT_HWERR is defined */ |  | ||||||
| 
 |  | ||||||
| /* if we want hardware error to be exact, we need to do a SSYNC (which forces
 |  | ||||||
|  * read/writes to complete to the memory controllers), and check to see that |  | ||||||
|  * caused a pending HW error condition. If so, we assume it was caused by user |  | ||||||
|  * space, by setting the same interrupt that we are in (so it goes off again) |  | ||||||
|  * and context restore, and a RTI (without servicing anything). This should |  | ||||||
|  * cause the pending HWERR to fire, and when that is done, this interrupt will |  | ||||||
|  * be re-serviced properly. |  | ||||||
|  * As you can see by the code - we actually need to do two SSYNCS - one to |  | ||||||
|  * make sure the read/writes complete, and another to make sure the hardware |  | ||||||
|  * error is recognized by the core. |  | ||||||
|  * |  | ||||||
|  * The extra nop before the SSYNC is to make sure we work around 05000244, |  | ||||||
|  * since the 283/315 workaround includes a branch to the end |  | ||||||
|  */ |  | ||||||
| #define INTERRUPT_ENTRY(N)						\ |  | ||||||
|     [--sp] = SYSCFG;							\ |  | ||||||
|     [--sp] = P0;	/*orig_p0*/					\ |  | ||||||
|     [--sp] = R0;	/*orig_r0*/					\ |  | ||||||
|     [--sp] = (R7:0,P5:0);						\ |  | ||||||
|     R1 = ASTAT;								\ |  | ||||||
|     ANOMALY_283_315_WORKAROUND(p0, r0)					\ |  | ||||||
|     P0.L = LO(ILAT);							\ |  | ||||||
|     P0.H = HI(ILAT);							\ |  | ||||||
|     NOP;								\ |  | ||||||
|     SSYNC;								\ |  | ||||||
|     SSYNC;								\ |  | ||||||
|     R0 = [P0];								\ |  | ||||||
|     CC = BITTST(R0, EVT_IVHW_P);					\ |  | ||||||
|     IF CC JUMP 1f;							\ |  | ||||||
|     ASTAT = R1;								\ |  | ||||||
|     p0.l = lo(IPEND);							\ |  | ||||||
|     p0.h = hi(IPEND);							\ |  | ||||||
|     r1 = [p0];								\ |  | ||||||
|     R0 = (N);								\ |  | ||||||
|     LOAD_IPIPE_IPEND							\ |  | ||||||
|     jump __common_int_entry;						\ |  | ||||||
| 1:  ASTAT = R1;								\ |  | ||||||
|     RAISE N;								\ |  | ||||||
|     (R7:0, P5:0) = [SP++];						\ |  | ||||||
|     SP += 0x8;								\ |  | ||||||
|     SYSCFG = [SP++];							\ |  | ||||||
|     CSYNC;								\ |  | ||||||
|     RTI; |  | ||||||
| 
 |  | ||||||
| #define TIMER_INTERRUPT_ENTRY(N)					\ |  | ||||||
|     [--sp] = SYSCFG;							\ |  | ||||||
|     [--sp] = P0;	/*orig_p0*/					\ |  | ||||||
|     [--sp] = R0;	/*orig_r0*/					\ |  | ||||||
|     [--sp] = (R7:0,P5:0);						\ |  | ||||||
|     R1 = ASTAT;								\ |  | ||||||
|     ANOMALY_283_315_WORKAROUND(p0, r0)					\ |  | ||||||
|     P0.L = LO(ILAT);							\ |  | ||||||
|     P0.H = HI(ILAT);							\ |  | ||||||
|     NOP;								\ |  | ||||||
|     SSYNC;								\ |  | ||||||
|     SSYNC;								\ |  | ||||||
|     R0 = [P0];								\ |  | ||||||
|     CC = BITTST(R0, EVT_IVHW_P);					\ |  | ||||||
|     IF CC JUMP 1f;							\ |  | ||||||
|     ASTAT = R1;								\ |  | ||||||
|     p0.l = lo(IPEND);							\ |  | ||||||
|     p0.h = hi(IPEND);							\ |  | ||||||
|     r1 = [p0];								\ |  | ||||||
|     R0 = (N);								\ |  | ||||||
|     jump __common_int_entry;						\ |  | ||||||
| 1:  ASTAT = R1;								\ |  | ||||||
|     RAISE N;								\ |  | ||||||
|     (R7:0, P5:0) = [SP++];						\ |  | ||||||
|     SP += 0x8;								\ |  | ||||||
|     SYSCFG = [SP++];							\ |  | ||||||
|     CSYNC;								\ |  | ||||||
|     RTI; |  | ||||||
| #endif	/* CONFIG_EXACT_HWERR */ |  | ||||||
| 
 |  | ||||||
| /* This one pushes RETI without using CLI.  Interrupts are enabled.  */ |  | ||||||
| #define SAVE_CONTEXT_SYSCALL	save_context_syscall |  | ||||||
| #define SAVE_CONTEXT		save_context_with_interrupts |  | ||||||
| #define SAVE_CONTEXT_CPLB	save_context_cplb |  | ||||||
| 
 |  | ||||||
| #define RESTORE_ALL_SYS		restore_context_no_interrupts |  | ||||||
| #define RESTORE_CONTEXT		restore_context_with_interrupts |  | ||||||
| #define RESTORE_CONTEXT_CPLB	restore_context_cplb |  | ||||||
| 
 |  | ||||||
| #endif				/* __ASSEMBLY__ */ |  | ||||||
| #endif				/* __BFIN_ENTRY_H */ |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| /* define arch_align_stack() here */ |  | ||||||
|  | @ -1,30 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * This file defines the fixed addresses where userspace programs |  | ||||||
|  * can find atomic code sequences. |  | ||||||
|  * |  | ||||||
|  * Copyright 2007-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| #ifndef __BFIN_ASM_FIXED_CODE_H__ |  | ||||||
| #define __BFIN_ASM_FIXED_CODE_H__ |  | ||||||
| 
 |  | ||||||
| #include <uapi/asm/fixed_code.h> |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| #include <linux/linkage.h> |  | ||||||
| #include <linux/ptrace.h> |  | ||||||
| extern asmlinkage void finish_atomic_sections(struct pt_regs *regs); |  | ||||||
| extern char fixed_code_start; |  | ||||||
| extern char fixed_code_end; |  | ||||||
| extern int atomic_xchg32(void); |  | ||||||
| extern int atomic_cas32(void); |  | ||||||
| extern int atomic_add32(void); |  | ||||||
| extern int atomic_sub32(void); |  | ||||||
| extern int atomic_ior32(void); |  | ||||||
| extern int atomic_and32(void); |  | ||||||
| extern int atomic_xor32(void); |  | ||||||
| extern void safe_user_instruction(void); |  | ||||||
| extern void sigreturn_stub(void); |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
|  | @ -1,62 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * uClinux flat-format executables |  | ||||||
|  * |  | ||||||
|  * Copyright 2003-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __BLACKFIN_FLAT_H__ |  | ||||||
| #define __BLACKFIN_FLAT_H__ |  | ||||||
| 
 |  | ||||||
| #include <asm/unaligned.h> |  | ||||||
| 
 |  | ||||||
| #define	flat_argvp_envp_on_stack()		0 |  | ||||||
| #define	flat_old_ram_flag(flags)		(flags) |  | ||||||
| 
 |  | ||||||
| extern unsigned long bfin_get_addr_from_rp (u32 *ptr, u32 relval, |  | ||||||
| 					u32 flags, u32 *persistent); |  | ||||||
| 
 |  | ||||||
| extern void bfin_put_addr_at_rp(u32 *ptr, u32 addr, u32 relval); |  | ||||||
| 
 |  | ||||||
| /* The amount by which a relocation can exceed the program image limits
 |  | ||||||
|    without being regarded as an error.  */ |  | ||||||
| 
 |  | ||||||
| #define	flat_reloc_valid(reloc, size)	((reloc) <= (size)) |  | ||||||
| 
 |  | ||||||
| static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags, |  | ||||||
| 					u32 *addr, u32 *persistent) |  | ||||||
| { |  | ||||||
| 	*addr = bfin_get_addr_from_rp(rp, relval, flags, persistent); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int flat_put_addr_at_rp(u32 __user *rp, u32 val, u32 relval) |  | ||||||
| { |  | ||||||
| 	bfin_put_addr_at_rp(rp, val, relval); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* Convert a relocation entry into an address.  */ |  | ||||||
| static inline unsigned long |  | ||||||
| flat_get_relocate_addr (unsigned long relval) |  | ||||||
| { |  | ||||||
| 	return relval & 0x03ffffff; /* Mask out top 6 bits */ |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int flat_set_persistent(u32 relval, u32 *persistent) |  | ||||||
| { |  | ||||||
| 	int type = (relval >> 26) & 7; |  | ||||||
| 	if (type == 3) { |  | ||||||
| 		*persistent = relval << 16; |  | ||||||
| 		return 1; |  | ||||||
| 	} |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int flat_addr_absolute(unsigned long relval) |  | ||||||
| { |  | ||||||
| 	return (relval & (1 << 29)) != 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #endif				/* __BLACKFIN_FLAT_H__ */ |  | ||||||
|  | @ -1,73 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Blackfin ftrace code |  | ||||||
|  * |  | ||||||
|  * Copyright 2009 Analog Devices Inc. |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BFIN_FTRACE_H__ |  | ||||||
| #define __ASM_BFIN_FTRACE_H__ |  | ||||||
| 
 |  | ||||||
| #define MCOUNT_INSN_SIZE	6 /* sizeof "[++sp] = rets; call __mcount;" */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_DYNAMIC_FTRACE |  | ||||||
| 
 |  | ||||||
| extern void _mcount(void); |  | ||||||
| #define MCOUNT_ADDR ((unsigned long)_mcount) |  | ||||||
| 
 |  | ||||||
| static inline unsigned long ftrace_call_adjust(unsigned long addr) |  | ||||||
| { |  | ||||||
| 	return addr; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| struct dyn_arch_ftrace { |  | ||||||
| 	/* No extra data needed for Blackfin */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_FRAME_POINTER |  | ||||||
| #include <linux/mm.h> |  | ||||||
| 
 |  | ||||||
| extern inline void *return_address(unsigned int level) |  | ||||||
| { |  | ||||||
| 	unsigned long *endstack, *fp, *ret_addr; |  | ||||||
| 	unsigned int current_level = 0; |  | ||||||
| 
 |  | ||||||
| 	if (level == 0) |  | ||||||
| 		return __builtin_return_address(0); |  | ||||||
| 
 |  | ||||||
| 	fp = (unsigned long *)__builtin_frame_address(0); |  | ||||||
| 	endstack = (unsigned long *)PAGE_ALIGN((unsigned long)&level); |  | ||||||
| 
 |  | ||||||
| 	while (((unsigned long)fp & 0x3) == 0 && fp && |  | ||||||
| 	       (fp + 1) < endstack && current_level < level) { |  | ||||||
| 		fp = (unsigned long *)*fp; |  | ||||||
| 		current_level++; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if (((unsigned long)fp & 0x3) == 0 && fp && |  | ||||||
| 	    (fp + 1) < endstack) |  | ||||||
| 		ret_addr = (unsigned long *)*(fp + 1); |  | ||||||
| 	else |  | ||||||
| 		ret_addr = NULL; |  | ||||||
| 
 |  | ||||||
| 	return ret_addr; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| 
 |  | ||||||
| extern inline void *return_address(unsigned int level) |  | ||||||
| { |  | ||||||
| 	return NULL; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #endif /* CONFIG_FRAME_POINTER */ |  | ||||||
| 
 |  | ||||||
| #define ftrace_return_address(n) return_address(n) |  | ||||||
| 
 |  | ||||||
| #endif /* __ASSEMBLY__ */ |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,234 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2006-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ARCH_BLACKFIN_GPIO_H__ |  | ||||||
| #define __ARCH_BLACKFIN_GPIO_H__ |  | ||||||
| 
 |  | ||||||
| #define gpio_bank(x)	((x) >> 4) |  | ||||||
| #define gpio_bit(x)	(1<<((x) & 0xF)) |  | ||||||
| #define gpio_sub_n(x)	((x) & 0xF) |  | ||||||
| 
 |  | ||||||
| #define GPIO_BANKSIZE	16 |  | ||||||
| #define GPIO_BANK_NUM	DIV_ROUND_UP(MAX_BLACKFIN_GPIOS, GPIO_BANKSIZE) |  | ||||||
| 
 |  | ||||||
| #include <mach/gpio.h> |  | ||||||
| 
 |  | ||||||
| #define PERIPHERAL_USAGE 1 |  | ||||||
| #define GPIO_USAGE 0 |  | ||||||
| 
 |  | ||||||
| #ifndef BFIN_GPIO_PINT |  | ||||||
| # define BFIN_GPIO_PINT 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| #ifndef CONFIG_PINCTRL |  | ||||||
| 
 |  | ||||||
| #include <linux/compiler.h> |  | ||||||
| #include <asm/blackfin.h> |  | ||||||
| #include <asm/portmux.h> |  | ||||||
| #include <asm/irq_handler.h> |  | ||||||
| 
 |  | ||||||
| /***********************************************************
 |  | ||||||
| * |  | ||||||
| * FUNCTIONS: Blackfin General Purpose Ports Access Functions |  | ||||||
| * |  | ||||||
| * INPUTS/OUTPUTS: |  | ||||||
| * gpio - GPIO Number between 0 and MAX_BLACKFIN_GPIOS |  | ||||||
| * |  | ||||||
| * |  | ||||||
| * DESCRIPTION: These functions abstract direct register access |  | ||||||
| *              to Blackfin processor General Purpose |  | ||||||
| *              Ports Regsiters |  | ||||||
| * |  | ||||||
| * CAUTION: These functions do not belong to the GPIO Driver API |  | ||||||
| ************************************************************* |  | ||||||
| * MODIFICATION HISTORY : |  | ||||||
| **************************************************************/ |  | ||||||
| 
 |  | ||||||
| void set_gpio_dir(unsigned, unsigned short); |  | ||||||
| void set_gpio_inen(unsigned, unsigned short); |  | ||||||
| void set_gpio_polar(unsigned, unsigned short); |  | ||||||
| void set_gpio_edge(unsigned, unsigned short); |  | ||||||
| void set_gpio_both(unsigned, unsigned short); |  | ||||||
| void set_gpio_data(unsigned, unsigned short); |  | ||||||
| void set_gpio_maska(unsigned, unsigned short); |  | ||||||
| void set_gpio_maskb(unsigned, unsigned short); |  | ||||||
| void set_gpio_toggle(unsigned); |  | ||||||
| void set_gpiop_dir(unsigned, unsigned short); |  | ||||||
| void set_gpiop_inen(unsigned, unsigned short); |  | ||||||
| void set_gpiop_polar(unsigned, unsigned short); |  | ||||||
| void set_gpiop_edge(unsigned, unsigned short); |  | ||||||
| void set_gpiop_both(unsigned, unsigned short); |  | ||||||
| void set_gpiop_data(unsigned, unsigned short); |  | ||||||
| void set_gpiop_maska(unsigned, unsigned short); |  | ||||||
| void set_gpiop_maskb(unsigned, unsigned short); |  | ||||||
| unsigned short get_gpio_dir(unsigned); |  | ||||||
| unsigned short get_gpio_inen(unsigned); |  | ||||||
| unsigned short get_gpio_polar(unsigned); |  | ||||||
| unsigned short get_gpio_edge(unsigned); |  | ||||||
| unsigned short get_gpio_both(unsigned); |  | ||||||
| unsigned short get_gpio_maska(unsigned); |  | ||||||
| unsigned short get_gpio_maskb(unsigned); |  | ||||||
| unsigned short get_gpio_data(unsigned); |  | ||||||
| unsigned short get_gpiop_dir(unsigned); |  | ||||||
| unsigned short get_gpiop_inen(unsigned); |  | ||||||
| unsigned short get_gpiop_polar(unsigned); |  | ||||||
| unsigned short get_gpiop_edge(unsigned); |  | ||||||
| unsigned short get_gpiop_both(unsigned); |  | ||||||
| unsigned short get_gpiop_maska(unsigned); |  | ||||||
| unsigned short get_gpiop_maskb(unsigned); |  | ||||||
| unsigned short get_gpiop_data(unsigned); |  | ||||||
| 
 |  | ||||||
| struct gpio_port_t { |  | ||||||
| 	unsigned short data; |  | ||||||
| 	unsigned short dummy1; |  | ||||||
| 	unsigned short data_clear; |  | ||||||
| 	unsigned short dummy2; |  | ||||||
| 	unsigned short data_set; |  | ||||||
| 	unsigned short dummy3; |  | ||||||
| 	unsigned short toggle; |  | ||||||
| 	unsigned short dummy4; |  | ||||||
| 	unsigned short maska; |  | ||||||
| 	unsigned short dummy5; |  | ||||||
| 	unsigned short maska_clear; |  | ||||||
| 	unsigned short dummy6; |  | ||||||
| 	unsigned short maska_set; |  | ||||||
| 	unsigned short dummy7; |  | ||||||
| 	unsigned short maska_toggle; |  | ||||||
| 	unsigned short dummy8; |  | ||||||
| 	unsigned short maskb; |  | ||||||
| 	unsigned short dummy9; |  | ||||||
| 	unsigned short maskb_clear; |  | ||||||
| 	unsigned short dummy10; |  | ||||||
| 	unsigned short maskb_set; |  | ||||||
| 	unsigned short dummy11; |  | ||||||
| 	unsigned short maskb_toggle; |  | ||||||
| 	unsigned short dummy12; |  | ||||||
| 	unsigned short dir; |  | ||||||
| 	unsigned short dummy13; |  | ||||||
| 	unsigned short polar; |  | ||||||
| 	unsigned short dummy14; |  | ||||||
| 	unsigned short edge; |  | ||||||
| 	unsigned short dummy15; |  | ||||||
| 	unsigned short both; |  | ||||||
| 	unsigned short dummy16; |  | ||||||
| 	unsigned short inen; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #ifdef BFIN_SPECIAL_GPIO_BANKS |  | ||||||
| void bfin_special_gpio_free(unsigned gpio); |  | ||||||
| int bfin_special_gpio_request(unsigned gpio, const char *label); |  | ||||||
| # ifdef CONFIG_PM |  | ||||||
| void bfin_special_gpio_pm_hibernate_restore(void); |  | ||||||
| void bfin_special_gpio_pm_hibernate_suspend(void); |  | ||||||
| # endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_PM |  | ||||||
| void bfin_gpio_pm_hibernate_restore(void); |  | ||||||
| void bfin_gpio_pm_hibernate_suspend(void); |  | ||||||
| int bfin_gpio_pm_wakeup_ctrl(unsigned gpio, unsigned ctrl); |  | ||||||
| int bfin_gpio_pm_standby_ctrl(unsigned ctrl); |  | ||||||
| 
 |  | ||||||
| static inline int bfin_pm_standby_setup(void) |  | ||||||
| { |  | ||||||
| 	return bfin_gpio_pm_standby_ctrl(1); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void bfin_pm_standby_restore(void) |  | ||||||
| { |  | ||||||
| 	bfin_gpio_pm_standby_ctrl(0); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| struct gpio_port_s { |  | ||||||
| 	unsigned short data; |  | ||||||
| 	unsigned short maska; |  | ||||||
| 	unsigned short maskb; |  | ||||||
| 	unsigned short dir; |  | ||||||
| 	unsigned short polar; |  | ||||||
| 	unsigned short edge; |  | ||||||
| 	unsigned short both; |  | ||||||
| 	unsigned short inen; |  | ||||||
| 
 |  | ||||||
| 	unsigned short fer; |  | ||||||
| 	unsigned short reserved; |  | ||||||
| 	unsigned short mux; |  | ||||||
| }; |  | ||||||
| #endif /*CONFIG_PM*/ |  | ||||||
| 
 |  | ||||||
| /***********************************************************
 |  | ||||||
| * |  | ||||||
| * FUNCTIONS: Blackfin GPIO Driver |  | ||||||
| * |  | ||||||
| * INPUTS/OUTPUTS: |  | ||||||
| * gpio - GPIO Number between 0 and MAX_BLACKFIN_GPIOS |  | ||||||
| * |  | ||||||
| * |  | ||||||
| * DESCRIPTION: Blackfin GPIO Driver API |  | ||||||
| * |  | ||||||
| * CAUTION: |  | ||||||
| ************************************************************* |  | ||||||
| * MODIFICATION HISTORY : |  | ||||||
| **************************************************************/ |  | ||||||
| int bfin_gpio_irq_request(unsigned gpio, const char *label); |  | ||||||
| void bfin_gpio_irq_free(unsigned gpio); |  | ||||||
| void bfin_gpio_irq_prepare(unsigned gpio); |  | ||||||
| 
 |  | ||||||
| static inline int irq_to_gpio(unsigned irq) |  | ||||||
| { |  | ||||||
| 	return irq - GPIO_IRQ_BASE; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #else /* CONFIG_PINCTRL */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * CONFIG_PM is not working with pin control and should probably |  | ||||||
|  * avoid being selected when pin control is active, but so far, |  | ||||||
|  * these stubs are here to make allyesconfig and allmodconfig |  | ||||||
|  * compile properly. These functions are normally backed by the |  | ||||||
|  * CONFIG_ADI_GPIO custom GPIO implementation. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| static inline int bfin_pm_standby_setup(void) |  | ||||||
| { |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void bfin_pm_standby_restore(void) |  | ||||||
| { |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #endif /* CONFIG_PINCTRL */ |  | ||||||
| 
 |  | ||||||
| #include <asm/irq.h> |  | ||||||
| #include <asm/errno.h> |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/gpio.h>		/* cansleep wrappers */ |  | ||||||
| 
 |  | ||||||
| static inline int gpio_get_value(unsigned int gpio) |  | ||||||
| { |  | ||||||
| 	return __gpio_get_value(gpio); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void gpio_set_value(unsigned int gpio, int value) |  | ||||||
| { |  | ||||||
| 	__gpio_set_value(gpio, value); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int gpio_cansleep(unsigned int gpio) |  | ||||||
| { |  | ||||||
| 	return __gpio_cansleep(gpio); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline int gpio_to_irq(unsigned gpio) |  | ||||||
| { |  | ||||||
| 	return __gpio_to_irq(gpio); |  | ||||||
| } |  | ||||||
| #endif /* __ASSEMBLY__ */ |  | ||||||
| 
 |  | ||||||
| #endif /* __ARCH_BLACKFIN_GPIO_H__ */ |  | ||||||
|  | @ -1,337 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * gptimers.h - Blackfin General Purpose Timer structs/defines/prototypes |  | ||||||
|  * |  | ||||||
|  * Copyright (c) 2005-2008 Analog Devices Inc. |  | ||||||
|  * Copyright (C) 2005 John DeHority |  | ||||||
|  * Copyright (C) 2006 Hella Aglaia GmbH (awe@aglaia-gmbh.de) |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BLACKFIN_TIMERS_H_ |  | ||||||
| #define _BLACKFIN_TIMERS_H_ |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| #include <asm/blackfin.h> |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * BF51x/BF52x/BF537: 8 timers: |  | ||||||
|  */ |  | ||||||
| #if defined(CONFIG_BF51x) || defined(CONFIG_BF52x) || defined(BF537_FAMILY) |  | ||||||
| # define MAX_BLACKFIN_GPTIMERS 8 |  | ||||||
| # define TIMER0_GROUP_REG      TIMER_ENABLE |  | ||||||
| #endif |  | ||||||
| /*
 |  | ||||||
|  * BF54x: 11 timers (BF542: 8 timers): |  | ||||||
|  */ |  | ||||||
| #if defined(CONFIG_BF54x) |  | ||||||
| # ifdef CONFIG_BF542 |  | ||||||
| #  define MAX_BLACKFIN_GPTIMERS 8 |  | ||||||
| # else |  | ||||||
| #  define MAX_BLACKFIN_GPTIMERS 11 |  | ||||||
| #  define TIMER8_GROUP_REG      TIMER_ENABLE1 |  | ||||||
| #  define TIMER_GROUP2          1 |  | ||||||
| # endif |  | ||||||
| # define TIMER0_GROUP_REG       TIMER_ENABLE0 |  | ||||||
| #endif |  | ||||||
| /*
 |  | ||||||
|  * BF561: 12 timers: |  | ||||||
|  */ |  | ||||||
| #if defined(CONFIG_BF561) |  | ||||||
| # define MAX_BLACKFIN_GPTIMERS 12 |  | ||||||
| # define TIMER0_GROUP_REG      TMRS8_ENABLE |  | ||||||
| # define TIMER8_GROUP_REG      TMRS4_ENABLE |  | ||||||
| # define TIMER_GROUP2          1 |  | ||||||
| #endif |  | ||||||
| /*
 |  | ||||||
|  * BF609: 8 timers: |  | ||||||
|  */ |  | ||||||
| #if defined(CONFIG_BF60x) |  | ||||||
| # define MAX_BLACKFIN_GPTIMERS 8 |  | ||||||
| # define TIMER0_GROUP_REG     TIMER_RUN |  | ||||||
| #endif |  | ||||||
| /*
 |  | ||||||
|  * All others: 3 timers: |  | ||||||
|  */ |  | ||||||
| #define TIMER_GROUP1           0 |  | ||||||
| #if !defined(MAX_BLACKFIN_GPTIMERS) |  | ||||||
| # define MAX_BLACKFIN_GPTIMERS 3 |  | ||||||
| # define TIMER0_GROUP_REG      TIMER_ENABLE |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define BLACKFIN_GPTIMER_IDMASK ((1UL << MAX_BLACKFIN_GPTIMERS) - 1) |  | ||||||
| #define BFIN_TIMER_OCTET(x) ((x) >> 3) |  | ||||||
| 
 |  | ||||||
| /* used in masks for timer_enable() and timer_disable() */ |  | ||||||
| #define TIMER0bit  0x0001  /*  0001b */ |  | ||||||
| #define TIMER1bit  0x0002  /*  0010b */ |  | ||||||
| #define TIMER2bit  0x0004  /*  0100b */ |  | ||||||
| #define TIMER3bit  0x0008 |  | ||||||
| #define TIMER4bit  0x0010 |  | ||||||
| #define TIMER5bit  0x0020 |  | ||||||
| #define TIMER6bit  0x0040 |  | ||||||
| #define TIMER7bit  0x0080 |  | ||||||
| #define TIMER8bit  0x0100 |  | ||||||
| #define TIMER9bit  0x0200 |  | ||||||
| #define TIMER10bit 0x0400 |  | ||||||
| #define TIMER11bit 0x0800 |  | ||||||
| 
 |  | ||||||
| #define TIMER0_id   0 |  | ||||||
| #define TIMER1_id   1 |  | ||||||
| #define TIMER2_id   2 |  | ||||||
| #define TIMER3_id   3 |  | ||||||
| #define TIMER4_id   4 |  | ||||||
| #define TIMER5_id   5 |  | ||||||
| #define TIMER6_id   6 |  | ||||||
| #define TIMER7_id   7 |  | ||||||
| #define TIMER8_id   8 |  | ||||||
| #define TIMER9_id   9 |  | ||||||
| #define TIMER10_id 10 |  | ||||||
| #define TIMER11_id 11 |  | ||||||
| 
 |  | ||||||
| /* associated timers for ppi framesync: */ |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_BF561) |  | ||||||
| # define FS0_1_TIMER_ID   TIMER8_id |  | ||||||
| # define FS0_2_TIMER_ID   TIMER9_id |  | ||||||
| # define FS1_1_TIMER_ID   TIMER10_id |  | ||||||
| # define FS1_2_TIMER_ID   TIMER11_id |  | ||||||
| # define FS0_1_TIMER_BIT  TIMER8bit |  | ||||||
| # define FS0_2_TIMER_BIT  TIMER9bit |  | ||||||
| # define FS1_1_TIMER_BIT  TIMER10bit |  | ||||||
| # define FS1_2_TIMER_BIT  TIMER11bit |  | ||||||
| # undef FS1_TIMER_ID |  | ||||||
| # undef FS2_TIMER_ID |  | ||||||
| # undef FS1_TIMER_BIT |  | ||||||
| # undef FS2_TIMER_BIT |  | ||||||
| #else |  | ||||||
| # define FS1_TIMER_ID  TIMER0_id |  | ||||||
| # define FS2_TIMER_ID  TIMER1_id |  | ||||||
| # define FS1_TIMER_BIT TIMER0bit |  | ||||||
| # define FS2_TIMER_BIT TIMER1bit |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| /*
 |  | ||||||
|  * Timer Configuration Register Bits |  | ||||||
|  */ |  | ||||||
| #define TIMER_EMU_RUN       0x8000 |  | ||||||
| #define TIMER_BPER_EN       0x4000 |  | ||||||
| #define TIMER_BWID_EN       0x2000 |  | ||||||
| #define TIMER_BDLY_EN       0x1000 |  | ||||||
| #define TIMER_OUT_DIS       0x0800 |  | ||||||
| #define TIMER_TIN_SEL       0x0400 |  | ||||||
| #define TIMER_CLK_SEL       0x0300 |  | ||||||
| #define TIMER_CLK_SCLK      0x0000 |  | ||||||
| #define TIMER_CLK_ALT_CLK0  0x0100 |  | ||||||
| #define TIMER_CLK_ALT_CLK1  0x0300 |  | ||||||
| #define TIMER_PULSE_HI 	    0x0080 |  | ||||||
| #define TIMER_SLAVE_TRIG    0x0040 |  | ||||||
| #define TIMER_IRQ_MODE      0x0030 |  | ||||||
| #define TIMER_IRQ_ACT_EDGE  0x0000 |  | ||||||
| #define TIMER_IRQ_DLY       0x0010 |  | ||||||
| #define TIMER_IRQ_WID_DLY   0x0020 |  | ||||||
| #define TIMER_IRQ_PER       0x0030 |  | ||||||
| #define TIMER_MODE          0x000f |  | ||||||
| #define TIMER_MODE_WDOG_P   0x0008 |  | ||||||
| #define TIMER_MODE_WDOG_W   0x0009 |  | ||||||
| #define TIMER_MODE_PWM_CONT 0x000c |  | ||||||
| #define TIMER_MODE_PWM      0x000d |  | ||||||
| #define TIMER_MODE_WDTH     0x000a |  | ||||||
| #define TIMER_MODE_WDTH_D   0x000b |  | ||||||
| #define TIMER_MODE_EXT_CLK  0x000e |  | ||||||
| #define TIMER_MODE_PININT   0x000f |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Timer Status Register Bits |  | ||||||
|  */ |  | ||||||
| #define TIMER_STATUS_TIMIL0  0x0001 |  | ||||||
| #define TIMER_STATUS_TIMIL1  0x0002 |  | ||||||
| #define TIMER_STATUS_TIMIL2  0x0004 |  | ||||||
| #define TIMER_STATUS_TIMIL3  0x0008 |  | ||||||
| #define TIMER_STATUS_TIMIL4  0x0010 |  | ||||||
| #define TIMER_STATUS_TIMIL5  0x0020 |  | ||||||
| #define TIMER_STATUS_TIMIL6  0x0040 |  | ||||||
| #define TIMER_STATUS_TIMIL7  0x0080 |  | ||||||
| 
 |  | ||||||
| #define TIMER_STATUS_TOVF0   0x0001	/* timer 0 overflow error */ |  | ||||||
| #define TIMER_STATUS_TOVF1   0x0002 |  | ||||||
| #define TIMER_STATUS_TOVF2   0x0004 |  | ||||||
| #define TIMER_STATUS_TOVF3   0x0008 |  | ||||||
| #define TIMER_STATUS_TOVF4   0x0010 |  | ||||||
| #define TIMER_STATUS_TOVF5   0x0020 |  | ||||||
| #define TIMER_STATUS_TOVF6   0x0040 |  | ||||||
| #define TIMER_STATUS_TOVF7   0x0080 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Timer Slave Enable Status : write 1 to clear |  | ||||||
|  */ |  | ||||||
| #define TIMER_STATUS_TRUN0  0x0001 |  | ||||||
| #define TIMER_STATUS_TRUN1  0x0002 |  | ||||||
| #define TIMER_STATUS_TRUN2  0x0004 |  | ||||||
| #define TIMER_STATUS_TRUN3  0x0008 |  | ||||||
| #define TIMER_STATUS_TRUN4  0x0010 |  | ||||||
| #define TIMER_STATUS_TRUN5  0x0020 |  | ||||||
| #define TIMER_STATUS_TRUN6  0x0040 |  | ||||||
| #define TIMER_STATUS_TRUN7  0x0080 |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Timer Configuration Register Bits |  | ||||||
|  */ |  | ||||||
| #define TIMER_ERR           0xC000 |  | ||||||
| #define TIMER_ERR_OVFL      0x4000 |  | ||||||
| #define TIMER_ERR_PROG_PER  0x8000 |  | ||||||
| #define TIMER_ERR_PROG_PW   0xC000 |  | ||||||
| #define TIMER_EMU_RUN       0x0200 |  | ||||||
| #define TIMER_TOGGLE_HI     0x0100 |  | ||||||
| #define TIMER_CLK_SEL       0x0080 |  | ||||||
| #define TIMER_OUT_DIS       0x0040 |  | ||||||
| #define TIMER_TIN_SEL       0x0020 |  | ||||||
| #define TIMER_IRQ_ENA       0x0010 |  | ||||||
| #define TIMER_PERIOD_CNT    0x0008 |  | ||||||
| #define TIMER_PULSE_HI      0x0004 |  | ||||||
| #define TIMER_MODE          0x0003 |  | ||||||
| #define TIMER_MODE_PWM      0x0001 |  | ||||||
| #define TIMER_MODE_WDTH     0x0002 |  | ||||||
| #define TIMER_MODE_EXT_CLK  0x0003 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Timer Status Register Bits |  | ||||||
|  */ |  | ||||||
| #define TIMER_STATUS_TIMIL0  0x0001 |  | ||||||
| #define TIMER_STATUS_TIMIL1  0x0002 |  | ||||||
| #define TIMER_STATUS_TIMIL2  0x0004 |  | ||||||
| #define TIMER_STATUS_TIMIL3  0x00000008 |  | ||||||
| #define TIMER_STATUS_TIMIL4  0x00010000 |  | ||||||
| #define TIMER_STATUS_TIMIL5  0x00020000 |  | ||||||
| #define TIMER_STATUS_TIMIL6  0x00040000 |  | ||||||
| #define TIMER_STATUS_TIMIL7  0x00080000 |  | ||||||
| #define TIMER_STATUS_TIMIL8  0x0001 |  | ||||||
| #define TIMER_STATUS_TIMIL9  0x0002 |  | ||||||
| #define TIMER_STATUS_TIMIL10 0x0004 |  | ||||||
| #define TIMER_STATUS_TIMIL11 0x0008 |  | ||||||
| 
 |  | ||||||
| #define TIMER_STATUS_TOVF0   0x0010	/* timer 0 overflow error */ |  | ||||||
| #define TIMER_STATUS_TOVF1   0x0020 |  | ||||||
| #define TIMER_STATUS_TOVF2   0x0040 |  | ||||||
| #define TIMER_STATUS_TOVF3   0x00000080 |  | ||||||
| #define TIMER_STATUS_TOVF4   0x00100000 |  | ||||||
| #define TIMER_STATUS_TOVF5   0x00200000 |  | ||||||
| #define TIMER_STATUS_TOVF6   0x00400000 |  | ||||||
| #define TIMER_STATUS_TOVF7   0x00800000 |  | ||||||
| #define TIMER_STATUS_TOVF8   0x0010 |  | ||||||
| #define TIMER_STATUS_TOVF9   0x0020 |  | ||||||
| #define TIMER_STATUS_TOVF10  0x0040 |  | ||||||
| #define TIMER_STATUS_TOVF11  0x0080 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Timer Slave Enable Status : write 1 to clear |  | ||||||
|  */ |  | ||||||
| #define TIMER_STATUS_TRUN0  0x1000 |  | ||||||
| #define TIMER_STATUS_TRUN1  0x2000 |  | ||||||
| #define TIMER_STATUS_TRUN2  0x4000 |  | ||||||
| #define TIMER_STATUS_TRUN3  0x00008000 |  | ||||||
| #define TIMER_STATUS_TRUN4  0x10000000 |  | ||||||
| #define TIMER_STATUS_TRUN5  0x20000000 |  | ||||||
| #define TIMER_STATUS_TRUN6  0x40000000 |  | ||||||
| #define TIMER_STATUS_TRUN7  0x80000000 |  | ||||||
| #define TIMER_STATUS_TRUN   0xF000F000 |  | ||||||
| #define TIMER_STATUS_TRUN8  0x1000 |  | ||||||
| #define TIMER_STATUS_TRUN9  0x2000 |  | ||||||
| #define TIMER_STATUS_TRUN10 0x4000 |  | ||||||
| #define TIMER_STATUS_TRUN11 0x8000 |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* The actual gptimer API */ |  | ||||||
| 
 |  | ||||||
| void     set_gptimer_pwidth(unsigned int timer_id, uint32_t width); |  | ||||||
| uint32_t get_gptimer_pwidth(unsigned int timer_id); |  | ||||||
| void     set_gptimer_period(unsigned int timer_id, uint32_t period); |  | ||||||
| uint32_t get_gptimer_period(unsigned int timer_id); |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| void     set_gptimer_delay(unsigned int timer_id, uint32_t delay); |  | ||||||
| uint32_t get_gptimer_delay(unsigned int timer_id); |  | ||||||
| #endif |  | ||||||
| uint32_t get_gptimer_count(unsigned int timer_id); |  | ||||||
| int      get_gptimer_intr(unsigned int timer_id); |  | ||||||
| void     clear_gptimer_intr(unsigned int timer_id); |  | ||||||
| int      get_gptimer_over(unsigned int timer_id); |  | ||||||
| void     clear_gptimer_over(unsigned int timer_id); |  | ||||||
| void     set_gptimer_config(unsigned int timer_id, uint16_t config); |  | ||||||
| uint16_t get_gptimer_config(unsigned int timer_id); |  | ||||||
| int      get_gptimer_run(unsigned int timer_id); |  | ||||||
| void     set_gptimer_pulse_hi(unsigned int timer_id); |  | ||||||
| void     clear_gptimer_pulse_hi(unsigned int timer_id); |  | ||||||
| void     enable_gptimers(uint16_t mask); |  | ||||||
| void     disable_gptimers(uint16_t mask); |  | ||||||
| void     disable_gptimers_sync(uint16_t mask); |  | ||||||
| uint16_t get_enabled_gptimers(void); |  | ||||||
| uint32_t get_gptimer_status(unsigned int group); |  | ||||||
| void     set_gptimer_status(unsigned int group, uint32_t value); |  | ||||||
| 
 |  | ||||||
| static inline void enable_gptimer(unsigned int timer_id) |  | ||||||
| { |  | ||||||
| 	enable_gptimers(1 << timer_id); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void disable_gptimer(unsigned int timer_id) |  | ||||||
| { |  | ||||||
| 	disable_gptimers(1 << timer_id); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * All Blackfin system MMRs are padded to 32bits even if the register |  | ||||||
|  * itself is only 16bits.  So use a helper macro to streamline this. |  | ||||||
|  */ |  | ||||||
| #define __BFP(m) u16 m; u16 __pad_##m |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin timer registers layout |  | ||||||
|  */ |  | ||||||
| struct bfin_gptimer_regs { |  | ||||||
| 	__BFP(config); |  | ||||||
| 	u32 counter; |  | ||||||
| 	u32 period; |  | ||||||
| 	u32 width; |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| 	u32 delay; |  | ||||||
| #endif |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * bfin group timer registers layout |  | ||||||
|  */ |  | ||||||
| #ifndef CONFIG_BF60x |  | ||||||
| struct bfin_gptimer_group_regs { |  | ||||||
| 	__BFP(enable); |  | ||||||
| 	__BFP(disable); |  | ||||||
| 	u32 status; |  | ||||||
| }; |  | ||||||
| #else |  | ||||||
| struct bfin_gptimer_group_regs { |  | ||||||
| 	__BFP(run); |  | ||||||
| 	__BFP(enable); |  | ||||||
| 	__BFP(disable); |  | ||||||
| 	__BFP(stop_cfg); |  | ||||||
| 	__BFP(stop_cfg_set); |  | ||||||
| 	__BFP(stop_cfg_clr); |  | ||||||
| 	__BFP(data_imsk); |  | ||||||
| 	__BFP(stat_imsk); |  | ||||||
| 	__BFP(tr_msk); |  | ||||||
| 	__BFP(tr_ie); |  | ||||||
| 	__BFP(data_ilat); |  | ||||||
| 	__BFP(stat_ilat); |  | ||||||
| 	__BFP(err_status); |  | ||||||
| 	__BFP(bcast_per); |  | ||||||
| 	__BFP(bcast_wid); |  | ||||||
| 	__BFP(bcast_dly); |  | ||||||
| 
 |  | ||||||
| }; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #undef __BFP |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,17 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __BFIN_HARDIRQ_H |  | ||||||
| #define __BFIN_HARDIRQ_H |  | ||||||
| 
 |  | ||||||
| #define __ARCH_IRQ_EXIT_IRQS_DISABLED	1 |  | ||||||
| 
 |  | ||||||
| extern void ack_bad_irq(unsigned int irq); |  | ||||||
| #define ack_bad_irq ack_bad_irq |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/hardirq.h> |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,49 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2010 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BFIN_IO_H |  | ||||||
| #define _BFIN_IO_H |  | ||||||
| 
 |  | ||||||
| #include <linux/compiler.h> |  | ||||||
| #include <linux/types.h> |  | ||||||
| #include <asm/byteorder.h> |  | ||||||
| #include <asm/def_LPBlackfin.h> |  | ||||||
| 
 |  | ||||||
| #define __raw_readb bfin_read8 |  | ||||||
| #define __raw_readw bfin_read16 |  | ||||||
| #define __raw_readl bfin_read32 |  | ||||||
| #define __raw_writeb(val, addr) bfin_write8(addr, val) |  | ||||||
| #define __raw_writew(val, addr) bfin_write16(addr, val) |  | ||||||
| #define __raw_writel(val, addr) bfin_write32(addr, val) |  | ||||||
| 
 |  | ||||||
| extern void outsb(unsigned long port, const void *addr, unsigned long count); |  | ||||||
| extern void outsw(unsigned long port, const void *addr, unsigned long count); |  | ||||||
| extern void outsw_8(unsigned long port, const void *addr, unsigned long count); |  | ||||||
| extern void outsl(unsigned long port, const void *addr, unsigned long count); |  | ||||||
| #define outsb outsb |  | ||||||
| #define outsw outsw |  | ||||||
| #define outsl outsl |  | ||||||
| 
 |  | ||||||
| extern void insb(unsigned long port, void *addr, unsigned long count); |  | ||||||
| extern void insw(unsigned long port, void *addr, unsigned long count); |  | ||||||
| extern void insw_8(unsigned long port, void *addr, unsigned long count); |  | ||||||
| extern void insl(unsigned long port, void *addr, unsigned long count); |  | ||||||
| extern void insl_16(unsigned long port, void *addr, unsigned long count); |  | ||||||
| #define insb insb |  | ||||||
| #define insw insw |  | ||||||
| #define insl insl |  | ||||||
| 
 |  | ||||||
| /**
 |  | ||||||
|  * I/O write barrier |  | ||||||
|  * |  | ||||||
|  * Ensure ordering of I/O space writes. This will make sure that writes |  | ||||||
|  * following the barrier will arrive after all previous writes. |  | ||||||
|  */ |  | ||||||
| #define mmiowb() do { SSYNC(); wmb(); } while (0) |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/io.h> |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,209 +0,0 @@ | ||||||
| /*   -*- linux-c -*-
 |  | ||||||
|  *   include/asm-blackfin/ipipe.h |  | ||||||
|  * |  | ||||||
|  *   Copyright (C) 2002-2007 Philippe Gerum. |  | ||||||
|  * |  | ||||||
|  *   This program is free software; you can redistribute it and/or modify |  | ||||||
|  *   it under the terms of the GNU General Public License as published by |  | ||||||
|  *   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, |  | ||||||
|  *   USA; either version 2 of the License, or (at your option) any later |  | ||||||
|  *   version. |  | ||||||
|  * |  | ||||||
|  *   This program is distributed in the hope that it will be useful, |  | ||||||
|  *   but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|  *   GNU General Public License for more details. |  | ||||||
|  * |  | ||||||
|  *   You should have received a copy of the GNU General Public License |  | ||||||
|  *   along with this program; if not, write to the Free Software |  | ||||||
|  *   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BLACKFIN_IPIPE_H |  | ||||||
| #define __ASM_BLACKFIN_IPIPE_H |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_IPIPE |  | ||||||
| 
 |  | ||||||
| #include <linux/cpumask.h> |  | ||||||
| #include <linux/list.h> |  | ||||||
| #include <linux/threads.h> |  | ||||||
| #include <linux/irq.h> |  | ||||||
| #include <linux/ipipe_percpu.h> |  | ||||||
| #include <asm/ptrace.h> |  | ||||||
| #include <asm/irq.h> |  | ||||||
| #include <asm/bitops.h> |  | ||||||
| #include <linux/atomic.h> |  | ||||||
| #include <asm/traps.h> |  | ||||||
| #include <asm/bitsperlong.h> |  | ||||||
| 
 |  | ||||||
| #define IPIPE_ARCH_STRING     "1.16-01" |  | ||||||
| #define IPIPE_MAJOR_NUMBER    1 |  | ||||||
| #define IPIPE_MINOR_NUMBER    16 |  | ||||||
| #define IPIPE_PATCH_NUMBER    1 |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| #error "I-pipe/blackfin: SMP not implemented" |  | ||||||
| #else /* !CONFIG_SMP */ |  | ||||||
| #define ipipe_processor_id()	0 |  | ||||||
| #endif	/* CONFIG_SMP */ |  | ||||||
| 
 |  | ||||||
| #define prepare_arch_switch(next)		\ |  | ||||||
| do {						\ |  | ||||||
| 	ipipe_schedule_notify(current, next);	\ |  | ||||||
| 	hard_local_irq_disable();			\ |  | ||||||
| } while (0) |  | ||||||
| 
 |  | ||||||
| #define task_hijacked(p)						\ |  | ||||||
| 	({								\ |  | ||||||
| 		int __x__ = __ipipe_root_domain_p;			\ |  | ||||||
| 		if (__x__)						\ |  | ||||||
| 			hard_local_irq_enable();			\ |  | ||||||
| 		!__x__;							\ |  | ||||||
| 	}) |  | ||||||
| 
 |  | ||||||
| struct ipipe_domain; |  | ||||||
| 
 |  | ||||||
| struct ipipe_sysinfo { |  | ||||||
| 	int sys_nr_cpus;	/* Number of CPUs on board */ |  | ||||||
| 	int sys_hrtimer_irq;	/* hrtimer device IRQ */ |  | ||||||
| 	u64 sys_hrtimer_freq;	/* hrtimer device frequency */ |  | ||||||
| 	u64 sys_hrclock_freq;	/* hrclock device frequency */ |  | ||||||
| 	u64 sys_cpu_freq;	/* CPU frequency (Hz) */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #define ipipe_read_tsc(t)					\ |  | ||||||
| 	({							\ |  | ||||||
| 	unsigned long __cy2;					\ |  | ||||||
| 	__asm__ __volatile__ ("1: %0 = CYCLES2\n"		\ |  | ||||||
| 				"%1 = CYCLES\n"			\ |  | ||||||
| 				"%2 = CYCLES2\n"		\ |  | ||||||
| 				"CC = %2 == %0\n"		\ |  | ||||||
| 				"if ! CC jump 1b\n"		\ |  | ||||||
| 				: "=d,a" (((unsigned long *)&t)[1]),	\ |  | ||||||
| 				  "=d,a" (((unsigned long *)&t)[0]),	\ |  | ||||||
| 				  "=d,a" (__cy2)				\ |  | ||||||
| 				: /*no input*/ : "CC");			\ |  | ||||||
| 	t;								\ |  | ||||||
| 	}) |  | ||||||
| 
 |  | ||||||
| #define ipipe_cpu_freq()	__ipipe_core_clock |  | ||||||
| #define ipipe_tsc2ns(_t)	(((unsigned long)(_t)) * __ipipe_freq_scale) |  | ||||||
| #define ipipe_tsc2us(_t)	(ipipe_tsc2ns(_t) / 1000 + 1) |  | ||||||
| 
 |  | ||||||
| /* Private interface -- Internal use only */ |  | ||||||
| 
 |  | ||||||
| #define __ipipe_check_platform()	do { } while (0) |  | ||||||
| 
 |  | ||||||
| #define __ipipe_init_platform()		do { } while (0) |  | ||||||
| 
 |  | ||||||
| extern atomic_t __ipipe_irq_lvdepth[IVG15 + 1]; |  | ||||||
| 
 |  | ||||||
| extern unsigned long __ipipe_irq_lvmask; |  | ||||||
| 
 |  | ||||||
| extern struct ipipe_domain ipipe_root; |  | ||||||
| 
 |  | ||||||
| /* enable/disable_irqdesc _must_ be used in pairs. */ |  | ||||||
| 
 |  | ||||||
| void __ipipe_enable_irqdesc(struct ipipe_domain *ipd, |  | ||||||
| 			    unsigned irq); |  | ||||||
| 
 |  | ||||||
| void __ipipe_disable_irqdesc(struct ipipe_domain *ipd, |  | ||||||
| 			     unsigned irq); |  | ||||||
| 
 |  | ||||||
| #define __ipipe_enable_irq(irq)						\ |  | ||||||
| 	do {								\ |  | ||||||
| 		struct irq_desc *desc = irq_to_desc(irq);		\ |  | ||||||
| 		struct irq_chip *chip = get_irq_desc_chip(desc);	\ |  | ||||||
| 		chip->irq_unmask(&desc->irq_data);			\ |  | ||||||
| 	} while (0) |  | ||||||
| 
 |  | ||||||
| #define __ipipe_disable_irq(irq)					\ |  | ||||||
| 	do {								\ |  | ||||||
| 		struct irq_desc *desc = irq_to_desc(irq);		\ |  | ||||||
| 		struct irq_chip *chip = get_irq_desc_chip(desc);	\ |  | ||||||
| 		chip->irq_mask(&desc->irq_data);			\ |  | ||||||
| 	} while (0) |  | ||||||
| 
 |  | ||||||
| static inline int __ipipe_check_tickdev(const char *devname) |  | ||||||
| { |  | ||||||
| 	return 1; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void __ipipe_enable_pipeline(void); |  | ||||||
| 
 |  | ||||||
| #define __ipipe_hook_critical_ipi(ipd) do { } while (0) |  | ||||||
| 
 |  | ||||||
| void ___ipipe_sync_pipeline(void); |  | ||||||
| 
 |  | ||||||
| void __ipipe_handle_irq(unsigned irq, struct pt_regs *regs); |  | ||||||
| 
 |  | ||||||
| int __ipipe_get_irq_priority(unsigned int irq); |  | ||||||
| 
 |  | ||||||
| void __ipipe_serial_debug(const char *fmt, ...); |  | ||||||
| 
 |  | ||||||
| asmlinkage void __ipipe_call_irqtail(unsigned long addr); |  | ||||||
| 
 |  | ||||||
| DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs); |  | ||||||
| 
 |  | ||||||
| extern unsigned long __ipipe_core_clock; |  | ||||||
| 
 |  | ||||||
| extern unsigned long __ipipe_freq_scale; |  | ||||||
| 
 |  | ||||||
| extern unsigned long __ipipe_irq_tail_hook; |  | ||||||
| 
 |  | ||||||
| static inline unsigned long __ipipe_ffnz(unsigned long ul) |  | ||||||
| { |  | ||||||
| 	return ffs(ul) - 1; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #define __ipipe_do_root_xirq(ipd, irq)					\ |  | ||||||
| 	((ipd)->irqs[irq].handler(irq, raw_cpu_ptr(&__ipipe_tick_regs))) |  | ||||||
| 
 |  | ||||||
| #define __ipipe_run_irqtail(irq)  /* Must be a macro */			\ |  | ||||||
| 	do {								\ |  | ||||||
| 		unsigned long __pending;				\ |  | ||||||
| 		CSYNC();						\ |  | ||||||
| 		__pending = bfin_read_IPEND();				\ |  | ||||||
| 		if (__pending & 0x8000) {				\ |  | ||||||
| 			__pending &= ~0x8010;				\ |  | ||||||
| 			if (__pending && (__pending & (__pending - 1)) == 0) \ |  | ||||||
| 				__ipipe_call_irqtail(__ipipe_irq_tail_hook); \ |  | ||||||
| 		}							\ |  | ||||||
| 	} while (0) |  | ||||||
| 
 |  | ||||||
| #define __ipipe_syscall_watched_p(p, sc)	\ |  | ||||||
| 	(ipipe_notifier_enabled_p(p) || (unsigned long)sc >= NR_syscalls) |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BF561 |  | ||||||
| #define bfin_write_TIMER_DISABLE(val)	bfin_write_TMRS8_DISABLE(val) |  | ||||||
| #define bfin_write_TIMER_ENABLE(val)	bfin_write_TMRS8_ENABLE(val) |  | ||||||
| #define bfin_write_TIMER_STATUS(val)	bfin_write_TMRS8_STATUS(val) |  | ||||||
| #define bfin_read_TIMER_STATUS()	bfin_read_TMRS8_STATUS() |  | ||||||
| #elif defined(CONFIG_BF54x) |  | ||||||
| #define bfin_write_TIMER_DISABLE(val)	bfin_write_TIMER_DISABLE0(val) |  | ||||||
| #define bfin_write_TIMER_ENABLE(val)	bfin_write_TIMER_ENABLE0(val) |  | ||||||
| #define bfin_write_TIMER_STATUS(val)	bfin_write_TIMER_STATUS0(val) |  | ||||||
| #define bfin_read_TIMER_STATUS(val)	bfin_read_TIMER_STATUS0(val) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define __ipipe_root_tick_p(regs)	((regs->ipend & 0x10) != 0) |  | ||||||
| 
 |  | ||||||
| #else /* !CONFIG_IPIPE */ |  | ||||||
| 
 |  | ||||||
| #define task_hijacked(p)		0 |  | ||||||
| #define ipipe_trap_notify(t, r)  	0 |  | ||||||
| #define __ipipe_root_tick_p(regs)	1 |  | ||||||
| 
 |  | ||||||
| #endif /* !CONFIG_IPIPE */ |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_TICKSOURCE_CORETMR |  | ||||||
| #define IRQ_SYSTMR		IRQ_CORETMR |  | ||||||
| #define IRQ_PRIOTMR		IRQ_CORETMR |  | ||||||
| #else |  | ||||||
| #define IRQ_SYSTMR		IRQ_TIMER0 |  | ||||||
| #define IRQ_PRIOTMR		CONFIG_IRQ_TIMER0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define ipipe_update_tick_evtdev(evtdev)	do { } while (0) |  | ||||||
| 
 |  | ||||||
| #endif	/* !__ASM_BLACKFIN_IPIPE_H */ |  | ||||||
|  | @ -1,75 +0,0 @@ | ||||||
| /*   -*- linux-c -*-
 |  | ||||||
|  *   include/asm-blackfin/ipipe_base.h |  | ||||||
|  * |  | ||||||
|  *   Copyright (C) 2007 Philippe Gerum. |  | ||||||
|  * |  | ||||||
|  *   This program is free software; you can redistribute it and/or modify |  | ||||||
|  *   it under the terms of the GNU General Public License as published by |  | ||||||
|  *   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, |  | ||||||
|  *   USA; either version 2 of the License, or (at your option) any later |  | ||||||
|  *   version. |  | ||||||
|  * |  | ||||||
|  *   This program is distributed in the hope that it will be useful, |  | ||||||
|  *   but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|  *   GNU General Public License for more details. |  | ||||||
|  * |  | ||||||
|  *   You should have received a copy of the GNU General Public License |  | ||||||
|  *   along with this program; if not, write to the Free Software |  | ||||||
|  *   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BLACKFIN_IPIPE_BASE_H |  | ||||||
| #define __ASM_BLACKFIN_IPIPE_BASE_H |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_IPIPE |  | ||||||
| 
 |  | ||||||
| #include <asm/bitsperlong.h> |  | ||||||
| #include <mach/irq.h> |  | ||||||
| 
 |  | ||||||
| #define IPIPE_NR_XIRQS		NR_IRQS |  | ||||||
| 
 |  | ||||||
| /* Blackfin-specific, per-cpu pipeline status */ |  | ||||||
| #define IPIPE_SYNCDEFER_FLAG	15 |  | ||||||
| #define IPIPE_SYNCDEFER_MASK	(1L << IPIPE_SYNCDEFER_MASK) |  | ||||||
| 
 |  | ||||||
|  /* Blackfin traps -- i.e. exception vector numbers */ |  | ||||||
| #define IPIPE_NR_FAULTS		52 /* We leave a gap after VEC_ILL_RES. */ |  | ||||||
| /* Pseudo-vectors used for kernel events */ |  | ||||||
| #define IPIPE_FIRST_EVENT	IPIPE_NR_FAULTS |  | ||||||
| #define IPIPE_EVENT_SYSCALL	(IPIPE_FIRST_EVENT) |  | ||||||
| #define IPIPE_EVENT_SCHEDULE	(IPIPE_FIRST_EVENT + 1) |  | ||||||
| #define IPIPE_EVENT_SIGWAKE	(IPIPE_FIRST_EVENT + 2) |  | ||||||
| #define IPIPE_EVENT_SETSCHED	(IPIPE_FIRST_EVENT + 3) |  | ||||||
| #define IPIPE_EVENT_INIT	(IPIPE_FIRST_EVENT + 4) |  | ||||||
| #define IPIPE_EVENT_EXIT	(IPIPE_FIRST_EVENT + 5) |  | ||||||
| #define IPIPE_EVENT_CLEANUP	(IPIPE_FIRST_EVENT + 6) |  | ||||||
| #define IPIPE_EVENT_RETURN	(IPIPE_FIRST_EVENT + 7) |  | ||||||
| #define IPIPE_LAST_EVENT	IPIPE_EVENT_RETURN |  | ||||||
| #define IPIPE_NR_EVENTS		(IPIPE_LAST_EVENT + 1) |  | ||||||
| 
 |  | ||||||
| #define IPIPE_TIMER_IRQ		IRQ_CORETMR |  | ||||||
| 
 |  | ||||||
| #define __IPIPE_FEATURE_SYSINFO_V2	1 |  | ||||||
| 
 |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| extern unsigned long __ipipe_root_status; /* Alias to ipipe_root_cpudom_var(status) */ |  | ||||||
| 
 |  | ||||||
| void __ipipe_stall_root(void); |  | ||||||
| 
 |  | ||||||
| unsigned long __ipipe_test_and_stall_root(void); |  | ||||||
| 
 |  | ||||||
| unsigned long __ipipe_test_root(void); |  | ||||||
| 
 |  | ||||||
| void __ipipe_lock_root(void); |  | ||||||
| 
 |  | ||||||
| void __ipipe_unlock_root(void); |  | ||||||
| 
 |  | ||||||
| #endif /* !__ASSEMBLY__ */ |  | ||||||
| 
 |  | ||||||
| #define __IPIPE_FEATURE_SYSINFO_V2	1 |  | ||||||
| 
 |  | ||||||
| #endif /* CONFIG_IPIPE */ |  | ||||||
| 
 |  | ||||||
| #endif /* !__ASM_BLACKFIN_IPIPE_BASE_H */ |  | ||||||
|  | @ -1,41 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  *                2003 HuTao |  | ||||||
|  *                2002 Arcturus Networks Inc. (www.arcturusnetworks.com |  | ||||||
|  *                       Ted Ma <mated@sympatico.ca> |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _BFIN_IRQ_H_ |  | ||||||
| #define _BFIN_IRQ_H_ |  | ||||||
| 
 |  | ||||||
| #include <linux/irqflags.h> |  | ||||||
| 
 |  | ||||||
| /* IRQs that may be used by external irq_chip controllers */ |  | ||||||
| #define NR_SPARE_IRQS	32 |  | ||||||
| 
 |  | ||||||
| #include <mach/anomaly.h> |  | ||||||
| 
 |  | ||||||
| /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */ |  | ||||||
| #include <mach/irq.h> |  | ||||||
| 
 |  | ||||||
| #if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE) |  | ||||||
| # define NOP_PAD_ANOMALY_05000244 "nop; nop;" |  | ||||||
| #else |  | ||||||
| # define NOP_PAD_ANOMALY_05000244 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define idle_with_irq_disabled() \ |  | ||||||
| 	__asm__ __volatile__( \ |  | ||||||
| 		NOP_PAD_ANOMALY_05000244 \ |  | ||||||
| 		".align 8;" \ |  | ||||||
| 		"sti %0;" \ |  | ||||||
| 		"idle;" \ |  | ||||||
| 		: \ |  | ||||||
| 		: "d" (bfin_irq_flags) \ |  | ||||||
| 	) |  | ||||||
| 
 |  | ||||||
| #include <asm-generic/irq.h> |  | ||||||
| 
 |  | ||||||
| #endif				/* _BFIN_IRQ_H_ */ |  | ||||||
|  | @ -1,66 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2007-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _IRQ_HANDLER_H |  | ||||||
| #define _IRQ_HANDLER_H |  | ||||||
| 
 |  | ||||||
| #include <linux/types.h> |  | ||||||
| #include <linux/linkage.h> |  | ||||||
| #include <mach/irq.h> |  | ||||||
| 
 |  | ||||||
| /* init functions only */ |  | ||||||
| extern int init_arch_irq(void); |  | ||||||
| extern void init_exception_vectors(void); |  | ||||||
| extern void program_IAR(void); |  | ||||||
| #ifdef init_mach_irq |  | ||||||
| extern void init_mach_irq(void); |  | ||||||
| #else |  | ||||||
| # define init_mach_irq() |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* BASE LEVEL interrupt handler routines */ |  | ||||||
| asmlinkage void evt_exception(void); |  | ||||||
| asmlinkage void trap(void); |  | ||||||
| asmlinkage void evt_ivhw(void); |  | ||||||
| asmlinkage void evt_timer(void); |  | ||||||
| asmlinkage void evt_nmi(void); |  | ||||||
| asmlinkage void evt_evt7(void); |  | ||||||
| asmlinkage void evt_evt8(void); |  | ||||||
| asmlinkage void evt_evt9(void); |  | ||||||
| asmlinkage void evt_evt10(void); |  | ||||||
| asmlinkage void evt_evt11(void); |  | ||||||
| asmlinkage void evt_evt12(void); |  | ||||||
| asmlinkage void evt_evt13(void); |  | ||||||
| asmlinkage void evt_evt14(void); |  | ||||||
| asmlinkage void evt_soft_int1(void); |  | ||||||
| asmlinkage void evt_system_call(void); |  | ||||||
| asmlinkage void init_exception_buff(void); |  | ||||||
| asmlinkage void trap_c(struct pt_regs *fp); |  | ||||||
| asmlinkage void ex_replaceable(void); |  | ||||||
| asmlinkage void early_trap(void); |  | ||||||
| 
 |  | ||||||
| extern void *ex_table[]; |  | ||||||
| extern void return_from_exception(void); |  | ||||||
| 
 |  | ||||||
| extern int bfin_request_exception(unsigned int exception, void (*handler)(void)); |  | ||||||
| extern int bfin_free_exception(unsigned int exception, void (*handler)(void)); |  | ||||||
| 
 |  | ||||||
| extern asmlinkage void lower_to_irq14(void); |  | ||||||
| extern asmlinkage void bfin_return_from_exception(void); |  | ||||||
| extern asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs); |  | ||||||
| extern int bfin_internal_set_wake(unsigned int irq, unsigned int state); |  | ||||||
| 
 |  | ||||||
| struct irq_data; |  | ||||||
| extern void bfin_handle_irq(unsigned irq); |  | ||||||
| extern void bfin_ack_noop(struct irq_data *); |  | ||||||
| extern void bfin_internal_mask_irq(unsigned int irq); |  | ||||||
| extern void bfin_internal_unmask_irq(unsigned int irq); |  | ||||||
| 
 |  | ||||||
| struct irq_desc; |  | ||||||
| extern void bfin_demux_mac_status_irq(struct irq_desc *); |  | ||||||
| extern void bfin_demux_gpio_irq(struct irq_desc *); |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,289 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * interface to Blackfin CEC |  | ||||||
|  * |  | ||||||
|  * Copyright 2009 Analog Devices Inc. |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BFIN_IRQFLAGS_H__ |  | ||||||
| #define __ASM_BFIN_IRQFLAGS_H__ |  | ||||||
| 
 |  | ||||||
| #include <mach/blackfin.h> |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| # include <asm/pda.h> |  | ||||||
| # include <asm/processor.h> |  | ||||||
| # define bfin_irq_flags cpu_pda[blackfin_core_id()].imask |  | ||||||
| #else |  | ||||||
| extern unsigned long bfin_irq_flags; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| static inline notrace void bfin_sti(unsigned long flags) |  | ||||||
| { |  | ||||||
| 	asm volatile("sti %0;" : : "d" (flags)); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace unsigned long bfin_cli(void) |  | ||||||
| { |  | ||||||
| 	unsigned long flags; |  | ||||||
| 	asm volatile("cli %0;" : "=d" (flags)); |  | ||||||
| 	return flags; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_DEBUG_HWERR |  | ||||||
| # define bfin_no_irqs 0x3f |  | ||||||
| #else |  | ||||||
| # define bfin_no_irqs 0x1f |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*****************************************************************************/ |  | ||||||
| /*
 |  | ||||||
|  * Hard, untraced CPU interrupt flag manipulation and access. |  | ||||||
|  */ |  | ||||||
| static inline notrace void __hard_local_irq_disable(void) |  | ||||||
| { |  | ||||||
| 	bfin_cli(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace void __hard_local_irq_enable(void) |  | ||||||
| { |  | ||||||
| 	bfin_sti(bfin_irq_flags); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace unsigned long hard_local_save_flags(void) |  | ||||||
| { |  | ||||||
| 	return bfin_read_IMASK(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace unsigned long __hard_local_irq_save(void) |  | ||||||
| { |  | ||||||
| 	unsigned long flags; |  | ||||||
| 	flags = bfin_cli(); |  | ||||||
| #ifdef CONFIG_DEBUG_HWERR |  | ||||||
| 	bfin_sti(0x3f); |  | ||||||
| #endif |  | ||||||
| 	return flags; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace int hard_irqs_disabled_flags(unsigned long flags) |  | ||||||
| { |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| 	return (flags & IMASK_IVG11) == 0; |  | ||||||
| #else |  | ||||||
| 	return (flags & ~0x3f) == 0; |  | ||||||
| #endif |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace int hard_irqs_disabled(void) |  | ||||||
| { |  | ||||||
| 	unsigned long flags = hard_local_save_flags(); |  | ||||||
| 	return hard_irqs_disabled_flags(flags); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace void __hard_local_irq_restore(unsigned long flags) |  | ||||||
| { |  | ||||||
| 	if (!hard_irqs_disabled_flags(flags)) |  | ||||||
| 		__hard_local_irq_enable(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /*****************************************************************************/ |  | ||||||
| /*
 |  | ||||||
|  * Interrupt pipe handling. |  | ||||||
|  */ |  | ||||||
| #ifdef CONFIG_IPIPE |  | ||||||
| 
 |  | ||||||
| #include <linux/compiler.h> |  | ||||||
| #include <linux/ipipe_trace.h> |  | ||||||
| /*
 |  | ||||||
|  * Way too many inter-deps between low-level headers in this port, so |  | ||||||
|  * we redeclare the required bits we cannot pick from |  | ||||||
|  * <asm/ipipe_base.h> to prevent circular dependencies. |  | ||||||
|  */ |  | ||||||
| void __ipipe_stall_root(void); |  | ||||||
| void __ipipe_unstall_root(void); |  | ||||||
| unsigned long __ipipe_test_root(void); |  | ||||||
| unsigned long __ipipe_test_and_stall_root(void); |  | ||||||
| void __ipipe_restore_root(unsigned long flags); |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_IPIPE_DEBUG_CONTEXT |  | ||||||
| struct ipipe_domain; |  | ||||||
| extern struct ipipe_domain ipipe_root; |  | ||||||
| void ipipe_check_context(struct ipipe_domain *ipd); |  | ||||||
| #define __check_irqop_context(ipd)  ipipe_check_context(&ipipe_root) |  | ||||||
| #else /* !CONFIG_IPIPE_DEBUG_CONTEXT */ |  | ||||||
| #define __check_irqop_context(ipd)  do { } while (0) |  | ||||||
| #endif /* !CONFIG_IPIPE_DEBUG_CONTEXT */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Interrupt pipe interface to linux/irqflags.h. |  | ||||||
|  */ |  | ||||||
| static inline notrace void arch_local_irq_disable(void) |  | ||||||
| { |  | ||||||
| 	__check_irqop_context(); |  | ||||||
| 	__ipipe_stall_root(); |  | ||||||
| 	barrier(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace void arch_local_irq_enable(void) |  | ||||||
| { |  | ||||||
| 	barrier(); |  | ||||||
| 	__check_irqop_context(); |  | ||||||
| 	__ipipe_unstall_root(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace unsigned long arch_local_save_flags(void) |  | ||||||
| { |  | ||||||
| 	return __ipipe_test_root() ? bfin_no_irqs : bfin_irq_flags; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace int arch_irqs_disabled_flags(unsigned long flags) |  | ||||||
| { |  | ||||||
| 	return flags == bfin_no_irqs; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace unsigned long arch_local_irq_save(void) |  | ||||||
| { |  | ||||||
| 	unsigned long flags; |  | ||||||
| 
 |  | ||||||
| 	__check_irqop_context(); |  | ||||||
| 	flags = __ipipe_test_and_stall_root() ? bfin_no_irqs : bfin_irq_flags; |  | ||||||
| 	barrier(); |  | ||||||
| 
 |  | ||||||
| 	return flags; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace void arch_local_irq_restore(unsigned long flags) |  | ||||||
| { |  | ||||||
| 	__check_irqop_context(); |  | ||||||
| 	__ipipe_restore_root(flags == bfin_no_irqs); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace unsigned long arch_mangle_irq_bits(int virt, unsigned long real) |  | ||||||
| { |  | ||||||
| 	/*
 |  | ||||||
| 	 * Merge virtual and real interrupt mask bits into a single |  | ||||||
| 	 * 32bit word. |  | ||||||
| 	 */ |  | ||||||
| 	return (real & ~(1 << 31)) | ((virt != 0) << 31); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace int arch_demangle_irq_bits(unsigned long *x) |  | ||||||
| { |  | ||||||
| 	int virt = (*x & (1 << 31)) != 0; |  | ||||||
| 	*x &= ~(1L << 31); |  | ||||||
| 	return virt; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Interface to various arch routines that may be traced. |  | ||||||
|  */ |  | ||||||
| #ifdef CONFIG_IPIPE_TRACE_IRQSOFF |  | ||||||
| static inline notrace void hard_local_irq_disable(void) |  | ||||||
| { |  | ||||||
| 	if (!hard_irqs_disabled()) { |  | ||||||
| 		__hard_local_irq_disable(); |  | ||||||
| 		ipipe_trace_begin(0x80000000); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace void hard_local_irq_enable(void) |  | ||||||
| { |  | ||||||
| 	if (hard_irqs_disabled()) { |  | ||||||
| 		ipipe_trace_end(0x80000000); |  | ||||||
| 		__hard_local_irq_enable(); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace unsigned long hard_local_irq_save(void) |  | ||||||
| { |  | ||||||
| 	unsigned long flags = hard_local_save_flags(); |  | ||||||
| 	if (!hard_irqs_disabled_flags(flags)) { |  | ||||||
| 		__hard_local_irq_disable(); |  | ||||||
| 		ipipe_trace_begin(0x80000001); |  | ||||||
| 	} |  | ||||||
| 	return flags; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline notrace void hard_local_irq_restore(unsigned long flags) |  | ||||||
| { |  | ||||||
| 	if (!hard_irqs_disabled_flags(flags)) { |  | ||||||
| 		ipipe_trace_end(0x80000001); |  | ||||||
| 		__hard_local_irq_enable(); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #else /* !CONFIG_IPIPE_TRACE_IRQSOFF */ |  | ||||||
| # define hard_local_irq_disable()	__hard_local_irq_disable() |  | ||||||
| # define hard_local_irq_enable()	__hard_local_irq_enable() |  | ||||||
| # define hard_local_irq_save()		__hard_local_irq_save() |  | ||||||
| # define hard_local_irq_restore(flags)	__hard_local_irq_restore(flags) |  | ||||||
| #endif /* !CONFIG_IPIPE_TRACE_IRQSOFF */ |  | ||||||
| 
 |  | ||||||
| #define hard_local_irq_save_cond()		hard_local_irq_save() |  | ||||||
| #define hard_local_irq_restore_cond(flags)	hard_local_irq_restore(flags) |  | ||||||
| 
 |  | ||||||
| #else /* !CONFIG_IPIPE */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Direct interface to linux/irqflags.h. |  | ||||||
|  */ |  | ||||||
| #define arch_local_save_flags()		hard_local_save_flags() |  | ||||||
| #define arch_local_irq_save()		__hard_local_irq_save() |  | ||||||
| #define arch_local_irq_restore(flags)	__hard_local_irq_restore(flags) |  | ||||||
| #define arch_local_irq_enable()		__hard_local_irq_enable() |  | ||||||
| #define arch_local_irq_disable()	__hard_local_irq_disable() |  | ||||||
| #define arch_irqs_disabled_flags(flags)	hard_irqs_disabled_flags(flags) |  | ||||||
| #define arch_irqs_disabled()		hard_irqs_disabled() |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Interface to various arch routines that may be traced. |  | ||||||
|  */ |  | ||||||
| #define hard_local_irq_save()		__hard_local_irq_save() |  | ||||||
| #define hard_local_irq_restore(flags)	__hard_local_irq_restore(flags) |  | ||||||
| #define hard_local_irq_enable()		__hard_local_irq_enable() |  | ||||||
| #define hard_local_irq_disable()	__hard_local_irq_disable() |  | ||||||
| #define hard_local_irq_save_cond()		hard_local_save_flags() |  | ||||||
| #define hard_local_irq_restore_cond(flags)	do { (void)(flags); } while (0) |  | ||||||
| 
 |  | ||||||
| #endif /* !CONFIG_IPIPE */ |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| #define hard_local_irq_save_smp()		hard_local_irq_save() |  | ||||||
| #define hard_local_irq_restore_smp(flags)	hard_local_irq_restore(flags) |  | ||||||
| #else |  | ||||||
| #define hard_local_irq_save_smp()		hard_local_save_flags() |  | ||||||
| #define hard_local_irq_restore_smp(flags)	do { (void)(flags); } while (0) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Remap the arch-neutral IRQ state manipulation macros to the |  | ||||||
|  * blackfin-specific hard_local_irq_* API. |  | ||||||
|  */ |  | ||||||
| #define local_irq_save_hw(flags)			\ |  | ||||||
| 	do {						\ |  | ||||||
| 		(flags) = hard_local_irq_save();	\ |  | ||||||
| 	} while (0) |  | ||||||
| #define local_irq_restore_hw(flags)		\ |  | ||||||
| 	do {					\ |  | ||||||
| 		hard_local_irq_restore(flags);	\ |  | ||||||
| 	} while (0) |  | ||||||
| #define local_irq_disable_hw()			\ |  | ||||||
| 	do {					\ |  | ||||||
| 		hard_local_irq_disable();	\ |  | ||||||
| 	} while (0) |  | ||||||
| #define local_irq_enable_hw()			\ |  | ||||||
| 	do {					\ |  | ||||||
| 		hard_local_irq_enable();	\ |  | ||||||
| 	} while (0) |  | ||||||
| #define local_irq_save_hw_notrace(flags)		\ |  | ||||||
| 	do {						\ |  | ||||||
| 		(flags) = __hard_local_irq_save();	\ |  | ||||||
| 	} while (0) |  | ||||||
| #define local_irq_restore_hw_notrace(flags)		\ |  | ||||||
| 	do {						\ |  | ||||||
| 		__hard_local_irq_restore(flags);	\ |  | ||||||
| 	} while (0) |  | ||||||
| 
 |  | ||||||
| #define irqs_disabled_hw()	hard_irqs_disabled() |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,169 +0,0 @@ | ||||||
| /* Blackfin KGDB header
 |  | ||||||
|  * |  | ||||||
|  * Copyright 2005-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_BLACKFIN_KGDB_H__ |  | ||||||
| #define __ASM_BLACKFIN_KGDB_H__ |  | ||||||
| 
 |  | ||||||
| #include <linux/ptrace.h> |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * BUFMAX defines the maximum number of characters in inbound/outbound buffers. |  | ||||||
|  * At least NUMREGBYTES*2 are needed for register packets. |  | ||||||
|  * Longer buffer is needed to list all threads. |  | ||||||
|  */ |  | ||||||
| #define BUFMAX 2048 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Note that this register image is different from |  | ||||||
|  * the register image that Linux produces at interrupt time. |  | ||||||
|  * |  | ||||||
|  * Linux's register image is defined by struct pt_regs in ptrace.h. |  | ||||||
|  */ |  | ||||||
| enum regnames { |  | ||||||
|   /* Core Registers */ |  | ||||||
|   BFIN_R0 = 0, |  | ||||||
|   BFIN_R1, |  | ||||||
|   BFIN_R2, |  | ||||||
|   BFIN_R3, |  | ||||||
|   BFIN_R4, |  | ||||||
|   BFIN_R5, |  | ||||||
|   BFIN_R6, |  | ||||||
|   BFIN_R7, |  | ||||||
|   BFIN_P0, |  | ||||||
|   BFIN_P1, |  | ||||||
|   BFIN_P2, |  | ||||||
|   BFIN_P3, |  | ||||||
|   BFIN_P4, |  | ||||||
|   BFIN_P5, |  | ||||||
|   BFIN_SP, |  | ||||||
|   BFIN_FP, |  | ||||||
|   BFIN_I0, |  | ||||||
|   BFIN_I1, |  | ||||||
|   BFIN_I2, |  | ||||||
|   BFIN_I3, |  | ||||||
|   BFIN_M0, |  | ||||||
|   BFIN_M1, |  | ||||||
|   BFIN_M2, |  | ||||||
|   BFIN_M3, |  | ||||||
|   BFIN_B0, |  | ||||||
|   BFIN_B1, |  | ||||||
|   BFIN_B2, |  | ||||||
|   BFIN_B3, |  | ||||||
|   BFIN_L0, |  | ||||||
|   BFIN_L1, |  | ||||||
|   BFIN_L2, |  | ||||||
|   BFIN_L3, |  | ||||||
|   BFIN_A0_DOT_X, |  | ||||||
|   BFIN_A0_DOT_W, |  | ||||||
|   BFIN_A1_DOT_X, |  | ||||||
|   BFIN_A1_DOT_W, |  | ||||||
|   BFIN_ASTAT, |  | ||||||
|   BFIN_RETS, |  | ||||||
|   BFIN_LC0, |  | ||||||
|   BFIN_LT0, |  | ||||||
|   BFIN_LB0, |  | ||||||
|   BFIN_LC1, |  | ||||||
|   BFIN_LT1, |  | ||||||
|   BFIN_LB1, |  | ||||||
|   BFIN_CYCLES, |  | ||||||
|   BFIN_CYCLES2, |  | ||||||
|   BFIN_USP, |  | ||||||
|   BFIN_SEQSTAT, |  | ||||||
|   BFIN_SYSCFG, |  | ||||||
|   BFIN_RETI, |  | ||||||
|   BFIN_RETX, |  | ||||||
|   BFIN_RETN, |  | ||||||
|   BFIN_RETE, |  | ||||||
| 
 |  | ||||||
|   /* Pseudo Registers */ |  | ||||||
|   BFIN_PC, |  | ||||||
|   BFIN_CC, |  | ||||||
|   BFIN_EXTRA1,		/* Address of .text section.  */ |  | ||||||
|   BFIN_EXTRA2,		/* Address of .data section.  */ |  | ||||||
|   BFIN_EXTRA3,		/* Address of .bss section.  */ |  | ||||||
|   BFIN_FDPIC_EXEC, |  | ||||||
|   BFIN_FDPIC_INTERP, |  | ||||||
| 
 |  | ||||||
|   /* MMRs */ |  | ||||||
|   BFIN_IPEND, |  | ||||||
| 
 |  | ||||||
|   /* LAST ENTRY SHOULD NOT BE CHANGED.  */ |  | ||||||
|   BFIN_NUM_REGS		/* The number of all registers.  */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /* Number of bytes of registers.  */ |  | ||||||
| #define NUMREGBYTES BFIN_NUM_REGS*4 |  | ||||||
| 
 |  | ||||||
| static inline void arch_kgdb_breakpoint(void) |  | ||||||
| { |  | ||||||
| 	asm("EXCPT 2;"); |  | ||||||
| } |  | ||||||
| #define BREAK_INSTR_SIZE	2 |  | ||||||
| #ifdef CONFIG_SMP |  | ||||||
| # define CACHE_FLUSH_IS_SAFE	0 |  | ||||||
| #else |  | ||||||
| # define CACHE_FLUSH_IS_SAFE	1 |  | ||||||
| #endif |  | ||||||
| #define GDB_ADJUSTS_BREAK_OFFSET |  | ||||||
| #define GDB_SKIP_HW_WATCH_TEST |  | ||||||
| #define HW_INST_WATCHPOINT_NUM	6 |  | ||||||
| #define HW_WATCHPOINT_NUM	8 |  | ||||||
| #define TYPE_INST_WATCHPOINT	0 |  | ||||||
| #define TYPE_DATA_WATCHPOINT	1 |  | ||||||
| 
 |  | ||||||
| /* Instruction watchpoint address control register bits mask */ |  | ||||||
| #define WPPWR		0x1 |  | ||||||
| #define WPIREN01	0x2 |  | ||||||
| #define WPIRINV01	0x4 |  | ||||||
| #define WPIAEN0		0x8 |  | ||||||
| #define WPIAEN1		0x10 |  | ||||||
| #define WPICNTEN0	0x20 |  | ||||||
| #define WPICNTEN1	0x40 |  | ||||||
| #define EMUSW0		0x80 |  | ||||||
| #define EMUSW1		0x100 |  | ||||||
| #define WPIREN23	0x200 |  | ||||||
| #define WPIRINV23	0x400 |  | ||||||
| #define WPIAEN2		0x800 |  | ||||||
| #define WPIAEN3		0x1000 |  | ||||||
| #define WPICNTEN2	0x2000 |  | ||||||
| #define WPICNTEN3	0x4000 |  | ||||||
| #define EMUSW2		0x8000 |  | ||||||
| #define EMUSW3		0x10000 |  | ||||||
| #define WPIREN45	0x20000 |  | ||||||
| #define WPIRINV45	0x40000 |  | ||||||
| #define WPIAEN4		0x80000 |  | ||||||
| #define WPIAEN5		0x100000 |  | ||||||
| #define WPICNTEN4	0x200000 |  | ||||||
| #define WPICNTEN5	0x400000 |  | ||||||
| #define EMUSW4		0x800000 |  | ||||||
| #define EMUSW5		0x1000000 |  | ||||||
| #define WPAND		0x2000000 |  | ||||||
| 
 |  | ||||||
| /* Data watchpoint address control register bits mask */ |  | ||||||
| #define WPDREN01	0x1 |  | ||||||
| #define WPDRINV01	0x2 |  | ||||||
| #define WPDAEN0		0x4 |  | ||||||
| #define WPDAEN1		0x8 |  | ||||||
| #define WPDCNTEN0	0x10 |  | ||||||
| #define WPDCNTEN1	0x20 |  | ||||||
| 
 |  | ||||||
| #define WPDSRC0		0xc0 |  | ||||||
| #define WPDACC0_OFFSET	8 |  | ||||||
| #define WPDSRC1		0xc00 |  | ||||||
| #define WPDACC1_OFFSET	12 |  | ||||||
| 
 |  | ||||||
| /* Watchpoint status register bits mask */ |  | ||||||
| #define STATIA0		0x1 |  | ||||||
| #define STATIA1		0x2 |  | ||||||
| #define STATIA2		0x4 |  | ||||||
| #define STATIA3		0x8 |  | ||||||
| #define STATIA4		0x10 |  | ||||||
| #define STATIA5		0x20 |  | ||||||
| #define STATDA0		0x40 |  | ||||||
| #define STATDA1		0x80 |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,37 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Defines a layout of L1 scratchpad memory that userspace can rely on. |  | ||||||
|  * |  | ||||||
|  * Copyright 2006-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef _L1LAYOUT_H_ |  | ||||||
| #define _L1LAYOUT_H_ |  | ||||||
| 
 |  | ||||||
| #include <asm/blackfin.h> |  | ||||||
| 
 |  | ||||||
| #ifndef CONFIG_SMP |  | ||||||
| #ifndef __ASSEMBLY__ |  | ||||||
| 
 |  | ||||||
| /* Data that is "mapped" into the process VM at the start of the L1 scratch
 |  | ||||||
|    memory, so that each process can access it at a fixed address.  Used for |  | ||||||
|    stack checking.  */ |  | ||||||
| struct l1_scratch_task_info |  | ||||||
| { |  | ||||||
| 	/* Points to the start of the stack.  */ |  | ||||||
| 	void *stack_start; |  | ||||||
| 	/* Not updated by the kernel; a user process can modify this to
 |  | ||||||
| 	   keep track of the lowest address of the stack pointer during its |  | ||||||
| 	   runtime.  */ |  | ||||||
| 	void *lowest_sp; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /* A pointer to the structure in memory.  */ |  | ||||||
| #define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)\ |  | ||||||
| 						get_l1_scratch_start()) |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,13 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * Copyright 2004-2009 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __ASM_LINKAGE_H |  | ||||||
| #define __ASM_LINKAGE_H |  | ||||||
| 
 |  | ||||||
| #define __ALIGN .align 4 |  | ||||||
| #define __ALIGN_STR ".align 4" |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | @ -1,500 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * arch/blackfin/include/asm/mem_init.h - reprogram clocks / memory |  | ||||||
|  * |  | ||||||
|  * Copyright 2004-2008 Analog Devices Inc. |  | ||||||
|  * |  | ||||||
|  * Licensed under the GPL-2 or later. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef __MEM_INIT_H__ |  | ||||||
| #define __MEM_INIT_H__ |  | ||||||
| 
 |  | ||||||
| #if defined(EBIU_SDGCTL) |  | ||||||
| #if defined(CONFIG_MEM_MT48LC16M16A2TG_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC64M4A2FB_7E) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC16M8A2TG_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC32M8A2_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC8M32B2B5_7) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC32M16A2TG_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC32M8A2_75) |  | ||||||
| #if (CONFIG_SCLK_HZ > 119402985) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_7 |  | ||||||
| #define SDRAM_tRAS_num  7 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 104477612) && (CONFIG_SCLK_HZ <= 119402985) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_6 |  | ||||||
| #define SDRAM_tRAS_num  6 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 89552239) && (CONFIG_SCLK_HZ <= 104477612) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_5 |  | ||||||
| #define SDRAM_tRAS_num  5 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 74626866) && (CONFIG_SCLK_HZ <= 89552239) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_4 |  | ||||||
| #define SDRAM_tRAS_num  4 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 66666667) && (CONFIG_SCLK_HZ <= 74626866) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_3 |  | ||||||
| #define SDRAM_tRAS_num  3 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 59701493) && (CONFIG_SCLK_HZ <= 66666667) |  | ||||||
| #define SDRAM_tRP       TRP_1 |  | ||||||
| #define SDRAM_tRP_num   1 |  | ||||||
| #define SDRAM_tRAS      TRAS_4 |  | ||||||
| #define SDRAM_tRAS_num  4 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 44776119) && (CONFIG_SCLK_HZ <= 59701493) |  | ||||||
| #define SDRAM_tRP       TRP_1 |  | ||||||
| #define SDRAM_tRP_num   1 |  | ||||||
| #define SDRAM_tRAS      TRAS_3 |  | ||||||
| #define SDRAM_tRAS_num  3 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 29850746) && (CONFIG_SCLK_HZ <= 44776119) |  | ||||||
| #define SDRAM_tRP       TRP_1 |  | ||||||
| #define SDRAM_tRP_num   1 |  | ||||||
| #define SDRAM_tRAS      TRAS_2 |  | ||||||
| #define SDRAM_tRAS_num  2 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ <= 29850746) |  | ||||||
| #define SDRAM_tRP       TRP_1 |  | ||||||
| #define SDRAM_tRP_num   1 |  | ||||||
| #define SDRAM_tRAS      TRAS_1 |  | ||||||
| #define SDRAM_tRAS_num  1 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * The BF526-EZ-Board changed SDRAM chips between revisions, |  | ||||||
|  * so we use below timings to accommodate both. |  | ||||||
|  */ |  | ||||||
| #if defined(CONFIG_MEM_MT48H32M16LFCJ_75) |  | ||||||
| #if (CONFIG_SCLK_HZ > 119402985) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_8 |  | ||||||
| #define SDRAM_tRAS_num  8 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 104477612) && (CONFIG_SCLK_HZ <= 119402985) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_7 |  | ||||||
| #define SDRAM_tRAS_num  7 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 89552239) && (CONFIG_SCLK_HZ <= 104477612) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_6 |  | ||||||
| #define SDRAM_tRAS_num  6 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 74626866) && (CONFIG_SCLK_HZ <= 89552239) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_5 |  | ||||||
| #define SDRAM_tRAS_num  5 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 66666667) && (CONFIG_SCLK_HZ <= 74626866) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_4 |  | ||||||
| #define SDRAM_tRAS_num  4 |  | ||||||
| #define SDRAM_tRCD      TRCD_2 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 59701493) && (CONFIG_SCLK_HZ <= 66666667) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_4 |  | ||||||
| #define SDRAM_tRAS_num  4 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 44776119) && (CONFIG_SCLK_HZ <= 59701493) |  | ||||||
| #define SDRAM_tRP       TRP_2 |  | ||||||
| #define SDRAM_tRP_num   2 |  | ||||||
| #define SDRAM_tRAS      TRAS_3 |  | ||||||
| #define SDRAM_tRAS_num  3 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ > 29850746) && (CONFIG_SCLK_HZ <= 44776119) |  | ||||||
| #define SDRAM_tRP       TRP_1 |  | ||||||
| #define SDRAM_tRP_num   1 |  | ||||||
| #define SDRAM_tRAS      TRAS_3 |  | ||||||
| #define SDRAM_tRAS_num  3 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #if (CONFIG_SCLK_HZ <= 29850746) |  | ||||||
| #define SDRAM_tRP       TRP_1 |  | ||||||
| #define SDRAM_tRP_num   1 |  | ||||||
| #define SDRAM_tRAS      TRAS_2 |  | ||||||
| #define SDRAM_tRAS_num  2 |  | ||||||
| #define SDRAM_tRCD      TRCD_1 |  | ||||||
| #define SDRAM_tWR       TWR_2 |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_MEM_MT48LC16M8A2TG_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC8M32B2B5_7) |  | ||||||
|   /*SDRAM INFORMATION: */ |  | ||||||
| #define SDRAM_Tref  64		/* Refresh period in milliseconds   */ |  | ||||||
| #define SDRAM_NRA   4096	/* Number of row addresses in SDRAM */ |  | ||||||
| #define SDRAM_CL    CL_3 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_MEM_MT48LC32M8A2_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC64M4A2FB_7E) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC32M16A2TG_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC16M16A2TG_75) || \ |  | ||||||
|     defined(CONFIG_MEM_MT48LC32M8A2_75) |  | ||||||
|   /*SDRAM INFORMATION: */ |  | ||||||
| #define SDRAM_Tref  64		/* Refresh period in milliseconds   */ |  | ||||||
| #define SDRAM_NRA   8192	/* Number of row addresses in SDRAM */ |  | ||||||
| #define SDRAM_CL    CL_3 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_MEM_MT48H32M16LFCJ_75) |  | ||||||
|   /*SDRAM INFORMATION: */ |  | ||||||
| #define SDRAM_Tref  64		/* Refresh period in milliseconds   */ |  | ||||||
| #define SDRAM_NRA   8192	/* Number of row addresses in SDRAM */ |  | ||||||
| #define SDRAM_CL    CL_2 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BFIN_KERNEL_CLOCK_MEMINIT_CALC |  | ||||||
| /* Equation from section 17 (p17-46) of BF533 HRM */ |  | ||||||
| #define mem_SDRRC       (((CONFIG_SCLK_HZ / 1000) * SDRAM_Tref) / SDRAM_NRA) - (SDRAM_tRAS_num + SDRAM_tRP_num) |  | ||||||
| 
 |  | ||||||
| /* Enable SCLK Out */ |  | ||||||
| #define mem_SDGCTL        (SCTLE | SDRAM_CL | SDRAM_tRAS | SDRAM_tRP | SDRAM_tRCD | SDRAM_tWR | PSS) |  | ||||||
| #else |  | ||||||
| #define mem_SDRRC 	CONFIG_MEM_SDRRC |  | ||||||
| #define mem_SDGCTL	CONFIG_MEM_SDGCTL |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #if defined(EBIU_DDRCTL0) |  | ||||||
| #define MIN_DDR_SCLK(x)	(x*(CONFIG_SCLK_HZ/1000/1000)/1000 + 1) |  | ||||||
| #define MAX_DDR_SCLK(x)	(x*(CONFIG_SCLK_HZ/1000/1000)/1000) |  | ||||||
| #define DDR_CLK_HZ(x)	(1000*1000*1000/x) |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_MEM_MT46V32M16_6T) |  | ||||||
| #define DDR_SIZE	DEVSZ_512 |  | ||||||
| #define DDR_WIDTH	DEVWD_16 |  | ||||||
| #define DDR_MAX_tCK	13 |  | ||||||
| 
 |  | ||||||
| #define DDR_tRC		DDR_TRC(MIN_DDR_SCLK(60)) |  | ||||||
| #define DDR_tRAS	DDR_TRAS(MIN_DDR_SCLK(42)) |  | ||||||
| #define DDR_tRP		DDR_TRP(MIN_DDR_SCLK(15)) |  | ||||||
| #define DDR_tRFC	DDR_TRFC(MIN_DDR_SCLK(72)) |  | ||||||
| #define DDR_tREFI	DDR_TREFI(MAX_DDR_SCLK(7800)) |  | ||||||
| 
 |  | ||||||
| #define DDR_tRCD	DDR_TRCD(MIN_DDR_SCLK(15)) |  | ||||||
| #define DDR_tWTR	DDR_TWTR(1) |  | ||||||
| #define DDR_tMRD	DDR_TMRD(MIN_DDR_SCLK(12)) |  | ||||||
| #define DDR_tWR		DDR_TWR(MIN_DDR_SCLK(15)) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_MEM_MT46V32M16_5B) |  | ||||||
| #define DDR_SIZE	DEVSZ_512 |  | ||||||
| #define DDR_WIDTH	DEVWD_16 |  | ||||||
| #define DDR_MAX_tCK	13 |  | ||||||
| 
 |  | ||||||
| #define DDR_tRC		DDR_TRC(MIN_DDR_SCLK(55)) |  | ||||||
| #define DDR_tRAS	DDR_TRAS(MIN_DDR_SCLK(40)) |  | ||||||
| #define DDR_tRP		DDR_TRP(MIN_DDR_SCLK(15)) |  | ||||||
| #define DDR_tRFC	DDR_TRFC(MIN_DDR_SCLK(70)) |  | ||||||
| #define DDR_tREFI	DDR_TREFI(MAX_DDR_SCLK(7800)) |  | ||||||
| 
 |  | ||||||
| #define DDR_tRCD	DDR_TRCD(MIN_DDR_SCLK(15)) |  | ||||||
| #define DDR_tWTR	DDR_TWTR(2) |  | ||||||
| #define DDR_tMRD	DDR_TMRD(MIN_DDR_SCLK(10)) |  | ||||||
| #define DDR_tWR		DDR_TWR(MIN_DDR_SCLK(15)) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if (CONFIG_SCLK_HZ < DDR_CLK_HZ(DDR_MAX_tCK)) |  | ||||||
| # error "CONFIG_SCLK_HZ is too small (<DDR_CLK_HZ(DDR_MAX_tCK) Hz)." |  | ||||||
| #elif(CONFIG_SCLK_HZ <= 133333333) |  | ||||||
| # define	DDR_CL		CL_2 |  | ||||||
| #else |  | ||||||
| # error "CONFIG_SCLK_HZ is too large (>133333333 Hz)." |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BFIN_KERNEL_CLOCK_MEMINIT_CALC |  | ||||||
| #define mem_DDRCTL0	(DDR_tRP | DDR_tRAS | DDR_tRC | DDR_tRFC | DDR_tREFI) |  | ||||||
| #define mem_DDRCTL1	(DDR_DATWIDTH | EXTBANK_1 | DDR_SIZE | DDR_WIDTH | DDR_tWTR \ |  | ||||||
| 			| DDR_tMRD | DDR_tWR | DDR_tRCD) |  | ||||||
| #define mem_DDRCTL2	DDR_CL |  | ||||||
| #else |  | ||||||
| #define mem_DDRCTL0	CONFIG_MEM_DDRCTL0 |  | ||||||
| #define mem_DDRCTL1	CONFIG_MEM_DDRCTL1 |  | ||||||
| #define mem_DDRCTL2	CONFIG_MEM_DDRCTL2 |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined CONFIG_CLKIN_HALF |  | ||||||
| #define CLKIN_HALF       1 |  | ||||||
| #else |  | ||||||
| #define CLKIN_HALF       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined CONFIG_PLL_BYPASS |  | ||||||
| #define PLL_BYPASS      1 |  | ||||||
| #else |  | ||||||
| #define PLL_BYPASS       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_BF60x |  | ||||||
| 
 |  | ||||||
| /* DMC status bits */ |  | ||||||
| #define IDLE			0x1 |  | ||||||
| #define MEMINITDONE		0x4 |  | ||||||
| #define SRACK			0x8 |  | ||||||
| #define PDACK			0x10 |  | ||||||
| #define DPDACK			0x20 |  | ||||||
| #define DLLCALDONE		0x2000 |  | ||||||
| #define PENDREF			0xF0000 |  | ||||||
| #define PHYRDPHASE		0xF00000 |  | ||||||
| #define PHYRDPHASE_OFFSET	20 |  | ||||||
| 
 |  | ||||||
| /* DMC control bits */ |  | ||||||
| #define LPDDR			0x2 |  | ||||||
| #define INIT			0x4 |  | ||||||
| #define	SRREQ			0x8 |  | ||||||
| #define PDREQ			0x10 |  | ||||||
| #define DPDREQ			0x20 |  | ||||||
| #define PREC			0x40 |  | ||||||
| #define ADDRMODE		0x100 |  | ||||||
| #define RDTOWR			0xE00 |  | ||||||
| #define PPREF			0x1000 |  | ||||||
| #define DLLCAL			0x2000 |  | ||||||
| 
 |  | ||||||
| /* DMC DLL control bits */ |  | ||||||
| #define DLLCALRDCNT		0xFF |  | ||||||
| #define DATACYC			0xF00 |  | ||||||
| #define DATACYC_OFFSET		8 |  | ||||||
| 
 |  | ||||||
| /* CGU Divisor bits */ |  | ||||||
| #define CSEL_OFFSET		0 |  | ||||||
| #define S0SEL_OFFSET		5 |  | ||||||
| #define SYSSEL_OFFSET		8 |  | ||||||
| #define S1SEL_OFFSET		13 |  | ||||||
| #define DSEL_OFFSET		16 |  | ||||||
| #define OSEL_OFFSET		22 |  | ||||||
| #define ALGN			0x20000000 |  | ||||||
| #define UPDT			0x40000000 |  | ||||||
| #define LOCK			0x80000000 |  | ||||||
| 
 |  | ||||||
| /* CGU Status bits */ |  | ||||||
| #define PLLEN			0x1 |  | ||||||
| #define PLLBP			0x2 |  | ||||||
| #define PLOCK			0x4 |  | ||||||
| #define CLKSALGN		0x8 |  | ||||||
| 
 |  | ||||||
| /* CGU Control bits */ |  | ||||||
| #define MSEL_MASK		0x7F00 |  | ||||||
| #define DF_MASK			0x1 |  | ||||||
| 
 |  | ||||||
| struct ddr_config { |  | ||||||
| 	u32 ddr_clk; |  | ||||||
| 	u32 dmc_ddrctl; |  | ||||||
| 	u32 dmc_effctl; |  | ||||||
| 	u32 dmc_ddrcfg; |  | ||||||
| 	u32 dmc_ddrtr0; |  | ||||||
| 	u32 dmc_ddrtr1; |  | ||||||
| 	u32 dmc_ddrtr2; |  | ||||||
| 	u32 dmc_ddrmr; |  | ||||||
| 	u32 dmc_ddrmr1; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_MEM_MT47H64M16) |  | ||||||
| static struct ddr_config ddr_config_table[] __attribute__((section(".data_l1"))) = { |  | ||||||
| 	[0] = { |  | ||||||
| 		.ddr_clk    = 125, |  | ||||||
| 		.dmc_ddrctl = 0x00000904, |  | ||||||
| 		.dmc_effctl = 0x004400C0, |  | ||||||
| 		.dmc_ddrcfg = 0x00000422, |  | ||||||
| 		.dmc_ddrtr0 = 0x20705212, |  | ||||||
| 		.dmc_ddrtr1 = 0x201003CF, |  | ||||||
| 		.dmc_ddrtr2 = 0x00320107, |  | ||||||
| 		.dmc_ddrmr  = 0x00000422, |  | ||||||
| 		.dmc_ddrmr1 = 0x4, |  | ||||||
| 	}, |  | ||||||
| 	[1] = { |  | ||||||
| 		.ddr_clk    = 133, |  | ||||||
| 		.dmc_ddrctl = 0x00000904, |  | ||||||
| 		.dmc_effctl = 0x004400C0, |  | ||||||
| 		.dmc_ddrcfg = 0x00000422, |  | ||||||
| 		.dmc_ddrtr0 = 0x20806313, |  | ||||||
| 		.dmc_ddrtr1 = 0x2013040D, |  | ||||||
| 		.dmc_ddrtr2 = 0x00320108, |  | ||||||
| 		.dmc_ddrmr  = 0x00000632, |  | ||||||
| 		.dmc_ddrmr1 = 0x4, |  | ||||||
| 	}, |  | ||||||
| 	[2] = { |  | ||||||
| 		.ddr_clk    = 150, |  | ||||||
| 		.dmc_ddrctl = 0x00000904, |  | ||||||
| 		.dmc_effctl = 0x004400C0, |  | ||||||
| 		.dmc_ddrcfg = 0x00000422, |  | ||||||
| 		.dmc_ddrtr0 = 0x20A07323, |  | ||||||
| 		.dmc_ddrtr1 = 0x20160492, |  | ||||||
| 		.dmc_ddrtr2 = 0x00320209, |  | ||||||
| 		.dmc_ddrmr  = 0x00000632, |  | ||||||
| 		.dmc_ddrmr1 = 0x4, |  | ||||||
| 	}, |  | ||||||
| 	[3] = { |  | ||||||
| 		.ddr_clk    = 166, |  | ||||||
| 		.dmc_ddrctl = 0x00000904, |  | ||||||
| 		.dmc_effctl = 0x004400C0, |  | ||||||
| 		.dmc_ddrcfg = 0x00000422, |  | ||||||
| 		.dmc_ddrtr0 = 0x20A07323, |  | ||||||
| 		.dmc_ddrtr1 = 0x2016050E, |  | ||||||
| 		.dmc_ddrtr2 = 0x00320209, |  | ||||||
| 		.dmc_ddrmr  = 0x00000632, |  | ||||||
| 		.dmc_ddrmr1 = 0x4, |  | ||||||
| 	}, |  | ||||||
| 	[4] = { |  | ||||||
| 		.ddr_clk    = 200, |  | ||||||
| 		.dmc_ddrctl = 0x00000904, |  | ||||||
| 		.dmc_effctl = 0x004400C0, |  | ||||||
| 		.dmc_ddrcfg = 0x00000422, |  | ||||||
| 		.dmc_ddrtr0 = 0x20a07323, |  | ||||||
| 		.dmc_ddrtr1 = 0x2016050f, |  | ||||||
| 		.dmc_ddrtr2 = 0x00320509, |  | ||||||
| 		.dmc_ddrmr  = 0x00000632, |  | ||||||
| 		.dmc_ddrmr1 = 0x4, |  | ||||||
| 	}, |  | ||||||
| 	[5] = { |  | ||||||
| 		.ddr_clk    = 225, |  | ||||||
| 		.dmc_ddrctl = 0x00000904, |  | ||||||
| 		.dmc_effctl = 0x004400C0, |  | ||||||
| 		.dmc_ddrcfg = 0x00000422, |  | ||||||
| 		.dmc_ddrtr0 = 0x20E0A424, |  | ||||||
| 		.dmc_ddrtr1 = 0x302006DB, |  | ||||||
| 		.dmc_ddrtr2 = 0x0032020D, |  | ||||||
| 		.dmc_ddrmr  = 0x00000842, |  | ||||||
| 		.dmc_ddrmr1 = 0x4, |  | ||||||
| 	}, |  | ||||||
| 	[6] = { |  | ||||||
| 		.ddr_clk    = 250, |  | ||||||
| 		.dmc_ddrctl = 0x00000904, |  | ||||||
| 		.dmc_effctl = 0x004400C0, |  | ||||||
| 		.dmc_ddrcfg = 0x00000422, |  | ||||||
| 		.dmc_ddrtr0 = 0x20E0A424, |  | ||||||
| 		.dmc_ddrtr1 = 0x3020079E, |  | ||||||
| 		.dmc_ddrtr2 = 0x0032050D, |  | ||||||
| 		.dmc_ddrmr  = 0x00000842, |  | ||||||
| 		.dmc_ddrmr1 = 0x4, |  | ||||||
| 	}, |  | ||||||
| }; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| static inline void dmc_enter_self_refresh(void) |  | ||||||
| { |  | ||||||
| 	if (bfin_read_DMC0_STAT() & MEMINITDONE) { |  | ||||||
| 		bfin_write_DMC0_CTL(bfin_read_DMC0_CTL() | SRREQ); |  | ||||||
| 		while (!(bfin_read_DMC0_STAT() & SRACK)) |  | ||||||
| 			continue; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void dmc_exit_self_refresh(void) |  | ||||||
| { |  | ||||||
| 	if (bfin_read_DMC0_STAT() & MEMINITDONE) { |  | ||||||
| 		bfin_write_DMC0_CTL(bfin_read_DMC0_CTL() & ~SRREQ); |  | ||||||
| 		while (bfin_read_DMC0_STAT() & SRACK) |  | ||||||
| 			continue; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void init_cgu(u32 cgu_div, u32 cgu_ctl) |  | ||||||
| { |  | ||||||
| 	dmc_enter_self_refresh(); |  | ||||||
| 
 |  | ||||||
| 	/* Don't set the same value of MSEL and DF to CGU_CTL */ |  | ||||||
| 	if ((bfin_read32(CGU0_CTL) & (MSEL_MASK | DF_MASK)) |  | ||||||
| 		!= cgu_ctl) { |  | ||||||
| 		bfin_write32(CGU0_DIV, cgu_div); |  | ||||||
| 		bfin_write32(CGU0_CTL, cgu_ctl); |  | ||||||
| 		while ((bfin_read32(CGU0_STAT) & (CLKSALGN | PLLBP)) || |  | ||||||
| 			!(bfin_read32(CGU0_STAT) & PLOCK)) |  | ||||||
| 			continue; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	bfin_write32(CGU0_DIV, cgu_div | UPDT); |  | ||||||
| 	while (bfin_read32(CGU0_STAT) & CLKSALGN) |  | ||||||
| 		continue; |  | ||||||
| 
 |  | ||||||
| 	dmc_exit_self_refresh(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static inline void init_dmc(u32 dmc_clk) |  | ||||||
| { |  | ||||||
| 	int i, dlldatacycle, dll_ctl; |  | ||||||
| 
 |  | ||||||
| 	for (i = 0; i < 7; i++) { |  | ||||||
| 		if (ddr_config_table[i].ddr_clk == dmc_clk) { |  | ||||||
| 			bfin_write_DMC0_CFG(ddr_config_table[i].dmc_ddrcfg); |  | ||||||
| 			bfin_write_DMC0_TR0(ddr_config_table[i].dmc_ddrtr0); |  | ||||||
| 			bfin_write_DMC0_TR1(ddr_config_table[i].dmc_ddrtr1); |  | ||||||
| 			bfin_write_DMC0_TR2(ddr_config_table[i].dmc_ddrtr2); |  | ||||||
| 			bfin_write_DMC0_MR(ddr_config_table[i].dmc_ddrmr); |  | ||||||
| 			bfin_write_DMC0_EMR1(ddr_config_table[i].dmc_ddrmr1); |  | ||||||
| 			bfin_write_DMC0_EFFCTL(ddr_config_table[i].dmc_effctl); |  | ||||||
| 			bfin_write_DMC0_CTL(ddr_config_table[i].dmc_ddrctl); |  | ||||||
| 			break; |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	while (!(bfin_read_DMC0_STAT() & MEMINITDONE)) |  | ||||||
| 		continue; |  | ||||||
| 
 |  | ||||||
| 	dlldatacycle = (bfin_read_DMC0_STAT() & PHYRDPHASE) >> PHYRDPHASE_OFFSET; |  | ||||||
| 	dll_ctl = bfin_read_DMC0_DLLCTL(); |  | ||||||
| 	dll_ctl &= ~DATACYC; |  | ||||||
| 	bfin_write_DMC0_DLLCTL(dll_ctl | (dlldatacycle << DATACYC_OFFSET)); |  | ||||||
| 
 |  | ||||||
| 	while (!(bfin_read_DMC0_STAT() & DLLCALDONE)) |  | ||||||
| 		continue; |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif /*__MEM_INIT_H__*/ |  | ||||||
| 
 |  | ||||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
		Reference in a new issue
	
	 Arnd Bergmann
						Arnd Bergmann