blackfin architecture
This adds support for the Analog Devices Blackfin processor architecture, and
currently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561
(Dual Core) devices, with a variety of development platforms including those
avaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP,
BF561-EZKIT), and Bluetechnix! Tinyboards.
The Blackfin architecture was jointly developed by Intel and Analog Devices
Inc. (ADI) as the Micro Signal Architecture (MSA) core and introduced it in
December of 2000. Since then ADI has put this core into its Blackfin
processor family of devices. The Blackfin core has the advantages of a clean,
orthogonal,RISC-like microprocessor instruction set. It combines a dual-MAC
(Multiply/Accumulate), state-of-the-art signal processing engine and
single-instruction, multiple-data (SIMD) multimedia capabilities into a single
instruction-set architecture.
The Blackfin architecture, including the instruction set, is described by the
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
http://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdf
The Blackfin processor is already supported by major releases of gcc, and
there are binary and source rpms/tarballs for many architectures at:
http://blackfin.uclinux.org/gf/project/toolchain/frs There is complete
documentation, including "getting started" guides available at:
http://docs.blackfin.uclinux.org/ which provides links to the sources and
patches you will need in order to set up a cross-compiling environment for
bfin-linux-uclibc
This patch, as well as the other patches (toolchain, distribution,
uClibc) are actively supported by Analog Devices Inc, at:
http://blackfin.uclinux.org/
We have tested this on LTP, and our test plan (including pass/fails) can
be found at:
http://docs.blackfin.uclinux.org/doku.php?id=testing_the_linux_kernel
[m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files]
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-07 05:50:22 +08:00
|
|
|
/*
|
|
|
|
* File: include/asm-blackfin/mach-bf561/blackfin.h
|
|
|
|
* Based on:
|
|
|
|
* Author:
|
|
|
|
*
|
|
|
|
* Created:
|
|
|
|
* Description:
|
|
|
|
*
|
|
|
|
* Rev:
|
|
|
|
*
|
|
|
|
* Modified:
|
|
|
|
*
|
|
|
|
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
|
|
|
*
|
|
|
|
* 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; either version 2, 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; see the file COPYING.
|
|
|
|
* If not, write to the Free Software Foundation,
|
|
|
|
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _MACH_BLACKFIN_H_
|
|
|
|
#define _MACH_BLACKFIN_H_
|
|
|
|
|
|
|
|
#define BF561_FAMILY
|
|
|
|
|
|
|
|
#include "bf561.h"
|
|
|
|
#include "defBF561.h"
|
|
|
|
#include "anomaly.h"
|
|
|
|
|
2007-07-25 11:50:42 +08:00
|
|
|
#if !defined(__ASSEMBLY__)
|
blackfin architecture
This adds support for the Analog Devices Blackfin processor architecture, and
currently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561
(Dual Core) devices, with a variety of development platforms including those
avaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP,
BF561-EZKIT), and Bluetechnix! Tinyboards.
The Blackfin architecture was jointly developed by Intel and Analog Devices
Inc. (ADI) as the Micro Signal Architecture (MSA) core and introduced it in
December of 2000. Since then ADI has put this core into its Blackfin
processor family of devices. The Blackfin core has the advantages of a clean,
orthogonal,RISC-like microprocessor instruction set. It combines a dual-MAC
(Multiply/Accumulate), state-of-the-art signal processing engine and
single-instruction, multiple-data (SIMD) multimedia capabilities into a single
instruction-set architecture.
The Blackfin architecture, including the instruction set, is described by the
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
http://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdf
The Blackfin processor is already supported by major releases of gcc, and
there are binary and source rpms/tarballs for many architectures at:
http://blackfin.uclinux.org/gf/project/toolchain/frs There is complete
documentation, including "getting started" guides available at:
http://docs.blackfin.uclinux.org/ which provides links to the sources and
patches you will need in order to set up a cross-compiling environment for
bfin-linux-uclibc
This patch, as well as the other patches (toolchain, distribution,
uClibc) are actively supported by Analog Devices Inc, at:
http://blackfin.uclinux.org/
We have tested this on LTP, and our test plan (including pass/fails) can
be found at:
http://docs.blackfin.uclinux.org/doku.php?id=testing_the_linux_kernel
[m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files]
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-07 05:50:22 +08:00
|
|
|
#include "cdefBF561.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define bfin_read_FIO_FLAG_D() bfin_read_FIO0_FLAG_D()
|
|
|
|
#define bfin_write_FIO_FLAG_D(val) bfin_write_FIO0_FLAG_D(val)
|
|
|
|
#define bfin_read_FIO_DIR() bfin_read_FIO0_DIR()
|
|
|
|
#define bfin_write_FIO_DIR(val) bfin_write_FIO0_DIR(val)
|
|
|
|
#define bfin_read_FIO_INEN() bfin_read_FIO0_INEN()
|
|
|
|
#define bfin_write_FIO_INEN(val) bfin_write_FIO0_INEN(val)
|
|
|
|
|
2008-02-25 14:39:50 +08:00
|
|
|
#define SIC_IWR0 SICA_IWR0
|
|
|
|
#define SIC_IWR1 SICA_IWR1
|
2008-02-09 04:11:14 +08:00
|
|
|
#define SIC_IAR0 SICA_IAR0
|
|
|
|
#define bfin_write_SIC_IMASK0 bfin_write_SICA_IMASK0
|
|
|
|
#define bfin_write_SIC_IMASK1 bfin_write_SICA_IMASK1
|
|
|
|
#define bfin_write_SIC_IWR0 bfin_write_SICA_IWR0
|
|
|
|
#define bfin_write_SIC_IWR1 bfin_write_SICA_IWR1
|
|
|
|
|
|
|
|
#define bfin_read_SIC_IMASK0 bfin_read_SICA_IMASK0
|
|
|
|
#define bfin_read_SIC_IMASK1 bfin_read_SICA_IMASK1
|
|
|
|
#define bfin_read_SIC_IWR0 bfin_read_SICA_IWR0
|
|
|
|
#define bfin_read_SIC_IWR1 bfin_read_SICA_IWR1
|
|
|
|
#define bfin_read_SIC_ISR0 bfin_read_SICA_ISR0
|
|
|
|
#define bfin_read_SIC_ISR1 bfin_read_SICA_ISR1
|
|
|
|
|
|
|
|
#define bfin_read_SIC_IMASK(x) bfin_read32(SICA_IMASK0 + (x << 2))
|
|
|
|
#define bfin_write_SIC_IMASK(x, val) bfin_write32((SICA_IMASK0 + (x << 2)), val)
|
2009-01-07 23:14:39 +08:00
|
|
|
#define bfin_read_SICB_IMASK(x) bfin_read32(SICB_IMASK0 + (x << 2))
|
|
|
|
#define bfin_write_SICB_IMASK(x, val) bfin_write32((SICB_IMASK0 + (x << 2)), val)
|
2008-02-09 04:11:14 +08:00
|
|
|
#define bfin_read_SIC_ISR(x) bfin_read32(SICA_ISR0 + (x << 2))
|
|
|
|
#define bfin_write_SIC_ISR(x, val) bfin_write32((SICA_ISR0 + (x << 2)), val)
|
2009-01-07 23:14:39 +08:00
|
|
|
#define bfin_read_SICB_ISR(x) bfin_read32(SICB_ISR0 + (x << 2))
|
|
|
|
#define bfin_write_SICB_ISR(x, val) bfin_write32((SICB_ISR0 + (x << 2)), val)
|
2008-02-09 04:11:14 +08:00
|
|
|
|
2008-04-25 03:09:15 +08:00
|
|
|
#define BFIN_UART_NR_PORTS 1
|
|
|
|
|
|
|
|
#define OFFSET_THR 0x00 /* Transmit Holding register */
|
|
|
|
#define OFFSET_RBR 0x00 /* Receive Buffer register */
|
|
|
|
#define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */
|
|
|
|
#define OFFSET_IER 0x04 /* Interrupt Enable Register */
|
|
|
|
#define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */
|
|
|
|
#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 */
|
2008-02-09 04:11:14 +08:00
|
|
|
|
blackfin architecture
This adds support for the Analog Devices Blackfin processor architecture, and
currently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561
(Dual Core) devices, with a variety of development platforms including those
avaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP,
BF561-EZKIT), and Bluetechnix! Tinyboards.
The Blackfin architecture was jointly developed by Intel and Analog Devices
Inc. (ADI) as the Micro Signal Architecture (MSA) core and introduced it in
December of 2000. Since then ADI has put this core into its Blackfin
processor family of devices. The Blackfin core has the advantages of a clean,
orthogonal,RISC-like microprocessor instruction set. It combines a dual-MAC
(Multiply/Accumulate), state-of-the-art signal processing engine and
single-instruction, multiple-data (SIMD) multimedia capabilities into a single
instruction-set architecture.
The Blackfin architecture, including the instruction set, is described by the
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
http://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdf
The Blackfin processor is already supported by major releases of gcc, and
there are binary and source rpms/tarballs for many architectures at:
http://blackfin.uclinux.org/gf/project/toolchain/frs There is complete
documentation, including "getting started" guides available at:
http://docs.blackfin.uclinux.org/ which provides links to the sources and
patches you will need in order to set up a cross-compiling environment for
bfin-linux-uclibc
This patch, as well as the other patches (toolchain, distribution,
uClibc) are actively supported by Analog Devices Inc, at:
http://blackfin.uclinux.org/
We have tested this on LTP, and our test plan (including pass/fails) can
be found at:
http://docs.blackfin.uclinux.org/doku.php?id=testing_the_linux_kernel
[m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files]
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-07 05:50:22 +08:00
|
|
|
#endif /* _MACH_BLACKFIN_H_ */
|