Patches by Scott McNutt, 24 Aug 2004:
- Add support for Altera Nios-II processors. - Add support for Psyent PCI-5441 board. - Add support for Psyent PK1C20 board.
This commit is contained in:
37
include/asm-nios2/bitops.h
Normal file
37
include/asm-nios2/bitops.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_BITOPS_H_
|
||||
#define __ASM_NIOS2_BITOPS_H_
|
||||
|
||||
|
||||
extern void set_bit(int nr, volatile void * a);
|
||||
extern void clear_bit(int nr, volatile void * a);
|
||||
extern int test_and_clear_bit(int nr, volatile void * a);
|
||||
extern void change_bit(unsigned long nr, volatile void *addr);
|
||||
extern int test_and_set_bit(int nr, volatile void * a);
|
||||
extern int test_and_change_bit(int nr, volatile void * addr);
|
||||
extern int test_bit(int nr, volatile void * a);
|
||||
extern int ffs(int i);
|
||||
|
||||
#endif /* __ASM_NIOS2_BITOPS_H */
|
||||
30
include/asm-nios2/byteorder.h
Normal file
30
include/asm-nios2/byteorder.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_BYTEORDER_H_
|
||||
#define __ASM_NIOS2_BYTEORDER_H_
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <linux/byteorder/little_endian.h>
|
||||
|
||||
#endif /* __ASM_NIOS2_BYTEORDER_H_ */
|
||||
30
include/asm-nios2/cache.h
Normal file
30
include/asm-nios2/cache.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_CACHE_H_
|
||||
#define __ASM_NIOS2_CACHE_H_
|
||||
|
||||
extern void flush_dcache (unsigned long start, unsigned long size);
|
||||
extern void flush_icache (unsigned long start, unsigned long size);
|
||||
|
||||
#endif /* __ASM_NIOS2_CACHE_H_ */
|
||||
50
include/asm-nios2/global_data.h
Normal file
50
include/asm-nios2/global_data.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_GLOBALDATA_H_
|
||||
#define __ASM_NIOS2_GLOBALDATA_H_
|
||||
|
||||
typedef struct global_data {
|
||||
bd_t *bd;
|
||||
unsigned long flags;
|
||||
unsigned long baudrate;
|
||||
unsigned long cpu_clk; /* CPU clock in Hz! */
|
||||
unsigned long have_console; /* serial_init() was called */
|
||||
unsigned long ram_size; /* RAM size */
|
||||
unsigned long reloc_off; /* Relocation Offset */
|
||||
unsigned long env_addr; /* Address of Environment struct */
|
||||
unsigned long env_valid; /* Checksum of Environment valid */
|
||||
#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
|
||||
unsigned long post_log_word; /* Record POST activities */
|
||||
unsigned long post_init_f_time; /* When post_init_f started */
|
||||
#endif
|
||||
void **jt; /* Standalone app jump table */
|
||||
} gd_t;
|
||||
|
||||
/* flags */
|
||||
#define GD_FLG_RELOC 0x00001 /* Code was relocated to RAM */
|
||||
#define GD_FLG_DEVINIT 0x00002 /* Devices have been initialized */
|
||||
#define GD_FLG_SILENT 0x00004 /* Silent mode */
|
||||
|
||||
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("r15")
|
||||
|
||||
#endif /* __ASM_NIOS2_GLOBALDATA_H_ */
|
||||
36
include/asm-nios2/io.h
Normal file
36
include/asm-nios2/io.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_IO_H_
|
||||
#define __ASM_NIOS2_IO_H_
|
||||
|
||||
#define sync() asm volatile ("sync" : : : "memory");
|
||||
|
||||
extern unsigned char inb (unsigned char *port);
|
||||
extern unsigned short inw (unsigned short *port);
|
||||
extern unsigned inl (unsigned port);
|
||||
extern void outb (unsigned char val, unsigned char *port);
|
||||
extern void outw (unsigned short val, unsigned short *port);
|
||||
extern void outl (unsigned val, unsigned port);
|
||||
|
||||
#endif /* __ASM_NIOS2_IO_H_ */
|
||||
131
include/asm-nios2/opcodes.h
Normal file
131
include/asm-nios2/opcodes.h
Normal file
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_OPCODES_H_
|
||||
#define __ASM_NIOS2_OPCODES_H_
|
||||
|
||||
#define OPCODE_OP(inst) ((inst) & 0x3f)
|
||||
#define OPCODE_OPX(inst) (((inst)>>11) & 0x3f)
|
||||
#define OPCODE_RA(inst) (((inst)>>27) & 01f)
|
||||
#define OPCODE_RB(inst) (((inst)>>22) & 01f)
|
||||
#define OPCODE_RC(inst) (((inst)>>17) & 01f)
|
||||
|
||||
/* I-TYPE (immediate) and J-TYPE (jump) opcodes
|
||||
*/
|
||||
#define OPCODE_CALL 0x00
|
||||
#define OPCODE_LDBU 0x03
|
||||
#define OPCODE_ADDI 0x04
|
||||
#define OPCODE_STB 0x05
|
||||
#define OPCODE_BR 0x06
|
||||
#define OPCODE_LDB 0x07
|
||||
#define OPCODE_CMPGEI 0x08
|
||||
#define OPCODE_LDHU 0x0B
|
||||
#define OPCODE_ANDI 0x0C
|
||||
#define OPCODE_STH 0x0D
|
||||
#define OPCODE_BGE 0x0E
|
||||
#define OPCODE_LDH 0x0F
|
||||
#define OPCODE_CMPLTI 0x10
|
||||
#define OPCODE_XORI 0x1C
|
||||
#define OPCODE_ORI 0x14
|
||||
#define OPCODE_STW 0x15
|
||||
#define OPCODE_BLT 0x16
|
||||
#define OPCODE_LDW 0x17
|
||||
#define OPCODE_CMPNEI 0x18
|
||||
#define OPCODE_BNE 0x1E
|
||||
#define OPCODE_CMPEQI 0x20
|
||||
#define OPCODE_LDBUIO 0x23
|
||||
#define OPCODE_MULI 0x24
|
||||
#define OPCODE_STBIO 0x25
|
||||
#define OPCODE_BEQ 0x26
|
||||
#define OPCODE_LDBIO 0x27
|
||||
#define OPCODE_CMPGEUI 0x28
|
||||
#define OPCODE_ANDHI 0x2C
|
||||
#define OPCODE_STHIO 0x2D
|
||||
#define OPCODE_BGEU 0x2E
|
||||
#define OPCODE_LDHIO 0x2F
|
||||
#define OPCODE_CMPLTUI 0x30
|
||||
#define OPCODE_CUSTOM 0x32
|
||||
#define OPCODE_INITD 0x33
|
||||
#define OPCODE_ORHI 0x34
|
||||
#define OPCODE_STWIO 0x35
|
||||
#define OPCODE_BLTU 0x36
|
||||
#define OPCODE_LDWIO 0x37
|
||||
#define OPCODE_RTYPE 0x3A
|
||||
#define OPCODE_LDHUIO 0x2B
|
||||
#define OPCODE_FLUSHD 0x3B
|
||||
#define OPCODE_XORHI 0x3C
|
||||
|
||||
/* R-Type (register) OPX field encodings
|
||||
*/
|
||||
#define OPCODE_ERET 0x01
|
||||
#define OPCODE_ROLI 0x02
|
||||
#define OPCODE_ROL 0x03
|
||||
#define OPCODE_FLUSHP 0x04
|
||||
#define OPCODE_RET 0x05
|
||||
#define OPCODE_NOR 0x06
|
||||
#define OPCODE_MULXUU 0x07
|
||||
#define OPCODE_CMPGE 0x08
|
||||
#define OPCODE_BRET 0x09
|
||||
#define OPCODE_ROR 0x0B
|
||||
#define OPCODE_FLUSHI 0x0C
|
||||
#define OPCODE_JMP 0x0D
|
||||
#define OPCODE_AND 0x0E
|
||||
|
||||
#define OPCODE_CMPLT 0x10
|
||||
#define OPCODE_SLLI 0x12
|
||||
#define OPCODE_SLL 0x13
|
||||
#define OPCODE_OR 0x16
|
||||
#define OPCODE_MULXSU 0x17
|
||||
#define OPCODE_CMPNE 0x18
|
||||
#define OPCODE_SRLI 0x1A
|
||||
#define OPCODE_SRL 0x1B
|
||||
#define OPCODE_NEXTPC 0x1C
|
||||
#define OPCODE_CALLR 0x1D
|
||||
#define OPCODE_XOR 0x1E
|
||||
#define OPCODE_MULXSS 0x1F
|
||||
|
||||
#define OPCODE_CMPEQ 0x20
|
||||
#define OPCODE_CMPLTU 0x30
|
||||
#define OPCODE_ADD 0x31
|
||||
#define OPCODE_DIVU 0x24
|
||||
#define OPCODE_DIV 0x25
|
||||
#define OPCODE_RDCTL 0x26
|
||||
#define OPCODE_MUL 0x27
|
||||
#define OPCODE_CMPGEU 0x28
|
||||
#define OPCODE_TRAP 0x2D
|
||||
#define OPCODE_WRCTL 0x2E
|
||||
|
||||
#define OPCODE_BREAK 0x34
|
||||
#define OPCODE_SYNC 0x36
|
||||
#define OPCODE_INITI 0x29
|
||||
#define OPCODE_SUB 0x39
|
||||
#define OPCODE_SRAI 0x3A
|
||||
#define OPCODE_SRA 0x3B
|
||||
|
||||
/*Full instruction encodings for R-Type, without the R's ;-)
|
||||
*
|
||||
* TODO: BREAK, BRET, ERET, RET, SYNC (as needed)
|
||||
*/
|
||||
#define OPC_TRAP 0x003b683a
|
||||
|
||||
#endif /* __ASM_NIOS2_OPCODES_H_ */
|
||||
63
include/asm-nios2/posix_types.h
Normal file
63
include/asm-nios2/posix_types.h
Normal file
@@ -0,0 +1,63 @@
|
||||
#ifndef __ASM_NIOS2_POSIX_TYPES_H_
|
||||
#define __ASM_NIOS2_POSIX_TYPES_H_
|
||||
|
||||
/*
|
||||
* This file is generally used by user-level software, so you need to
|
||||
* be a little careful about namespace pollution etc. Also, we cannot
|
||||
* assume GCC is being used.
|
||||
*/
|
||||
|
||||
typedef unsigned short __kernel_dev_t;
|
||||
typedef unsigned long __kernel_ino_t;
|
||||
typedef unsigned short __kernel_mode_t;
|
||||
typedef unsigned short __kernel_nlink_t;
|
||||
typedef long __kernel_off_t;
|
||||
typedef int __kernel_pid_t;
|
||||
typedef unsigned short __kernel_ipc_pid_t;
|
||||
typedef unsigned short __kernel_uid_t;
|
||||
typedef unsigned short __kernel_gid_t;
|
||||
typedef unsigned long __kernel_size_t;
|
||||
typedef int __kernel_ssize_t;
|
||||
typedef int __kernel_ptrdiff_t;
|
||||
typedef long __kernel_time_t;
|
||||
typedef long __kernel_suseconds_t;
|
||||
typedef long __kernel_clock_t;
|
||||
typedef int __kernel_daddr_t;
|
||||
typedef char * __kernel_caddr_t;
|
||||
typedef unsigned short __kernel_uid16_t;
|
||||
typedef unsigned short __kernel_gid16_t;
|
||||
typedef unsigned int __kernel_uid32_t;
|
||||
typedef unsigned int __kernel_gid32_t;
|
||||
|
||||
typedef unsigned short __kernel_old_uid_t;
|
||||
typedef unsigned short __kernel_old_gid_t;
|
||||
|
||||
#ifdef __GNUC__
|
||||
typedef long long __kernel_loff_t;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
#if defined(__KERNEL__) || defined(__USE_ALL)
|
||||
int val[2];
|
||||
#else /* !defined(__KERNEL__) && !defined(__USE_ALL) */
|
||||
int __val[2];
|
||||
#endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */
|
||||
} __kernel_fsid_t;
|
||||
|
||||
#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
|
||||
|
||||
#undef __FD_SET
|
||||
#define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
|
||||
|
||||
#undef __FD_CLR
|
||||
#define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
|
||||
|
||||
#undef __FD_ISSET
|
||||
#define __FD_ISSET(d, set) ((set)->fds_bits[__FDELT(d)] & __FDMASK(d))
|
||||
|
||||
#undef __FD_ZERO
|
||||
#define __FD_ZERO(fdsetp) (memset (fdsetp, 0, sizeof(*(fd_set *)fdsetp)))
|
||||
|
||||
#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */
|
||||
|
||||
#endif /* __ASM_NIOS2_POSIX_TYPES_H_ */
|
||||
26
include/asm-nios2/processor.h
Normal file
26
include/asm-nios2/processor.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_PROCESSOR_H_
|
||||
#define __ASM_NIOS2_PROCESSOR_H_
|
||||
#endif /* __ASM_NIOS2_PROCESSOR_H_ */
|
||||
28
include/asm-nios2/psr.h
Normal file
28
include/asm-nios2/psr.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_PSR_H_
|
||||
#define __ASM_NIOS2_PSR_H_
|
||||
|
||||
|
||||
#endif /* __ASM_NIOS2_PSR_H_ */
|
||||
33
include/asm-nios2/ptrace.h
Normal file
33
include/asm-nios2/ptrace.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_PTRACE_H_
|
||||
#define __ASM_NIOS2_PTRACE_H_
|
||||
|
||||
struct pt_regs {
|
||||
unsigned reg[32];
|
||||
unsigned status;
|
||||
};
|
||||
|
||||
|
||||
#endif /* __ASM_NIOS2_PTRACE_H_ */
|
||||
31
include/asm-nios2/status_led.h
Normal file
31
include/asm-nios2/status_led.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_STATUS_LED_H__
|
||||
#define __ASM_STATUS_LED_H__
|
||||
|
||||
typedef unsigned led_id_t;
|
||||
extern void __led_init (led_id_t mask, int state);
|
||||
extern void __led_set (led_id_t mask, int state);
|
||||
inline void __led_toggle (led_id_t mask);
|
||||
|
||||
#endif /* __ASM_STATUS_LED_H__ */
|
||||
47
include/asm-nios2/string.h
Normal file
47
include/asm-nios2/string.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_STRING_H_
|
||||
#define __ASM_NIOS2_STRING_H_
|
||||
|
||||
#undef __HAVE_ARCH_STRRCHR
|
||||
extern char * strrchr(const char * s, int c);
|
||||
|
||||
#undef __HAVE_ARCH_STRCHR
|
||||
extern char * strchr(const char * s, int c);
|
||||
|
||||
#undef __HAVE_ARCH_MEMCPY
|
||||
extern void * memcpy(void *, const void *, __kernel_size_t);
|
||||
|
||||
#undef __HAVE_ARCH_MEMMOVE
|
||||
extern void * memmove(void *, const void *, __kernel_size_t);
|
||||
|
||||
#undef __HAVE_ARCH_MEMCHR
|
||||
extern void * memchr(const void *, int, __kernel_size_t);
|
||||
|
||||
#undef __HAVE_ARCH_MEMSET
|
||||
extern void * memset(void *, int, __kernel_size_t);
|
||||
|
||||
#undef __HAVE_ARCH_MEMZERO
|
||||
extern void memzero(void *ptr, __kernel_size_t n);
|
||||
|
||||
#endif /* __ASM_NIOS2_STRING_H_ */
|
||||
26
include/asm-nios2/system.h
Normal file
26
include/asm-nios2/system.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_SYSTEM_H_
|
||||
#define __ASM_NIOS2_SYSTEM_H_
|
||||
|
||||
#endif /* __ASM_NIOS2_SYSTEM_H */
|
||||
57
include/asm-nios2/types.h
Normal file
57
include/asm-nios2/types.h
Normal file
@@ -0,0 +1,57 @@
|
||||
#ifndef __ASM_NIOS2_TYPES_H_
|
||||
#define __ASM_NIOS2_TYPES_H_
|
||||
|
||||
/*
|
||||
* This file is never included by application software unless
|
||||
* explicitly requested (e.g., via linux/types.h) in which case the
|
||||
* application is Linux specific so (user-) name space pollution is
|
||||
* not a major issue. However, for interoperability, libraries still
|
||||
* need to be careful to avoid a name clashes.
|
||||
*/
|
||||
|
||||
typedef unsigned short umode_t;
|
||||
|
||||
/*
|
||||
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
|
||||
* header files exported to user space
|
||||
*/
|
||||
|
||||
typedef __signed__ char __s8;
|
||||
typedef unsigned char __u8;
|
||||
|
||||
typedef __signed__ short __s16;
|
||||
typedef unsigned short __u16;
|
||||
|
||||
typedef __signed__ int __s32;
|
||||
typedef unsigned int __u32;
|
||||
|
||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
||||
typedef __signed__ long long __s64;
|
||||
typedef unsigned long long __u64;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These aren't exported outside the kernel to avoid name space clashes
|
||||
*/
|
||||
#ifdef __KERNEL__
|
||||
|
||||
typedef signed char s8;
|
||||
typedef unsigned char u8;
|
||||
|
||||
typedef signed short s16;
|
||||
typedef unsigned short u16;
|
||||
|
||||
typedef signed int s32;
|
||||
typedef unsigned int u32;
|
||||
|
||||
typedef signed long long s64;
|
||||
typedef unsigned long long u64;
|
||||
|
||||
#define BITS_PER_LONG 32
|
||||
|
||||
/* Dma addresses are 32-bits wide. */
|
||||
|
||||
typedef u32 dma_addr_t;
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* __ASM_NIOS2_TYPES_H */
|
||||
41
include/asm-nios2/u-boot.h
Normal file
41
include/asm-nios2/u-boot.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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_NIOS2_U_BOOT_H_
|
||||
#define __ASM_NIOS2_U_BOOT_H_
|
||||
|
||||
typedef struct bd_info {
|
||||
unsigned long bi_memstart; /* start of DRAM memory */
|
||||
unsigned long bi_memsize; /* size of DRAM memory in bytes */
|
||||
unsigned long bi_flashstart; /* start of FLASH memory */
|
||||
unsigned long bi_flashsize; /* size of FLASH memory */
|
||||
unsigned long bi_flashoffset; /* reserved area for startup monitor */
|
||||
unsigned long bi_sramstart; /* start of SRAM memory */
|
||||
unsigned long bi_sramsize; /* size of SRAM memory */
|
||||
unsigned long bi_ip_addr; /* IP Address */
|
||||
unsigned char bi_enetaddr[6]; /* Ethernet adress */
|
||||
unsigned long bi_baudrate; /* Console Baudrate */
|
||||
} bd_t;
|
||||
|
||||
|
||||
#endif /* __ASM_NIOS2_U_BOOT_H_ */
|
||||
@@ -26,7 +26,6 @@
|
||||
* Please refer to doc/README.mpc85xxcds for more info.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
@@ -72,7 +71,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CFG_MEMTEST_START 0x00200000 /* memtest works on */
|
||||
#define CFG_MEMTEST_END 0x00400000
|
||||
|
||||
|
||||
/*
|
||||
* Base addresses -- Note these are effective addresses where the
|
||||
* actual resources get mapped (not physical addresses)
|
||||
@@ -81,7 +79,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CFG_CCSRBAR 0xe0000000 /* relocated CCSRBAR */
|
||||
#define CFG_IMMR CFG_CCSRBAR /* PQII uses CFG_IMMR */
|
||||
|
||||
|
||||
/*
|
||||
* DDR Setup
|
||||
*/
|
||||
@@ -97,8 +94,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#error ("CONFIG_SPD_EEPROM is required by MPC85555CDS")
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* SDRAM on the Local Bus
|
||||
*/
|
||||
@@ -244,7 +239,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CFG_BR3_PRELIM 0xf8000801
|
||||
#define CFG_OR3_PRELIM 0xfff00ff7
|
||||
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CFG_INIT_RAM_LOCK 1
|
||||
#define CFG_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
@@ -344,8 +338,6 @@ extern unsigned long get_clock_freq(void);
|
||||
|
||||
#endif /* CONFIG_TSEC_ENET */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Environment
|
||||
*/
|
||||
@@ -369,8 +361,6 @@ extern unsigned long get_clock_freq(void);
|
||||
| CFG_CMD_I2C \
|
||||
| CFG_CMD_MII)
|
||||
#endif
|
||||
|
||||
|
||||
#include <cmd_confdefs.h>
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
@@ -418,7 +408,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Environment Configuration
|
||||
*/
|
||||
@@ -470,5 +459,4 @@ extern unsigned long get_clock_freq(void);
|
||||
|
||||
#define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND
|
||||
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
* Please refer to doc/README.mpc85xxcds for more info.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
@@ -72,7 +71,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CFG_MEMTEST_START 0x00200000 /* memtest works on */
|
||||
#define CFG_MEMTEST_END 0x00400000
|
||||
|
||||
|
||||
/*
|
||||
* Base addresses -- Note these are effective addresses where the
|
||||
* actual resources get mapped (not physical addresses)
|
||||
@@ -81,7 +79,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CFG_CCSRBAR 0xe0000000 /* relocated CCSRBAR */
|
||||
#define CFG_IMMR CFG_CCSRBAR /* PQII uses CFG_IMMR */
|
||||
|
||||
|
||||
/*
|
||||
* DDR Setup
|
||||
*/
|
||||
@@ -97,8 +94,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#error ("CONFIG_SPD_EEPROM is required by MPC85555CDS")
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* SDRAM on the Local Bus
|
||||
*/
|
||||
@@ -244,7 +239,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CFG_BR3_PRELIM 0xf8000801
|
||||
#define CFG_OR3_PRELIM 0xfff00ff7
|
||||
|
||||
|
||||
#define CONFIG_L1_INIT_RAM
|
||||
#define CFG_INIT_RAM_LOCK 1
|
||||
#define CFG_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */
|
||||
@@ -344,8 +338,6 @@ extern unsigned long get_clock_freq(void);
|
||||
|
||||
#endif /* CONFIG_TSEC_ENET */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Environment
|
||||
*/
|
||||
@@ -369,8 +361,6 @@ extern unsigned long get_clock_freq(void);
|
||||
| CFG_CMD_I2C \
|
||||
| CFG_CMD_MII)
|
||||
#endif
|
||||
|
||||
|
||||
#include <cmd_confdefs.h>
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
@@ -418,7 +408,6 @@ extern unsigned long get_clock_freq(void);
|
||||
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Environment Configuration
|
||||
*/
|
||||
@@ -470,5 +459,4 @@ extern unsigned long get_clock_freq(void);
|
||||
|
||||
#define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND
|
||||
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
||||
155
include/configs/PCI5441.h
Normal file
155
include/configs/PCI5441.h
Normal file
@@ -0,0 +1,155 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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 __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* BOARD/CPU
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CONFIG_PCI5441 1 /* PCI-5441 board */
|
||||
#define CONFIG_SYS_CLK_FREQ 50000000 /* 50 MHz core clk */
|
||||
|
||||
#define CFG_RESET_ADDR 0x00000000 /* Hard-reset address */
|
||||
#define CFG_EXCEPTION_ADDR 0x01000020 /* Exception entry point*/
|
||||
#define CFG_NIOS_SYSID_BASE 0x00920828 /* System id address */
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* enable early board-spec. init*/
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* CACHE -- the following will support II/s and II/f. The II/s does not
|
||||
* have dcache, so the cache instructions will behave as NOPs.
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_ICACHE_SIZE 4096 /* 4 KByte total */
|
||||
#define CFG_ICACHELINE_SIZE 32 /* 32 bytes/line */
|
||||
#define CFG_DCACHE_SIZE 2048 /* 2 KByte (II/f) */
|
||||
#define CFG_DCACHELINE_SIZE 4 /* 4 bytes/line (II/f) */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* MEMORY BASE ADDRESSES
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_FLASH_BASE 0x00000000 /* FLASH base addr */
|
||||
#define CFG_FLASH_SIZE 0x00800000 /* 8 MByte */
|
||||
#define CFG_SDRAM_BASE 0x01000000 /* SDRAM base addr */
|
||||
#define CFG_SDRAM_SIZE 0x01000000 /* 16 MByte */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* MEMORY ORGANIZATION
|
||||
* -Monitor at top.
|
||||
* -The heap is placed below the monitor.
|
||||
* -Global data is placed below the heap.
|
||||
* -The stack is placed below global data (&grows down).
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_MONITOR_LEN (128 * 1024) /* Reserve 128k */
|
||||
#define CFG_GBL_DATA_SIZE 128 /* Global data size rsvd*/
|
||||
#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024)
|
||||
|
||||
#define CFG_MONITOR_BASE TEXT_BASE
|
||||
#define CFG_MALLOC_BASE (CFG_MONITOR_BASE - CFG_MALLOC_LEN)
|
||||
#define CFG_GBL_DATA_OFFSET (CFG_MALLOC_BASE - CFG_GBL_DATA_SIZE)
|
||||
#define CFG_INIT_SP CFG_GBL_DATA_OFFSET
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* FLASH (AM29LV065D)
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_MAX_FLASH_SECT 128 /* Max # sects per bank */
|
||||
#define CFG_MAX_FLASH_BANKS 1 /* Max # of flash banks */
|
||||
#define CFG_FLASH_ERASE_TOUT 8000 /* Erase timeout (msec) */
|
||||
#define CFG_FLASH_WRITE_TOUT 100 /* Write timeout (msec) */
|
||||
#define CFG_FLASH_WORD_SIZE unsigned char /* flash word size */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* ENVIRONMENT -- Put environment in sector CFG_MONITOR_LEN above
|
||||
* CFG_RESET_ADDR, since we assume the monitor is stored at the
|
||||
* reset address, no? This will keep the environment in user region
|
||||
* of flash. NOTE: the monitor length must be multiple of sector size
|
||||
* (which is common practice).
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_ENV_IS_IN_FLASH 1 /* Environment in flash */
|
||||
#define CFG_ENV_SIZE (64 * 1024) /* 64 KByte (1 sector) */
|
||||
#define CONFIG_ENV_OVERWRITE /* Serial change Ok */
|
||||
#define CFG_ENV_ADDR (CFG_RESET_ADDR + CFG_MONITOR_LEN)
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* CONSOLE
|
||||
*----------------------------------------------------------------------*/
|
||||
#if defined(CONFIG_CONSOLE_JTAG)
|
||||
#define CFG_NIOS_CONSOLE 0x00920820 /* JTAG UART base addr */
|
||||
#else
|
||||
#define CFG_NIOS_CONSOLE 0x009208a0 /* UART base addr */
|
||||
#endif
|
||||
|
||||
#define CFG_NIOS_FIXEDBAUD 1 /* Baudrate is fixed */
|
||||
#define CONFIG_BAUDRATE 115200 /* Initial baudrate */
|
||||
#define CFG_BAUDRATE_TABLE {115200} /* It's fixed ;-) */
|
||||
|
||||
#define CFG_CONSOLE_INFO_QUIET 1 /* Suppress console info*/
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* DEBUG
|
||||
*----------------------------------------------------------------------*/
|
||||
#undef CONFIG_ROM_STUBS /* Stubs not in ROM */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* TIMEBASE --
|
||||
*
|
||||
* The high res timer defaults to 1 msec. Since it includes the period
|
||||
* registers, we can slow it down to 10 msec using TMRCNT. If the default
|
||||
* period is acceptable, TMRCNT can be left undefined.
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_NIOS_TMRBASE 0x00920860 /* Tick timer base addr */
|
||||
#define CFG_NIOS_TMRIRQ 3 /* Timer IRQ num */
|
||||
#define CFG_NIOS_TMRMS 10 /* 10 msec per tick */
|
||||
#define CFG_NIOS_TMRCNT (CFG_NIOS_TMRMS * (CONFIG_SYS_CLK_FREQ/1000))
|
||||
#define CFG_HZ (CONFIG_SYS_CLK_FREQ/(CFG_NIOS_TMRCNT + 1))
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* COMMANDS
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CONFIG_COMMANDS (CFG_CMD_BDI | \
|
||||
CFG_CMD_ECHO | \
|
||||
CFG_CMD_ENV | \
|
||||
CFG_CMD_FLASH | \
|
||||
CFG_CMD_IMI | \
|
||||
CFG_CMD_IRQ | \
|
||||
CFG_CMD_LOADS | \
|
||||
CFG_CMD_LOADB | \
|
||||
CFG_CMD_MEMORY | \
|
||||
CFG_CMD_MISC | \
|
||||
CFG_CMD_RUN | \
|
||||
CFG_CMD_SAVES )
|
||||
#include <cmd_confdefs.h>
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* MISC
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_LONGHELP /* Provide extended help*/
|
||||
#define CFG_PROMPT "==> " /* Command prompt */
|
||||
#define CFG_CBSIZE 256 /* Console I/O buf size */
|
||||
#define CFG_MAXARGS 16 /* Max command args */
|
||||
#define CFG_BARGSIZE CFG_CBSIZE /* Boot arg buf size */
|
||||
#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print buf size */
|
||||
#define CFG_LOAD_ADDR CFG_SDRAM_BASE /* Default load address */
|
||||
#define CFG_MEMTEST_START CFG_SDRAM_BASE /* Start addr for test */
|
||||
#define CFG_MEMTEST_END CFG_INIT_SP - 0x00020000
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
188
include/configs/PK1C20.h
Normal file
188
include/configs/PK1C20.h
Normal file
@@ -0,0 +1,188 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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 __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* BOARD/CPU
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CONFIG_PK1C20 1 /* PK1C20 board */
|
||||
#define CONFIG_SYS_CLK_FREQ 50000000 /* 50 MHz core clk */
|
||||
|
||||
#define CFG_RESET_ADDR 0x00000000 /* Hard-reset address */
|
||||
#define CFG_EXCEPTION_ADDR 0x01000020 /* Exception entry point*/
|
||||
#define CFG_NIOS_SYSID_BASE 0x00920828 /* System id address */
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* enable early board-spec. init*/
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* CACHE -- the following will support II/s and II/f. The II/s does not
|
||||
* have dcache, so the cache instructions will behave as NOPs.
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_ICACHE_SIZE 4096 /* 4 KByte total */
|
||||
#define CFG_ICACHELINE_SIZE 32 /* 32 bytes/line */
|
||||
#define CFG_DCACHE_SIZE 2048 /* 2 KByte (II/f) */
|
||||
#define CFG_DCACHELINE_SIZE 4 /* 4 bytes/line (II/f) */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* MEMORY BASE ADDRESSES
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_FLASH_BASE 0x00000000 /* FLASH base addr */
|
||||
#define CFG_FLASH_SIZE 0x00800000 /* 8 MByte */
|
||||
#define CFG_SDRAM_BASE 0x01000000 /* SDRAM base addr */
|
||||
#define CFG_SDRAM_SIZE 0x01000000 /* 16 MByte */
|
||||
#define CFG_SRAM_BASE 0x00800000 /* SRAM base addr */
|
||||
#define CFG_SRAM_SIZE 0x00200000 /* 2 MByte */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* MEMORY ORGANIZATION
|
||||
* -Monitor at top.
|
||||
* -The heap is placed below the monitor.
|
||||
* -Global data is placed below the heap.
|
||||
* -The stack is placed below global data (&grows down).
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_MONITOR_LEN (128 * 1024) /* Reserve 128k */
|
||||
#define CFG_GBL_DATA_SIZE 128 /* Global data size rsvd*/
|
||||
#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024)
|
||||
|
||||
#define CFG_MONITOR_BASE TEXT_BASE
|
||||
#define CFG_MALLOC_BASE (CFG_MONITOR_BASE - CFG_MALLOC_LEN)
|
||||
#define CFG_GBL_DATA_OFFSET (CFG_MALLOC_BASE - CFG_GBL_DATA_SIZE)
|
||||
#define CFG_INIT_SP CFG_GBL_DATA_OFFSET
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* FLASH (AM29LV065D)
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_MAX_FLASH_SECT 128 /* Max # sects per bank */
|
||||
#define CFG_MAX_FLASH_BANKS 1 /* Max # of flash banks */
|
||||
#define CFG_FLASH_ERASE_TOUT 8000 /* Erase timeout (msec) */
|
||||
#define CFG_FLASH_WRITE_TOUT 100 /* Write timeout (msec) */
|
||||
#define CFG_FLASH_WORD_SIZE unsigned char /* flash word size */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* ENVIRONMENT -- Put environment in sector CFG_MONITOR_LEN above
|
||||
* CFG_RESET_ADDR, since we assume the monitor is stored at the
|
||||
* reset address, no? This will keep the environment in user region
|
||||
* of flash. NOTE: the monitor length must be multiple of sector size
|
||||
* (which is common practice).
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_ENV_IS_IN_FLASH 1 /* Environment in flash */
|
||||
#define CFG_ENV_SIZE (64 * 1024) /* 64 KByte (1 sector) */
|
||||
#define CONFIG_ENV_OVERWRITE /* Serial change Ok */
|
||||
#define CFG_ENV_ADDR (CFG_RESET_ADDR + CFG_MONITOR_LEN)
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* CONSOLE
|
||||
*----------------------------------------------------------------------*/
|
||||
#if defined(CONFIG_CONSOLE_JTAG)
|
||||
#define CFG_NIOS_CONSOLE 0x00920820 /* JTAG UART base addr */
|
||||
#else
|
||||
#define CFG_NIOS_CONSOLE 0x009208a0 /* UART base addr */
|
||||
#endif
|
||||
|
||||
#define CFG_NIOS_FIXEDBAUD 1 /* Baudrate is fixed */
|
||||
#define CONFIG_BAUDRATE 115200 /* Initial baudrate */
|
||||
#define CFG_BAUDRATE_TABLE {115200} /* It's fixed ;-) */
|
||||
|
||||
#define CFG_CONSOLE_INFO_QUIET 1 /* Suppress console info*/
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* DEBUG
|
||||
*----------------------------------------------------------------------*/
|
||||
#undef CONFIG_ROM_STUBS /* Stubs not in ROM */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* TIMEBASE --
|
||||
*
|
||||
* The high res timer defaults to 1 msec. Since it includes the period
|
||||
* registers, we can slow it down to 10 msec using TMRCNT. If the default
|
||||
* period is acceptable, TMRCNT can be left undefined.
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_NIOS_TMRBASE 0x00920860 /* Tick timer base addr */
|
||||
#define CFG_NIOS_TMRIRQ 3 /* Timer IRQ num */
|
||||
#define CFG_NIOS_TMRMS 10 /* 10 msec per tick */
|
||||
#define CFG_NIOS_TMRCNT (CFG_NIOS_TMRMS * (CONFIG_SYS_CLK_FREQ/1000))
|
||||
#define CFG_HZ (CONFIG_SYS_CLK_FREQ/(CFG_NIOS_TMRCNT + 1))
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* STATUS LED -- Provides a simple blinking led. For Nios2 each board
|
||||
* must implement its own led routines -- leds are, after all,
|
||||
* board-specific, no?
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_LEDPIO_ADDR 0x00920840 /* LED PIO base addr */
|
||||
#define CONFIG_STATUS_LED /* Enable status driver */
|
||||
|
||||
#define STATUS_LED_BIT 1 /* Bit-0 on PIO */
|
||||
#define STATUS_LED_STATE 1 /* Blinking */
|
||||
#define STATUS_LED_PERIOD (500/CFG_NIOS_TMRMS) /* Every 500 msec */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* ETHERNET -- The header file for the SMC91111 driver hurts my eyes ...
|
||||
* and really doesn't need any additional clutter. So I choose the lazy
|
||||
* way out to avoid changes there -- define the base address to ensure
|
||||
* cache bypass so there's no need to monkey with inx/outx macros.
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CONFIG_SMC91111_BASE 0x80910300 /* Base addr (bypass) */
|
||||
#define CONFIG_DRIVER_SMC91111 /* Using SMC91c111 */
|
||||
#undef CONFIG_SMC91111_EXT_PHY /* Internal PHY */
|
||||
#define CONFIG_SMC_USE_32_BIT /* 32-bit interface */
|
||||
|
||||
#define CONFIG_ETHADDR 08:00:3e:26:0a:5b
|
||||
#define CONFIG_NETMASK 255.255.255.0
|
||||
#define CONFIG_IPADDR 192.168.2.21
|
||||
#define CONFIG_SERVERIP 192.168.2.16
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* COMMANDS
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CONFIG_COMMANDS (CFG_CMD_BDI | \
|
||||
CFG_CMD_DHCP | \
|
||||
CFG_CMD_ECHO | \
|
||||
CFG_CMD_ENV | \
|
||||
CFG_CMD_FLASH | \
|
||||
CFG_CMD_IMI | \
|
||||
CFG_CMD_IRQ | \
|
||||
CFG_CMD_LOADS | \
|
||||
CFG_CMD_LOADB | \
|
||||
CFG_CMD_MEMORY | \
|
||||
CFG_CMD_MISC | \
|
||||
CFG_CMD_NET | \
|
||||
CFG_CMD_PING | \
|
||||
CFG_CMD_RUN | \
|
||||
CFG_CMD_SAVES )
|
||||
#include <cmd_confdefs.h>
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* MISC
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CFG_LONGHELP /* Provide extended help*/
|
||||
#define CFG_PROMPT "==> " /* Command prompt */
|
||||
#define CFG_CBSIZE 256 /* Console I/O buf size */
|
||||
#define CFG_MAXARGS 16 /* Max command args */
|
||||
#define CFG_BARGSIZE CFG_CBSIZE /* Boot arg buf size */
|
||||
#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print buf size */
|
||||
#define CFG_LOAD_ADDR CFG_SDRAM_BASE /* Default load address */
|
||||
#define CFG_MEMTEST_START CFG_SDRAM_BASE /* Start addr for test */
|
||||
#define CFG_MEMTEST_END CFG_INIT_SP - 0x00020000
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
@@ -67,6 +67,7 @@
|
||||
#define IH_CPU_M68K 12 /* M68K */
|
||||
#define IH_CPU_NIOS 13 /* Nios-32 */
|
||||
#define IH_CPU_MICROBLAZE 14 /* MicroBlaze */
|
||||
#define IH_CPU_NIOS2 15 /* Nios-II */
|
||||
|
||||
/*
|
||||
* Image Types
|
||||
|
||||
200
include/nios2-io.h
Normal file
200
include/nios2-io.h
Normal file
@@ -0,0 +1,200 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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
|
||||
*/
|
||||
|
||||
/*************************************************************************
|
||||
* Altera Nios2 Standard Peripherals
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __NIOS2IO_H__
|
||||
#define __NIOS2IO_H__
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* UART (http://www.altera.com/literature/ds/ds_nios_uart.pdf)
|
||||
*----------------------------------------------------------------------*/
|
||||
typedef volatile struct nios_uart_t {
|
||||
unsigned rxdata; /* Rx data reg */
|
||||
unsigned txdata; /* Tx data reg */
|
||||
unsigned status; /* Status reg */
|
||||
unsigned control; /* Control reg */
|
||||
unsigned divisor; /* Baud rate divisor reg */
|
||||
unsigned endofpacket; /* End-of-packet reg */
|
||||
}nios_uart_t;
|
||||
|
||||
/* status register */
|
||||
#define NIOS_UART_PE (1 << 0) /* parity error */
|
||||
#define NIOS_UART_FE (1 << 1) /* frame error */
|
||||
#define NIOS_UART_BRK (1 << 2) /* break detect */
|
||||
#define NIOS_UART_ROE (1 << 3) /* rx overrun */
|
||||
#define NIOS_UART_TOE (1 << 4) /* tx overrun */
|
||||
#define NIOS_UART_TMT (1 << 5) /* tx empty */
|
||||
#define NIOS_UART_TRDY (1 << 6) /* tx ready */
|
||||
#define NIOS_UART_RRDY (1 << 7) /* rx ready */
|
||||
#define NIOS_UART_E (1 << 8) /* exception */
|
||||
#define NIOS_UART_DCTS (1 << 10) /* cts change */
|
||||
#define NIOS_UART_CTS (1 << 11) /* cts */
|
||||
#define NIOS_UART_EOP (1 << 12) /* eop detected */
|
||||
|
||||
/* control register */
|
||||
#define NIOS_UART_IPE (1 << 0) /* parity error int ena*/
|
||||
#define NIOS_UART_IFE (1 << 1) /* frame error int ena */
|
||||
#define NIOS_UART_IBRK (1 << 2) /* break detect int ena */
|
||||
#define NIOS_UART_IROE (1 << 3) /* rx overrun int ena */
|
||||
#define NIOS_UART_ITOE (1 << 4) /* tx overrun int ena */
|
||||
#define NIOS_UART_ITMT (1 << 5) /* tx empty int ena */
|
||||
#define NIOS_UART_ITRDY (1 << 6) /* tx ready int ena */
|
||||
#define NIOS_UART_IRRDY (1 << 7) /* rx ready int ena */
|
||||
#define NIOS_UART_IE (1 << 8) /* exception int ena */
|
||||
#define NIOS_UART_TBRK (1 << 9) /* transmit break */
|
||||
#define NIOS_UART_IDCTS (1 << 10) /* cts change int ena */
|
||||
#define NIOS_UART_RTS (1 << 11) /* rts */
|
||||
#define NIOS_UART_IEOP (1 << 12) /* eop detected int ena */
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* TIMER (http://www.altera.com/literature/ds/ds_nios_timer.pdf)
|
||||
*----------------------------------------------------------------------*/
|
||||
typedef volatile struct nios_timer_t {
|
||||
unsigned status; /* Timer status reg */
|
||||
unsigned control; /* Timer control reg */
|
||||
unsigned periodl; /* Timeout period low */
|
||||
unsigned periodh; /* Timeout period high */
|
||||
unsigned snapl; /* Snapshot low */
|
||||
unsigned snaph; /* Snapshot high */
|
||||
}nios_timer_t;
|
||||
|
||||
/* status register */
|
||||
#define NIOS_TIMER_TO (1 << 0) /* Timeout */
|
||||
#define NIOS_TIMER_RUN (1 << 1) /* Timer running */
|
||||
|
||||
/* control register */
|
||||
#define NIOS_TIMER_ITO (1 << 0) /* Timeout int ena */
|
||||
#define NIOS_TIMER_CONT (1 << 1) /* Continuous mode */
|
||||
#define NIOS_TIMER_START (1 << 2) /* Start timer */
|
||||
#define NIOS_TIMER_STOP (1 << 3) /* Stop timer */
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* PIO (http://www.altera.com/literature/ds/ds_nios_pio.pdf)
|
||||
*----------------------------------------------------------------------*/
|
||||
typedef volatile struct nios_pio_t {
|
||||
unsigned int data; /* Data value at each PIO in/out */
|
||||
unsigned int direction; /* Data direct. for each PIO bit */
|
||||
unsigned int interruptmask; /* Per-bit IRQ enable/disable */
|
||||
unsigned int edgecapture; /* Per-bit sync. edge detect & hold */
|
||||
}nios_pio_t;
|
||||
|
||||
/* direction register */
|
||||
#define NIOS_PIO_OUT (1) /* PIO bit is output */
|
||||
#define NIOS_PIO_IN (0) /* PIO bit is input */
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* SPI (http://www.altera.com/literature/ds/ds_nios_spi.pdf)
|
||||
*----------------------------------------------------------------------*/
|
||||
typedef volatile struct nios_spi_t {
|
||||
unsigned rxdata; /* Rx data reg */
|
||||
unsigned txdata; /* Tx data reg */
|
||||
unsigned status; /* Status reg */
|
||||
unsigned control; /* Control reg */
|
||||
unsigned reserved; /* (master only) */
|
||||
unsigned slaveselect; /* SPI slave select mask (master only) */
|
||||
}nios_spi_t;
|
||||
|
||||
/* status register */
|
||||
#define NIOS_SPI_ROE (1 << 3) /* rx overrun */
|
||||
#define NIOS_SPI_TOE (1 << 4) /* tx overrun */
|
||||
#define NIOS_SPI_TMT (1 << 5) /* tx empty */
|
||||
#define NIOS_SPI_TRDY (1 << 6) /* tx ready */
|
||||
#define NIOS_SPI_RRDY (1 << 7) /* rx ready */
|
||||
#define NIOS_SPI_E (1 << 8) /* exception */
|
||||
|
||||
/* control register */
|
||||
#define NIOS_SPI_IROE (1 << 3) /* rx overrun int ena */
|
||||
#define NIOS_SPI_ITOE (1 << 4) /* tx overrun int ena */
|
||||
#define NIOS_SPI_ITRDY (1 << 6) /* tx ready int ena */
|
||||
#define NIOS_SPI_IRRDY (1 << 7) /* rx ready int ena */
|
||||
#define NIOS_SPI_IE (1 << 8) /* exception int ena */
|
||||
#define NIOS_SPI_SSO (1 << 10) /* override SS_n output */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* ASMI
|
||||
*----------------------------------------------------------------------*/
|
||||
typedef volatile struct nios_asmi_t {
|
||||
unsigned rxdata; /* Rx data reg */
|
||||
unsigned txdata; /* Tx data reg */
|
||||
unsigned status; /* Status reg */
|
||||
unsigned control; /* Control reg */
|
||||
unsigned reserved;
|
||||
unsigned slavesel; /* Slave select */
|
||||
unsigned endofpacket; /* End-of-packet reg */
|
||||
}nios_asmi_t;
|
||||
|
||||
/* status register */
|
||||
#define NIOS_ASMI_ROE (1 << 3) /* rx overrun */
|
||||
#define NIOS_ASMI_TOE (1 << 4) /* tx overrun */
|
||||
#define NIOS_ASMI_TMT (1 << 5) /* tx empty */
|
||||
#define NIOS_ASMI_TRDY (1 << 6) /* tx ready */
|
||||
#define NIOS_ASMI_RRDY (1 << 7) /* rx ready */
|
||||
#define NIOS_ASMI_E (1 << 8) /* exception */
|
||||
#define NIOS_ASMI_EOP (1 << 9) /* eop detected */
|
||||
|
||||
/* control register */
|
||||
#define NIOS_ASMI_IROE (1 << 3) /* rx overrun int ena */
|
||||
#define NIOS_ASMI_ITOE (1 << 4) /* tx overrun int ena */
|
||||
#define NIOS_ASMI_ITRDY (1 << 6) /* tx ready int ena */
|
||||
#define NIOS_ASMI_IRRDY (1 << 7) /* rx ready int ena */
|
||||
#define NIOS_ASMI_IE (1 << 8) /* exception int ena */
|
||||
#define NIOS_ASMI_IEOP (1 << 9) /* rx eop int ena */
|
||||
#define NIOS_ASMI_SSO (1 << 10) /* slave select enable */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* JTAG UART
|
||||
*----------------------------------------------------------------------*/
|
||||
typedef volatile struct nios_jtag_t {
|
||||
unsigned data; /* Data register */
|
||||
unsigned control; /* Control register */
|
||||
}nios_jtag_t;
|
||||
|
||||
/* data register */
|
||||
#define NIOS_JTAG_RVALID (1<<15) /* Read valid */
|
||||
#define NIOS_JTAG_DATA(d) ((d)&0x0ff) /* Read data */
|
||||
#define NIOS_JTAG_RAVAIL(d) ((d)>>16) /* Read space avail */
|
||||
|
||||
/* control register */
|
||||
#define NIOS_JTAG_RE (1 << 0) /* read intr enable */
|
||||
#define NIOS_JTAG_WE (1 << 1) /* write intr enable */
|
||||
#define NIOS_JTAG_RI (1 << 8) /* read intr pending */
|
||||
#define NIOS_JTAG_WI (1 << 9) /* write intr pending*/
|
||||
#define NIOS_JTAG_AC (1 << 10) /* activity indicator */
|
||||
#define NIOS_JTAG_RRDY (1 << 12) /* read available */
|
||||
#define NIOS_JTAG_WSPACE(d) ((d)>>16) /* Write space avail */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* SYSTEM ID
|
||||
*----------------------------------------------------------------------*/
|
||||
typedef volatile struct nios_sysid_t {
|
||||
unsigned id; /* The system build id*/
|
||||
unsigned timestamp; /* Timestamp */
|
||||
}nios_sysid_t;
|
||||
|
||||
#endif /* __NIOS2IO_H__ */
|
||||
63
include/nios2.h
Normal file
63
include/nios2.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* (C) Copyright 2004, Psyent Corporation <www.psyent.com>
|
||||
* Scott McNutt <smcnutt@psyent.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* 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 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 __NIOS2_H__
|
||||
#define __NIOS2_H__
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* Control registers -- use with wrctl() & rdctl()
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CTL_STATUS 0 /* Processor status reg */
|
||||
#define CTL_ESTATUS 1 /* Exception status reg */
|
||||
#define CTL_BSTATUS 2 /* Break status reg */
|
||||
#define CTL_IENABLE 3 /* Interrut enable reg */
|
||||
#define CTL_IPENDING 4 /* Interrut pending reg */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* Access to control regs
|
||||
*----------------------------------------------------------------------*/
|
||||
#define _str_(x) #x
|
||||
|
||||
#define rdctl(reg)\
|
||||
({unsigned int val;\
|
||||
asm volatile( "rdctl %0, ctl" _str_(reg)\
|
||||
: "=r" (val) ); val;})
|
||||
|
||||
#define wrctl(reg,val)\
|
||||
asm volatile( "wrctl ctl" _str_(reg) ",%0"\
|
||||
: : "r" (val))
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* Control reg bit masks
|
||||
*----------------------------------------------------------------------*/
|
||||
#define STATUS_IE (1<<0) /* Interrupt enable */
|
||||
#define STATUS_U (1<<1) /* User-mode */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* Bit-31 Cache bypass -- only valid for data access. When data cache
|
||||
* is not implemented, bit 31 is ignored for compatibility.
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CACHE_BYPASS(a) ((a) | 0x80000000)
|
||||
#define CACHE_NO_BYPASS(a) ((a) & ~0x80000000)
|
||||
|
||||
#endif /* __NIOS2_H__ */
|
||||
@@ -340,6 +340,9 @@ void status_led_set (int led, int state);
|
||||
#elif defined(CONFIG_WRSBC8240)
|
||||
/* XXX empty just to avoid the error */
|
||||
/************************************************************************/
|
||||
#elif defined(CONFIG_NIOS2)
|
||||
/* XXX empty just to avoid the error */
|
||||
/************************************************************************/
|
||||
#else
|
||||
# error Status LED configuration missing
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user