Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
09bbfa65
Commit
09bbfa65
authored
Jan 09, 2003
by
Paul Mackerras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PPC32: Add support for the "Redwood-6" STB03xxx-based eval board
parent
d35cbff8
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
867 additions
and
3 deletions
+867
-3
arch/ppc/configs/rainier_defconfig
arch/ppc/configs/rainier_defconfig
+612
-0
arch/ppc/platforms/4xx/Kconfig
arch/ppc/platforms/4xx/Kconfig
+6
-3
arch/ppc/platforms/4xx/Makefile
arch/ppc/platforms/4xx/Makefile
+1
-0
arch/ppc/platforms/4xx/redwood6.c
arch/ppc/platforms/4xx/redwood6.c
+172
-0
arch/ppc/platforms/4xx/redwood6.h
arch/ppc/platforms/4xx/redwood6.h
+76
-0
No files found.
arch/ppc/configs/rainier_defconfig
0 → 100644
View file @
09bbfa65
This diff is collapsed.
Click to expand it.
arch/ppc/platforms/4xx/Kconfig
View file @
09bbfa65
...
...
@@ -41,6 +41,9 @@ config REDWOOD_4
config REDWOOD_5
bool "Redwood-5"
config REDWOOD_6
bool "Redwood-6"
config TIVO
bool "Tivo"
...
...
@@ -78,7 +81,7 @@ config IBM405_ERR51
config IBM_OCP
bool
depends on ASH || BEECH || CEDAR || CPCI405 || EP405 || REDWOOD_4 || REDWOOD_5 || WALNUT
depends on ASH || BEECH || CEDAR || CPCI405 || EP405 || REDWOOD_4 || REDWOOD_5 ||
REDWOOD_6 ||
WALNUT
default y
config NP405L
...
...
@@ -103,7 +106,7 @@ config 405GP
config STB03xxx
bool
depends on REDWOOD_5 || REDWOOD_4
depends on REDWOOD_5 || REDWOOD_4
|| REDWOOD_6
default y
config EMBEDDEDBOOT
...
...
@@ -113,7 +116,7 @@ config EMBEDDEDBOOT
config IBM_OPENBIOS
bool
depends on ASH || BEECH || CEDAR || REDWOOD_4 || REDWOOD_5 || WALNUT
depends on ASH || BEECH || CEDAR || REDWOOD_4 || REDWOOD_5 ||
REDWOOD_6 ||
WALNUT
default y
config 405_DMA
...
...
arch/ppc/platforms/4xx/Makefile
View file @
09bbfa65
...
...
@@ -9,6 +9,7 @@ obj-$(CONFIG_EP405) += ep405.o
obj-$(CONFIG_OAK)
+=
oak.o
obj-$(CONFIG_REDWOOD_4)
+=
redwood.o
obj-$(CONFIG_REDWOOD_5)
+=
redwood5.o
obj-$(CONFIG_REDWOOD_6)
+=
redwood6.o
obj-$(CONFIG_WALNUT)
+=
walnut.o
obj-$(CONFIG_NP405L)
+=
ibmnp405l.o
...
...
arch/ppc/platforms/4xx/redwood6.c
0 → 100644
View file @
09bbfa65
/*
*
* Module name: redwood6.c
*
* Description:
* IBM redwood6 eval board file
*
* Author: Armin Kuster
* Copyright 2002 MontaVista Software Inc.
*
* 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 SOFTWARE IS PROVIDED ``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 AUTHOR 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.
*
* 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.
*
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/pagemap.h>
#include <asm/io.h>
#include <asm/ppc4xx_pic.h>
#include <linux/delay.h>
#include <asm/machdep.h>
/*
* Define all of the IRQ senses and polarities.
*/
static
u_char
redwood6_IRQ_initsenses
[]
__initdata
=
{
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 0: RTC/FPC */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 1: Transport */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 2: Audio Dec */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 3: Video Dec */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 4: DMA Chan 0 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 5: DMA Chan 1 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 6: DMA Chan 2 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 7: DMA Chan 3 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 8: SmartCard 0 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 9: IIC0 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 10: IRR */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 11: Cap Timers */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 12: Cmp Timers */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 13: Serial Port */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 14: Soft Modem */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 15: Down Ctrs */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 16: SmartCard 1 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 17: Ext Int 7 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 18: Ext Int 8 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 19: Ext Int 9 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 20: Serial 0 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 21: Serial 1 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 22: Serial 2 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 23: XPT_DMA */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 24: DCR timeout */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 25: Ext Int 0 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 26: Ext Int 1 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 27: Ext Int 2 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 28: Ext Int 3 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 29: Ext Int 4 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 30: Ext Int 5 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 31: Ext Int 6 */
};
void
__init
redwood6_setup_arch
(
void
)
{
#ifdef CONFIG_IDE
void
*
xilinx
,
*
xilinx_1
,
*
xilinx_2
;
unsigned
short
us_reg5
;
#endif
ppc4xx_setup_arch
();
#ifdef CONFIG_IDE
xilinx
=
(
unsigned
long
)
ioremap
(
IDE_XLINUX_MUX_BASE
,
0x10
);
/* init xilinx control registers - enable ide mux, clear reset bit */
if
(
!
xilinx
)
{
printk
(
KERN_CRIT
"redwood6_setup_arch() xilinxi ioremap failed
\n
"
);
return
;
}
xilinx_1
=
xilinx
+
0xa
;
xilinx_2
=
xilinx
+
0xe
;
us_reg5
=
readb
(
xilinx_1
);
writeb
(
0x01d1
,
xilinx_1
);
writeb
(
0x0008
,
xilinx_2
);
udelay
(
10
*
1000
);
writeb
(
0x01d1
,
xilinx_1
);
writeb
(
0x0008
,
xilinx_2
);
#endif
#ifdef DEBUG_BRINGUP
bd_t
*
bip
=
(
bd_t
*
)
__res
;
printk
(
"
\n
"
);
printk
(
"machine
\t
: %s
\n
"
,
PPC4xx_MACHINE_NAME
);
printk
(
"
\n
"
);
printk
(
"bi_s_version
\t
%s
\n
"
,
bip
->
bi_s_version
);
printk
(
"bi_r_version
\t
%s
\n
"
,
bip
->
bi_r_version
);
printk
(
"bi_memsize
\t
0x%8.8x
\t
%dMBytes
\n
"
,
bip
->
bi_memsize
,
bip
->
bi_memsize
/
(
1024
*
1000
));
printk
(
"bi_enetaddr %d
\t
%2.2x%2.2x%2.2x-%2.2x%2.2x%2.2x
\n
"
,
0
,
bip
->
bi_enetaddr
[
0
],
bip
->
bi_enetaddr
[
1
],
bip
->
bi_enetaddr
[
2
],
bip
->
bi_enetaddr
[
3
],
bip
->
bi_enetaddr
[
4
],
bip
->
bi_enetaddr
[
5
]);
printk
(
"bi_intfreq
\t
0x%8.8x
\t
clock:
\t
%dMhz
\n
"
,
bip
->
bi_intfreq
,
bip
->
bi_intfreq
/
1000000
);
printk
(
"bi_busfreq
\t
0x%8.8x
\t
plb bus clock:
\t
%dMHz
\n
"
,
bip
->
bi_busfreq
,
bip
->
bi_busfreq
/
1000000
);
printk
(
"bi_tbfreq
\t
0x%8.8x
\t
TB freq:
\t
%dMHz
\n
"
,
bip
->
bi_tbfreq
,
bip
->
bi_tbfreq
/
1000000
);
printk
(
"
\n
"
);
#endif
ibm4xxPIC_InitSenses
=
redwood6_IRQ_initsenses
;
ibm4xxPIC_NumInitSenses
=
sizeof
(
redwood6_IRQ_initsenses
);
/* Identify the system */
printk
(
KERN_INFO
"IBM Redwood6 (STBx25XX) Platform
\n
"
);
printk
(
KERN_INFO
"Port by MontaVista Software, Inc. (source@mvista.com)
\n
"
);
}
void
__init
redwood6_map_io
(
void
)
{
int
i
;
ppc4xx_map_io
();
for
(
i
=
0
;
i
<
16
;
i
++
)
{
unsigned
long
v
,
p
;
/* 0x400x0000 -> 0xe00x0000 */
p
=
0x40000000
|
(
i
<<
16
);
v
=
STBx25xx_IO_BASE
|
(
i
<<
16
);
io_block_mapping
(
v
,
p
,
PAGE_SIZE
,
_PAGE_NO_CACHE
|
pgprot_val
(
PAGE_KERNEL
)
|
_PAGE_GUARDED
);
}
}
void
__init
platform_init
(
unsigned
long
r3
,
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
)
{
ppc4xx_init
(
r3
,
r4
,
r5
,
r6
,
r7
);
ppc_md
.
setup_arch
=
redwood6_setup_arch
;
ppc_md
.
setup_io_mappings
=
redwood6_map_io
;
}
arch/ppc/platforms/4xx/redwood6.h
0 → 100755
View file @
09bbfa65
/*
* Author: MontaVista Software, Inc.
* Armin Kuster
*
* Module name: redwood6.h
*
* Description:
* Macros, definitions, and data structures specific to the IBM PowerPC
* STBx25xx "Redwood6" evaluation board.
*
* Copyright 2002 MontaVista Software Inc.
* Author: MontaVista Software, Inc.
* Armin Kuster
*
* 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 SOFTWARE IS PROVIDED ``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 AUTHOR 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.
*
* 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.
*
*/
#ifdef __KERNEL__
#ifndef __ASM_REDWOOD5_H__
#define __ASM_REDWOOD5_H__
/* Redwood6 has an STBx25xx core */
#include <platforms/4xx/ibmstbx25.h>
#ifndef __ASSEMBLY__
typedef
struct
board_info
{
unsigned
char
bi_s_version
[
4
];
/* Version of this structure */
unsigned
char
bi_r_version
[
30
];
/* Version of the IBM ROM */
unsigned
int
bi_memsize
;
/* DRAM installed, in bytes */
unsigned
int
bi_dummy
;
/* field shouldn't exist */
unsigned
char
bi_enetaddr
[
6
];
/* Ethernet MAC address */
unsigned
int
bi_intfreq
;
/* Processor speed, in Hz */
unsigned
int
bi_busfreq
;
/* Bus speed, in Hz */
unsigned
int
bi_tbfreq
;
/* Software timebase freq */
}
bd_t
;
#endif
/* !__ASSEMBLY__ */
#define SMC91111_BASE_ADDR 0xf2030300
#define SMC91111_IRQ 27
#define IDE_XLINUX_MUX_BASE 0xf2040000
#define IDE_DMA_ADDR 0xfce00000
#ifdef MAX_HWIFS
#undef MAX_HWIFS
#endif
#define MAX_HWIFS 1
#define _IO_BASE 0
#define _ISA_MEM_BASE 0
#define PCI_DRAM_OFFSET 0
#define BASE_BAUD 1267200
#define PPC4xx_MACHINE_NAME "IBM Redwood6"
#endif
/* __ASM_REDWOOD5_H__ */
#endif
/* __KERNEL__ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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