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
@ -66,8 +66,6 @@ backlight/
|
||||
- directory with info on controlling backlights in flat panel displays
|
||||
bcache.txt
|
||||
- Block-layer cache on fast SSDs to improve slow (raid) I/O performance.
|
||||
blackfin/
|
||||
- directory with documentation for the Blackfin arch.
|
||||
block/
|
||||
- info on the Block I/O (BIO) layer.
|
||||
blockdev/
|
||||
|
@ -89,7 +89,6 @@ parameter is applicable::
|
||||
APM Advanced Power Management support is enabled.
|
||||
ARM ARM architecture is enabled.
|
||||
AX25 Appropriate AX.25 support is enabled.
|
||||
BLACKFIN Blackfin architecture is enabled.
|
||||
CLK Common clock infrastructure is enabled.
|
||||
CMA Contiguous Memory Area support is enabled.
|
||||
DRM Direct Rendering Management support is enabled.
|
||||
|
@ -1025,7 +1025,7 @@
|
||||
address. The serial port must already be setup
|
||||
and configured. Options are not yet supported.
|
||||
|
||||
earlyprintk= [X86,SH,BLACKFIN,ARM,M68k,S390]
|
||||
earlyprintk= [X86,SH,ARM,M68k,S390]
|
||||
earlyprintk=vga
|
||||
earlyprintk=efi
|
||||
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: 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
|
||||
M: Jan-Simon Moeller <jansimon.moeller@gmx.de>
|
||||
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 New Issue
Block a user