Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Librem5
uboot-imx
Commits
d06a5f7e
Commit
d06a5f7e
authored
Aug 06, 2005
by
Wolfgang Denk
Browse files
Add support for Altera NIOS DK1C20 board
Patch by Shlomo Kut, 13 Dec 2004
parent
f901a83b
Changes
5
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
d06a5f7e
...
...
@@ -2,6 +2,9 @@
Changes for U-Boot 1.1.3:
======================================================================
* Add support for Altera NIOS DK1C20 board
Patch by Shlomo Kut, 13 Dec 2004
* Add support for ep8248 board
Patch by Yuli Barcohen, 12 Dec 2004
...
...
board/altera/dk1c20/dk1c20.c
View file @
d06a5f7e
...
...
@@ -2,6 +2,9 @@
* (C) Copyright 2003, Psyent Corporation <www.psyent.com>
* Scott McNutt <smcnutt@psyent.com>
*
* CompactFlash/IDE:
* (C) Copyright 2004, Shlomo Kut <skut@vyyo.com>
*
* See file CREDITS for list of people who contributed to this
* project.
*
...
...
@@ -22,6 +25,7 @@
*/
#include
<common.h>
#include
<nios-io.h>
#if defined(CONFIG_SEVENSEG)
#include
"../common/sevenseg.h"
#endif
...
...
@@ -50,3 +54,28 @@ long int initdram (int board_type)
{
return
(
0
);
}
#if (CONFIG_COMMANDS & CFG_CMD_IDE)
int
ide_preinit
(
void
)
{
nios_pio_t
*
present
=
(
nios_pio_t
*
)
CFG_CF_PRESENT
;
nios_pio_t
*
power
=
(
nios_pio_t
*
)
CFG_CF_POWER
;
nios_pio_t
*
atasel
=
(
nios_pio_t
*
)
CFG_CF_ATASEL
;
/* setup data direction registers */
present
->
direction
=
NIOS_PIO_IN
;
power
->
direction
=
NIOS_PIO_OUT
;
atasel
->
direction
=
NIOS_PIO_OUT
;
/* Check for presence of card */
if
(
present
->
data
)
return
1
;
printf
(
"Ok
\n
"
);
/* Finish setup */
power
->
data
=
1
;
/* Turn on power FET */
atasel
->
data
=
0
;
/* Put in ATA mode */
return
0
;
}
#endif
/* CONFIG_COMMANDS & CFG_CMD_IDE */
fs/fat/fat.c
View file @
d06a5f7e
...
...
@@ -722,6 +722,9 @@ long
do_fat_read
(
const
char
*
filename
,
void
*
buffer
,
unsigned
long
maxsize
,
int
dols
)
{
#if CONFIG_NIOS
/* NIOS CPU cannot access big automatic arrays */
static
#endif
char
fnamecopy
[
2048
];
boot_sector
bs
;
volume_info
volinfo
;
...
...
include/asm-nios/io.h
View file @
d06a5f7e
/*FIXME: Implement this! */
/*
* (C) Copyright 2003, 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_NIOS_IO_H_
#define __ASM_NIOS_IO_H_
#define readb(addr)\
({unsigned char val;\
asm volatile( " pfxio 0 \n"\
" ld %0, [%1] \n"\
" ext8d %0, %1 \n"\
:"=r"(val) : "r" (addr)); val;})
#define readw(addr)\
({unsigned short val;\
asm volatile( " pfxio 0 \n"\
" ld %0, [%1] \n"\
" ext16d %0, %1 \n"\
:"=r"(val) : "r" (addr)); val;})
#define readl(addr)\
({unsigned long val;\
asm volatile( " pfxio 0 \n"\
" ld %0, [%1] \n"\
:"=r"(val) : "r" (addr)); val;})
#define writeb(addr,val)\
asm volatile ( " fill8 %%r0, %1 \n"\
" st8d [%0], %%r0 \n"\
: : "r" (addr), "r" (val) : "r0")
#define writew(addr,val)\
asm volatile ( " fill16 %%r0, %1 \n"\
" st16d [%0], %%r0 \n"\
: : "r" (addr), "r" (val) : "r0")
#define writel(addr,val)\
asm volatile ( " st [%0], %1 \n"\
: : "r" (addr), "r" (val))
#define inb(addr) readb(addr)
#define inw(addr) readw(addr)
#define inl(addr) readl(addr)
#define outb(val,addr) writeb(addr,val)
#define outw(val,addr) writew(addr,val)
#define outl(val,addr) writel(addr,val)
static
inline
void
insb
(
unsigned
long
port
,
void
*
dst
,
unsigned
long
count
)
{
unsigned
char
*
p
=
dst
;
while
(
count
--
)
*
p
++
=
inb
(
port
);
}
static
inline
void
insw
(
unsigned
long
port
,
void
*
dst
,
unsigned
long
count
)
{
unsigned
short
*
p
=
dst
;
while
(
count
--
)
*
p
++
=
inw
(
port
);
}
static
inline
void
insl
(
unsigned
long
port
,
void
*
dst
,
unsigned
long
count
)
{
unsigned
long
*
p
=
dst
;
while
(
count
--
)
*
p
++
=
inl
(
port
);
}
static
inline
void
outsb
(
unsigned
long
port
,
const
void
*
src
,
unsigned
long
count
)
{
const
unsigned
char
*
p
=
src
;
while
(
count
--
)
outb
(
*
p
++
,
port
);
}
static
inline
void
outsw
(
unsigned
long
port
,
const
void
*
src
,
unsigned
long
count
)
{
const
unsigned
short
*
p
=
src
;
while
(
count
--
)
outw
(
*
p
++
,
port
);
}
static
inline
void
outsl
(
unsigned
long
port
,
const
void
*
src
,
unsigned
long
count
)
{
const
unsigned
long
*
p
=
src
;
while
(
count
--
)
outl
(
*
p
++
,
port
);
}
#endif
/* __ASM_NIOS_IO_H_ */
include/configs/DK1C20.h
View file @
d06a5f7e
...
...
@@ -3,6 +3,9 @@
* Scott McNutt <smcnutt@psyent.com>
* Stephan Linz <linz@li-pro.net>
*
* CompactFlash/IDE:
* (C) Copyright 2004, Shlomo Kut <skut@vyyo.com>
*
* See file CREDITS for list of people who contributed to this
* project.
*
...
...
@@ -457,11 +460,9 @@
CFG_CMD_DTT | \
CFG_CMD_EEPROM | \
CFG_CMD_ELF | \
CFG_CMD_FAT | \
CFG_CMD_FDC | \
CFG_CMD_FDOS | \
CFG_CMD_HWFLOW | \
CFG_CMD_IDE | \
CFG_CMD_I2C | \
CFG_CMD_JFFS2 | \
CFG_CMD_KGDB | \
...
...
@@ -481,6 +482,29 @@
#include
<cmd_confdefs.h>
/*------------------------------------------------------------------------
* COMPACT FLASH
*----------------------------------------------------------------------*/
#if (CONFIG_COMMANDS & CFG_CMD_IDE)
#define CONFIG_IDE_PREINIT
/* Implement id_preinit */
#define CFG_IDE_MAXBUS 1
/* 1 IDE bus */
#define CFG_IDE_MAXDEVICE 1
/* 1 drive per IDE bus */
#define CFG_ATA_BASE_ADDR 0x00920a00
/* IDE/ATA base addr */
#define CFG_ATA_IDE0_OFFSET 0x0000
/* IDE0 offset */
#define CFG_ATA_DATA_OFFSET 0x0040
/* Data IO offset */
#define CFG_ATA_REG_OFFSET 0x0040
/* Register offset */
#define CFG_ATA_ALT_OFFSET 0x0100
/* Alternate reg offset */
#define CFG_ATA_STRIDE 4
/* Width betwix addrs */
#define CONFIG_DOS_PARTITION
/* Board-specific cf regs */
#define CFG_CF_PRESENT 0x009209b0
/* CF Present PIO base */
#define CFG_CF_POWER 0x009209c0
/* CF Power FET PIO base*/
#define CFG_CF_ATASEL 0x009209d0
/* CF ATASEL PIO base */
#endif
/* CONFIG_COMMANDS & CFG_CMD_IDE */
/*------------------------------------------------------------------------
* KGDB
*----------------------------------------------------------------------*/
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment