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
nexedi
linux
Commits
a5350a96
Commit
a5350a96
authored
Jan 19, 2008
by
Paul Mundt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sh: Kill off dead HS771RVoIP board support.
Signed-off-by:
Paul Mundt
<
lethal@linux-sh.org
>
parent
427c727f
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
0 additions
and
1646 deletions
+0
-1646
arch/sh/Kconfig
arch/sh/Kconfig
+0
-7
arch/sh/Makefile
arch/sh/Makefile
+0
-1
arch/sh/boards/renesas/hs7751rvoip/Kconfig
arch/sh/boards/renesas/hs7751rvoip/Kconfig
+0
-12
arch/sh/boards/renesas/hs7751rvoip/Makefile
arch/sh/boards/renesas/hs7751rvoip/Makefile
+0
-8
arch/sh/boards/renesas/hs7751rvoip/io.c
arch/sh/boards/renesas/hs7751rvoip/io.c
+0
-283
arch/sh/boards/renesas/hs7751rvoip/irq.c
arch/sh/boards/renesas/hs7751rvoip/irq.c
+0
-116
arch/sh/boards/renesas/hs7751rvoip/pci.c
arch/sh/boards/renesas/hs7751rvoip/pci.c
+0
-149
arch/sh/boards/renesas/hs7751rvoip/setup.c
arch/sh/boards/renesas/hs7751rvoip/setup.c
+0
-105
arch/sh/configs/hs7751rvoip_defconfig
arch/sh/configs/hs7751rvoip_defconfig
+0
-908
arch/sh/drivers/pci/pci-auto.c
arch/sh/drivers/pci/pci-auto.c
+0
-2
arch/sh/tools/mach-types
arch/sh/tools/mach-types
+0
-1
include/asm-sh/hs7751rvoip.h
include/asm-sh/hs7751rvoip.h
+0
-54
No files found.
arch/sh/Kconfig
View file @
a5350a96
...
...
@@ -440,13 +440,6 @@ config SH_SECUREEDGE5410
This includes both the OEM SecureEdge products as well as the
SME product line.
config SH_HS7751RVOIP
bool "HS7751RVOIP"
depends on CPU_SUBTYPE_SH7751R
help
Select HS7751RVOIP if configuring for a Renesas Technology
Sales VoIP board.
config SH_7710VOIPGW
bool "SH7710-VOIP-GW"
depends on CPU_SUBTYPE_SH7710
...
...
arch/sh/Makefile
View file @
a5350a96
...
...
@@ -112,7 +112,6 @@ machdir-$(CONFIG_SH_DREAMCAST) += dreamcast
machdir-$(CONFIG_SH_MPC1211)
+=
mpc1211
machdir-$(CONFIG_SH_SH03)
+=
sh03
machdir-$(CONFIG_SH_SECUREEDGE5410)
+=
snapgear
machdir-$(CONFIG_SH_HS7751RVOIP)
+=
renesas/hs7751rvoip
machdir-$(CONFIG_SH_RTS7751R2D)
+=
renesas/rts7751r2d
machdir-$(CONFIG_SH_7751_SYSTEMH)
+=
renesas/systemh
machdir-$(CONFIG_SH_EDOSK7705)
+=
renesas/edosk7705
...
...
arch/sh/boards/renesas/hs7751rvoip/Kconfig
deleted
100644 → 0
View file @
427c727f
if SH_HS7751RVOIP
menu "HS7751RVoIP options"
config HS7751RVOIP_CODEC
bool "Support VoIP Codec section"
help
Selecting this option will support CODEC section.
endmenu
endif
arch/sh/boards/renesas/hs7751rvoip/Makefile
deleted
100644 → 0
View file @
427c727f
#
# Makefile for the HS7751RVoIP specific parts of the kernel
#
obj-y
:=
setup.o io.o irq.o
obj-$(CONFIG_PCI)
+=
pci.o
arch/sh/boards/renesas/hs7751rvoip/io.c
deleted
100644 → 0
View file @
427c727f
/*
* linux/arch/sh/boards/renesas/hs7751rvoip/io.c
*
* Copyright (C) 2001 Ian da Silva, Jeremy Siegel
* Based largely on io_se.c.
*
* I/O routine for Renesas Technology sales HS7751RVoIP
*
* Initial version only to support LAN access; some
* placeholder code from io_hs7751rvoip.c left in with the
* expectation of later SuperIO and PCMCIA access.
*/
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <asm/io.h>
#include <asm/hs7751rvoip.h>
#include <asm/addrspace.h>
extern
void
*
area6_io8_base
;
/* Area 6 8bit I/O Base address */
extern
void
*
area5_io16_base
;
/* Area 5 16bit I/O Base address */
/*
* The 7751R HS7751RVoIP uses the built-in PCI controller (PCIC)
* of the 7751R processor, and has a SuperIO accessible via the PCI.
* The board also includes a PCMCIA controller on its memory bus,
* like the other Solution Engine boards.
*/
#define CODEC_IO_BASE 0x1000
#define CODEC_IOMAP(a) ((unsigned long)area6_io8_base + ((a) - CODEC_IO_BASE))
static
inline
unsigned
long
port2adr
(
unsigned
int
port
)
{
if
((
0x1f0
<=
port
&&
port
<
0x1f8
)
||
port
==
0x3f6
)
if
(
port
==
0x3f6
)
return
((
unsigned
long
)
area5_io16_base
+
0x0c
);
else
return
((
unsigned
long
)
area5_io16_base
+
0x800
+
((
port
-
0x1f0
)
<<
1
));
else
maybebadio
((
unsigned
long
)
port
);
return
port
;
}
/* The 7751R HS7751RVoIP seems to have everything hooked */
/* up pretty normally (nothing on high-bytes only...) so this */
/* shouldn't be needed */
static
inline
int
shifted_port
(
unsigned
long
port
)
{
/* For IDE registers, value is not shifted */
if
((
0x1f0
<=
port
&&
port
<
0x1f8
)
||
port
==
0x3f6
)
return
0
;
else
return
1
;
}
#if defined(CONFIG_HS7751RVOIP_CODEC)
#define codec_port(port) \
((CODEC_IO_BASE <= (port)) && ((port) < (CODEC_IO_BASE + 0x20)))
#else
#define codec_port(port) (0)
#endif
/*
* General outline: remap really low stuff [eventually] to SuperIO,
* stuff in PCI IO space (at or above window at pci.h:PCIBIOS_MIN_IO)
* is mapped through the PCI IO window. Stuff with high bits (PXSEG)
* should be way beyond the window, and is used w/o translation for
* compatibility.
*/
unsigned
char
hs7751rvoip_inb
(
unsigned
long
port
)
{
if
(
PXSEG
(
port
))
return
ctrl_inb
(
port
);
else
if
(
codec_port
(
port
))
return
ctrl_inb
(
CODEC_IOMAP
(
port
));
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
return
ctrl_inb
(
pci_ioaddr
(
port
));
else
return
ctrl_inw
(
port2adr
(
port
))
&
0xff
;
}
unsigned
char
hs7751rvoip_inb_p
(
unsigned
long
port
)
{
unsigned
char
v
;
if
(
PXSEG
(
port
))
v
=
ctrl_inb
(
port
);
else
if
(
codec_port
(
port
))
v
=
ctrl_inb
(
CODEC_IOMAP
(
port
));
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
v
=
ctrl_inb
(
pci_ioaddr
(
port
));
else
v
=
ctrl_inw
(
port2adr
(
port
))
&
0xff
;
ctrl_delay
();
return
v
;
}
unsigned
short
hs7751rvoip_inw
(
unsigned
long
port
)
{
if
(
PXSEG
(
port
))
return
ctrl_inw
(
port
);
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
return
ctrl_inw
(
pci_ioaddr
(
port
));
else
maybebadio
(
port
);
return
0
;
}
unsigned
int
hs7751rvoip_inl
(
unsigned
long
port
)
{
if
(
PXSEG
(
port
))
return
ctrl_inl
(
port
);
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
return
ctrl_inl
(
pci_ioaddr
(
port
));
else
maybebadio
(
port
);
return
0
;
}
void
hs7751rvoip_outb
(
unsigned
char
value
,
unsigned
long
port
)
{
if
(
PXSEG
(
port
))
ctrl_outb
(
value
,
port
);
else
if
(
codec_port
(
port
))
ctrl_outb
(
value
,
CODEC_IOMAP
(
port
));
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
ctrl_outb
(
value
,
pci_ioaddr
(
port
));
else
ctrl_outb
(
value
,
port2adr
(
port
));
}
void
hs7751rvoip_outb_p
(
unsigned
char
value
,
unsigned
long
port
)
{
if
(
PXSEG
(
port
))
ctrl_outb
(
value
,
port
);
else
if
(
codec_port
(
port
))
ctrl_outb
(
value
,
CODEC_IOMAP
(
port
));
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
ctrl_outb
(
value
,
pci_ioaddr
(
port
));
else
ctrl_outw
(
value
,
port2adr
(
port
));
ctrl_delay
();
}
void
hs7751rvoip_outw
(
unsigned
short
value
,
unsigned
long
port
)
{
if
(
PXSEG
(
port
))
ctrl_outw
(
value
,
port
);
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
ctrl_outw
(
value
,
pci_ioaddr
(
port
));
else
maybebadio
(
port
);
}
void
hs7751rvoip_outl
(
unsigned
int
value
,
unsigned
long
port
)
{
if
(
PXSEG
(
port
))
ctrl_outl
(
value
,
port
);
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
ctrl_outl
(
value
,
pci_ioaddr
(
port
));
else
maybebadio
(
port
);
}
void
hs7751rvoip_insb
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
)
{
u8
*
buf
=
addr
;
if
(
PXSEG
(
port
))
while
(
count
--
)
*
buf
++
=
ctrl_inb
(
port
);
else
if
(
codec_port
(
port
))
while
(
count
--
)
*
buf
++
=
ctrl_inb
(
CODEC_IOMAP
(
port
));
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
{
volatile
u8
*
bp
=
(
volatile
u8
*
)
pci_ioaddr
(
port
);
while
(
count
--
)
*
buf
++
=
*
bp
;
}
else
{
volatile
u16
*
p
=
(
volatile
u16
*
)
port2adr
(
port
);
while
(
count
--
)
*
buf
++
=
*
p
&
0xff
;
}
}
void
hs7751rvoip_insw
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
)
{
volatile
u16
*
p
;
u16
*
buf
=
addr
;
if
(
PXSEG
(
port
))
p
=
(
volatile
u16
*
)
port
;
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
p
=
(
volatile
u16
*
)
pci_ioaddr
(
port
);
else
p
=
(
volatile
u16
*
)
port2adr
(
port
);
while
(
count
--
)
*
buf
++
=
*
p
;
}
void
hs7751rvoip_insl
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
)
{
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
{
volatile
u32
*
p
=
(
volatile
u32
*
)
pci_ioaddr
(
port
);
u32
*
buf
=
addr
;
while
(
count
--
)
*
buf
++
=
*
p
;
}
else
maybebadio
(
port
);
}
void
hs7751rvoip_outsb
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
)
{
const
u8
*
buf
=
addr
;
if
(
PXSEG
(
port
))
while
(
count
--
)
ctrl_outb
(
*
buf
++
,
port
);
else
if
(
codec_port
(
port
))
while
(
count
--
)
ctrl_outb
(
*
buf
++
,
CODEC_IOMAP
(
port
));
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
{
volatile
u8
*
bp
=
(
volatile
u8
*
)
pci_ioaddr
(
port
);
while
(
count
--
)
*
bp
=
*
buf
++
;
}
else
{
volatile
u16
*
p
=
(
volatile
u16
*
)
port2adr
(
port
);
while
(
count
--
)
*
p
=
*
buf
++
;
}
}
void
hs7751rvoip_outsw
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
)
{
volatile
u16
*
p
;
const
u16
*
buf
=
addr
;
if
(
PXSEG
(
port
))
p
=
(
volatile
u16
*
)
port
;
else
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
p
=
(
volatile
u16
*
)
pci_ioaddr
(
port
);
else
p
=
(
volatile
u16
*
)
port2adr
(
port
);
while
(
count
--
)
*
p
=
*
buf
++
;
}
void
hs7751rvoip_outsl
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
)
{
const
u32
*
buf
=
addr
;
if
(
is_pci_ioaddr
(
port
)
||
shifted_port
(
port
))
{
volatile
u32
*
p
=
(
volatile
u32
*
)
pci_ioaddr
(
port
);
while
(
count
--
)
*
p
=
*
buf
++
;
}
else
maybebadio
(
port
);
}
void
__iomem
*
hs7751rvoip_ioport_map
(
unsigned
long
port
,
unsigned
int
size
)
{
if
(
PXSEG
(
port
))
return
(
void
__iomem
*
)
port
;
else
if
(
unlikely
(
codec_port
(
port
)
&&
(
size
==
1
)))
return
(
void
__iomem
*
)
CODEC_IOMAP
(
port
);
else
if
(
is_pci_ioaddr
(
port
))
return
(
void
__iomem
*
)
pci_ioaddr
(
port
);
return
(
void
__iomem
*
)
port2adr
(
port
);
}
arch/sh/boards/renesas/hs7751rvoip/irq.c
deleted
100644 → 0
View file @
427c727f
/*
* linux/arch/sh/boards/renesas/hs7751rvoip/irq.c
*
* Copyright (C) 2000 Kazumoto Kojima
*
* Renesas Technology Sales HS7751RVoIP Support.
*
* Modified for HS7751RVoIP by
* Atom Create Engineering Co., Ltd. 2002.
* Lineo uSolutions, Inc. 2003.
*/
#include <linux/init.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/hs7751rvoip.h>
static
int
mask_pos
[]
=
{
8
,
9
,
10
,
11
,
12
,
13
,
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
};
static
void
enable_hs7751rvoip_irq
(
unsigned
int
irq
);
static
void
disable_hs7751rvoip_irq
(
unsigned
int
irq
);
/* shutdown is same as "disable" */
#define shutdown_hs7751rvoip_irq disable_hs7751rvoip_irq
static
void
ack_hs7751rvoip_irq
(
unsigned
int
irq
);
static
void
end_hs7751rvoip_irq
(
unsigned
int
irq
);
static
unsigned
int
startup_hs7751rvoip_irq
(
unsigned
int
irq
)
{
enable_hs7751rvoip_irq
(
irq
);
return
0
;
/* never anything pending */
}
static
void
disable_hs7751rvoip_irq
(
unsigned
int
irq
)
{
unsigned
short
val
;
unsigned
short
mask
=
0xffff
^
(
0x0001
<<
mask_pos
[
irq
]);
/* Set the priority in IPR to 0 */
val
=
ctrl_inw
(
IRLCNTR3
);
val
&=
mask
;
ctrl_outw
(
val
,
IRLCNTR3
);
}
static
void
enable_hs7751rvoip_irq
(
unsigned
int
irq
)
{
unsigned
short
val
;
unsigned
short
value
=
(
0x0001
<<
mask_pos
[
irq
]);
/* Set priority in IPR back to original value */
val
=
ctrl_inw
(
IRLCNTR3
);
val
|=
value
;
ctrl_outw
(
val
,
IRLCNTR3
);
}
static
void
ack_hs7751rvoip_irq
(
unsigned
int
irq
)
{
disable_hs7751rvoip_irq
(
irq
);
}
static
void
end_hs7751rvoip_irq
(
unsigned
int
irq
)
{
if
(
!
(
irq_desc
[
irq
].
status
&
(
IRQ_DISABLED
|
IRQ_INPROGRESS
)))
enable_hs7751rvoip_irq
(
irq
);
}
static
struct
hw_interrupt_type
hs7751rvoip_irq_type
=
{
.
typename
=
"HS7751RVoIP IRQ"
,
.
startup
=
startup_hs7751rvoip_irq
,
.
shutdown
=
shutdown_hs7751rvoip_irq
,
.
enable
=
enable_hs7751rvoip_irq
,
.
disable
=
disable_hs7751rvoip_irq
,
.
ack
=
ack_hs7751rvoip_irq
,
.
end
=
end_hs7751rvoip_irq
,
};
static
void
make_hs7751rvoip_irq
(
unsigned
int
irq
)
{
disable_irq_nosync
(
irq
);
irq_desc
[
irq
].
chip
=
&
hs7751rvoip_irq_type
;
disable_hs7751rvoip_irq
(
irq
);
}
/*
* Initialize IRQ setting
*/
void
__init
init_hs7751rvoip_IRQ
(
void
)
{
int
i
;
/* IRL0=ON HOOK1
* IRL1=OFF HOOK1
* IRL2=ON HOOK2
* IRL3=OFF HOOK2
* IRL4=Ringing Detection
* IRL5=CODEC
* IRL6=Ethernet
* IRL7=Ethernet Hub
* IRL8=USB Communication
* IRL9=USB Connection
* IRL10=USB DMA
* IRL11=CF Card
* IRL12=PCMCIA
* IRL13=PCI Slot
*/
ctrl_outw
(
0x9876
,
IRLCNTR1
);
ctrl_outw
(
0xdcba
,
IRLCNTR2
);
ctrl_outw
(
0x0050
,
IRLCNTR4
);
ctrl_outw
(
0x4321
,
IRLCNTR5
);
for
(
i
=
0
;
i
<
14
;
i
++
)
make_hs7751rvoip_irq
(
i
);
}
arch/sh/boards/renesas/hs7751rvoip/pci.c
deleted
100644 → 0
View file @
427c727f
/*
* linux/arch/sh/boards/renesas/hs7751rvoip/pci.c
*
* Author: Ian DaSilva (idasilva@mvista.com)
*
* Highly leveraged from pci-bigsur.c, written by Dustin McIntire.
*
* May be copied or modified under the terms of the GNU General Public
* License. See linux/COPYING for more information.
*
* PCI initialization for the Renesas SH7751R HS7751RVoIP board
*/
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/module.h>
#include <asm/io.h>
#include "../../../drivers/pci/pci-sh7751.h"
#include <asm/hs7751rvoip/hs7751rvoip.h>
#define PCIMCR_MRSET_OFF 0xBFFFFFFF
#define PCIMCR_RFSH_OFF 0xFFFFFFFB
/*
* Only long word accesses of the PCIC's internal local registers and the
* configuration registers from the CPU is supported.
*/
#define PCIC_WRITE(x,v) writel((v), PCI_REG(x))
#define PCIC_READ(x) readl(PCI_REG(x))
/*
* Description: This function sets up and initializes the pcic, sets
* up the BARS, maps the DRAM into the address space etc, etc.
*/
int
__init
pcibios_init_platform
(
void
)
{
unsigned
long
bcr1
,
wcr1
,
wcr2
,
wcr3
,
mcr
;
unsigned
short
bcr2
,
bcr3
;
/*
* Initialize the slave bus controller on the pcic. The values used
* here should not be hardcoded, but they should be taken from the bsc
* on the processor, to make this function as generic as possible.
* (i.e. Another sbc may usr different SDRAM timing settings -- in order
* for the pcic to work, its settings need to be exactly the same.)
*/
bcr1
=
(
*
(
volatile
unsigned
long
*
)(
SH7751_BCR1
));
bcr2
=
(
*
(
volatile
unsigned
short
*
)(
SH7751_BCR2
));
bcr3
=
(
*
(
volatile
unsigned
short
*
)(
SH7751_BCR3
));
wcr1
=
(
*
(
volatile
unsigned
long
*
)(
SH7751_WCR1
));
wcr2
=
(
*
(
volatile
unsigned
long
*
)(
SH7751_WCR2
));
wcr3
=
(
*
(
volatile
unsigned
long
*
)(
SH7751_WCR3
));
mcr
=
(
*
(
volatile
unsigned
long
*
)(
SH7751_MCR
));
bcr1
=
bcr1
|
0x00080000
;
/* Enable Bit 19, BREQEN */
(
*
(
volatile
unsigned
long
*
)(
SH7751_BCR1
))
=
bcr1
;
bcr1
=
bcr1
|
0x40080000
;
/* Enable Bit 19 BREQEN, set PCIC to slave */
PCIC_WRITE
(
SH7751_PCIBCR1
,
bcr1
);
/* PCIC BCR1 */
PCIC_WRITE
(
SH7751_PCIBCR2
,
bcr2
);
/* PCIC BCR2 */
PCIC_WRITE
(
SH7751_PCIBCR3
,
bcr3
);
/* PCIC BCR3 */
PCIC_WRITE
(
SH7751_PCIWCR1
,
wcr1
);
/* PCIC WCR1 */
PCIC_WRITE
(
SH7751_PCIWCR2
,
wcr2
);
/* PCIC WCR2 */
PCIC_WRITE
(
SH7751_PCIWCR3
,
wcr3
);
/* PCIC WCR3 */
mcr
=
(
mcr
&
PCIMCR_MRSET_OFF
)
&
PCIMCR_RFSH_OFF
;
PCIC_WRITE
(
SH7751_PCIMCR
,
mcr
);
/* PCIC MCR */
/* Enable all interrupts, so we know what to fix */
PCIC_WRITE
(
SH7751_PCIINTM
,
0x0000c3ff
);
PCIC_WRITE
(
SH7751_PCIAINTM
,
0x0000380f
);
/* Set up standard PCI config registers */
PCIC_WRITE
(
SH7751_PCICONF1
,
0xFB900047
);
/* Bus Master, Mem & I/O access */
PCIC_WRITE
(
SH7751_PCICONF2
,
0x00000000
);
/* PCI Class code & Revision ID */
PCIC_WRITE
(
SH7751_PCICONF4
,
0xab000001
);
/* PCI I/O address (local regs) */
PCIC_WRITE
(
SH7751_PCICONF5
,
0x0c000000
);
/* PCI MEM address (local RAM) */
PCIC_WRITE
(
SH7751_PCICONF6
,
0xd0000000
);
/* PCI MEM address (unused) */
PCIC_WRITE
(
SH7751_PCICONF11
,
0x35051054
);
/* PCI Subsystem ID & Vendor ID */
PCIC_WRITE
(
SH7751_PCILSR0
,
0x03f00000
);
/* MEM (full 64M exposed) */
PCIC_WRITE
(
SH7751_PCILSR1
,
0x00000000
);
/* MEM (unused) */
PCIC_WRITE
(
SH7751_PCILAR0
,
0x0c000000
);
/* MEM (direct map from PCI) */
PCIC_WRITE
(
SH7751_PCILAR1
,
0x00000000
);
/* MEM (unused) */
/* Now turn it on... */
PCIC_WRITE
(
SH7751_PCICR
,
0xa5000001
);
/*
* Set PCIMBR and PCIIOBR here, assuming a single window
* (16M MEM, 256K IO) is enough. If a larger space is
* needed, the readx/writex and inx/outx functions will
* have to do more (e.g. setting registers for each call).
*/
/*
* Set the MBR so PCI address is one-to-one with window,
* meaning all calls go straight through... use ifdef to
* catch erroneous assumption.
*/
BUG_ON
(
PCIBIOS_MIN_MEM
!=
SH7751_PCI_MEMORY_BASE
);
PCIC_WRITE
(
SH7751_PCIMBR
,
PCIBIOS_MIN_MEM
);
/* Set IOBR for window containing area specified in pci.h */
PCIC_WRITE
(
SH7751_PCIIOBR
,
(
PCIBIOS_MIN_IO
&
SH7751_PCIIOBR_MASK
));
/* All done, may as well say so... */
printk
(
"SH7751R PCI: Finished initialization of the PCI controller
\n
"
);
return
1
;
}
int
__init
pcibios_map_platform_irq
(
u8
slot
,
u8
pin
)
{
switch
(
slot
)
{
case
0
:
return
IRQ_PCISLOT
;
/* PCI Extend slot */
case
1
:
return
IRQ_PCMCIA
;
/* PCI Cardbus Bridge */
case
2
:
return
IRQ_PCIETH
;
/* Realtek Ethernet controller */
case
3
:
return
IRQ_PCIHUB
;
/* Realtek Ethernet Hub controller */
default:
printk
(
"PCI: Bad IRQ mapping request for slot %d
\n
"
,
slot
);
return
-
1
;
}
}
static
struct
resource
sh7751_io_resource
=
{
.
name
=
"SH7751_IO"
,
.
start
=
0x4000
,
.
end
=
0x4000
+
SH7751_PCI_IO_SIZE
-
1
,
.
flags
=
IORESOURCE_IO
};
static
struct
resource
sh7751_mem_resource
=
{
.
name
=
"SH7751_mem"
,
.
start
=
SH7751_PCI_MEMORY_BASE
,
.
end
=
SH7751_PCI_MEMORY_BASE
+
SH7751_PCI_MEM_SIZE
-
1
,
.
flags
=
IORESOURCE_MEM
};
extern
struct
pci_ops
sh7751_pci_ops
;
struct
pci_channel
board_pci_channels
[]
=
{
{
&
sh7751_pci_ops
,
&
sh7751_io_resource
,
&
sh7751_mem_resource
,
0
,
0xff
},
{
NULL
,
NULL
,
NULL
,
0
,
0
},
};
EXPORT_SYMBOL
(
board_pci_channels
);
arch/sh/boards/renesas/hs7751rvoip/setup.c
deleted
100644 → 0
View file @
427c727f
/*
* Renesas Technology Sales HS7751RVoIP Support.
*
* Copyright (C) 2000 Kazumoto Kojima
*
* Modified for HS7751RVoIP by
* Atom Create Engineering Co., Ltd. 2002.
* Lineo uSolutions, Inc. 2003.
*/
#include <linux/init.h>
#include <linux/irq.h>
#include <linux/mm.h>
#include <linux/pm.h>
#include <asm/hs7751rvoip.h>
#include <asm/io.h>
#include <asm/machvec.h>
static
void
hs7751rvoip_power_off
(
void
)
{
ctrl_outw
(
ctrl_inw
(
PA_OUTPORTR
)
&
0xffdf
,
PA_OUTPORTR
);
}
void
*
area5_io8_base
;
void
*
area6_io8_base
;
void
*
area5_io16_base
;
void
*
area6_io16_base
;
static
int
__init
hs7751rvoip_cf_init
(
void
)
{
pgprot_t
prot
;
unsigned
long
paddrbase
;
/* open I/O area window */
paddrbase
=
virt_to_phys
((
void
*
)(
PA_AREA5_IO
+
0x00000800
));
prot
=
PAGE_KERNEL_PCC
(
1
,
_PAGE_PCC_COM16
);
area5_io16_base
=
p3_ioremap
(
paddrbase
,
PAGE_SIZE
,
prot
.
pgprot
);
if
(
!
area5_io16_base
)
{
printk
(
"allocate_cf_area : can't open CF I/O window!
\n
"
);
return
-
ENOMEM
;
}
/* XXX : do we need attribute and common-memory area also? */
paddrbase
=
virt_to_phys
((
void
*
)
PA_AREA6_IO
);
#if defined(CONFIG_HS7751RVOIP_CODEC)
prot
=
PAGE_KERNEL_PCC
(
0
,
_PAGE_PCC_COM8
);
#else
prot
=
PAGE_KERNEL_PCC
(
0
,
_PAGE_PCC_IO8
);
#endif
area6_io8_base
=
p3_ioremap
(
paddrbase
,
PAGE_SIZE
,
prot
.
pgprot
);
if
(
!
area6_io8_base
)
{
printk
(
"allocate_cf_area : can't open CODEC I/O 8bit window!
\n
"
);
return
-
ENOMEM
;
}
prot
=
PAGE_KERNEL_PCC
(
0
,
_PAGE_PCC_IO16
);
area6_io16_base
=
p3_ioremap
(
paddrbase
,
PAGE_SIZE
,
prot
.
pgprot
);
if
(
!
area6_io16_base
)
{
printk
(
"allocate_cf_area : can't open CODEC I/O 16bit window!
\n
"
);
return
-
ENOMEM
;
}
return
0
;
}
device_initcall
(
hs7751rvoip_cf_init
);
/*
* Initialize the board
*/
static
void
__init
hs7751rvoip_setup
(
char
**
cmdline_p
)
{
ctrl_outb
(
0xf0
,
PA_OUTPORTR
);
pm_power_off
=
hs7751rvoip_power_off
;
printk
(
KERN_INFO
"Renesas Technology Sales HS7751RVoIP-2 support.
\n
"
);
}
static
struct
sh_machine_vector
mv_hs7751rvoip
__initmv
=
{
.
mv_name
=
"HS7751RVoIP"
,
.
mv_setup
=
hs7751rvoip_setup
,
.
mv_nr_irqs
=
72
,
.
mv_inb
=
hs7751rvoip_inb
,
.
mv_inw
=
hs7751rvoip_inw
,
.
mv_inl
=
hs7751rvoip_inl
,
.
mv_outb
=
hs7751rvoip_outb
,
.
mv_outw
=
hs7751rvoip_outw
,
.
mv_outl
=
hs7751rvoip_outl
,
.
mv_inb_p
=
hs7751rvoip_inb_p
,
.
mv_inw_p
=
hs7751rvoip_inw
,
.
mv_inl_p
=
hs7751rvoip_inl
,
.
mv_outb_p
=
hs7751rvoip_outb_p
,
.
mv_outw_p
=
hs7751rvoip_outw
,
.
mv_outl_p
=
hs7751rvoip_outl
,
.
mv_insb
=
hs7751rvoip_insb
,
.
mv_insw
=
hs7751rvoip_insw
,
.
mv_insl
=
hs7751rvoip_insl
,
.
mv_outsb
=
hs7751rvoip_outsb
,
.
mv_outsw
=
hs7751rvoip_outsw
,
.
mv_outsl
=
hs7751rvoip_outsl
,
.
mv_init_irq
=
init_hs7751rvoip_IRQ
,
.
mv_ioport_map
=
hs7751rvoip_ioport_map
,
};
arch/sh/configs/hs7751rvoip_defconfig
deleted
100644 → 0
View file @
427c727f
This diff is collapsed.
Click to expand it.
arch/sh/drivers/pci/pci-auto.c
View file @
a5350a96
...
...
@@ -516,10 +516,8 @@ pciauto_bus_scan(struct pci_channel *hose, int top_bus, int current_bus)
PCI_COMMAND
,
cmdstat
|
PCI_COMMAND_IO
|
PCI_COMMAND_MEMORY
|
PCI_COMMAND_MASTER
);
#if !defined(CONFIG_SH_HS7751RVOIP) && !defined(CONFIG_SH_RTS7751R2D)
early_write_config_byte
(
hose
,
top_bus
,
current_bus
,
pci_devfn
,
PCI_LATENCY_TIMER
,
0x80
);
#endif
/* Allocate PCI I/O and/or memory space */
pciauto_setup_bars
(
hose
,
top_bus
,
current_bus
,
pci_devfn
,
PCI_BASE_ADDRESS_5
);
...
...
arch/sh/tools/mach-types
View file @
a5350a96
...
...
@@ -29,7 +29,6 @@ HP6XX SH_HP6XX
DREAMCAST SH_DREAMCAST
MPC1211 SH_MPC1211
SNAPGEAR SH_SECUREEDGE5410
HS7751RVOIP SH_HS7751RVOIP
EDOSK7705 SH_EDOSK7705
SH4202_MICRODEV SH_SH4202_MICRODEV
SH03 SH_SH03
...
...
include/asm-sh/hs7751rvoip.h
deleted
100644 → 0
View file @
427c727f
#ifndef __ASM_SH_RENESAS_HS7751RVOIP_H
#define __ASM_SH_RENESAS_HS7751RVOIP_H
/*
* linux/include/asm-sh/hs7751rvoip/hs7751rvoip.h
*
* Copyright (C) 2000 Atom Create Engineering Co., Ltd.
*
* Renesas Technology Sales HS7751RVoIP support
*/
/* Box specific addresses. */
#define PA_BCR 0xa4000000
/* FPGA */
#define PA_SLICCNTR1 0xa4000006
/* SLIC PIO Control 1 */
#define PA_SLICCNTR2 0xa4000008
/* SLIC PIO Control 2 */
#define PA_DMACNTR 0xa400000a
/* USB DMA Control */
#define PA_INPORTR 0xa400000c
/* Input Port Register */
#define PA_OUTPORTR 0xa400000e
/* Output Port Reguster */
#define PA_VERREG 0xa4000014
/* FPGA Version Register */
#define PA_IDE_OFFSET 0x1f0
/* CF IDE Offset */
#define IRLCNTR1 (PA_BCR + 0)
/* Interrupt Control Register1 */
#define IRLCNTR2 (PA_BCR + 2)
/* Interrupt Control Register2 */
#define IRLCNTR3 (PA_BCR + 4)
/* Interrupt Control Register3 */
#define IRLCNTR4 (PA_BCR + 16)
/* Interrupt Control Register4 */
#define IRLCNTR5 (PA_BCR + 18)
/* Interrupt Control Register5 */
#define IRQ_PCIETH 6
/* PCI Ethernet IRQ */
#define IRQ_PCIHUB 7
/* PCI Ethernet Hub IRQ */
#define IRQ_USBCOM 8
/* USB Comunication IRQ */
#define IRQ_USBCON 9
/* USB Connect IRQ */
#define IRQ_USBDMA 10
/* USB DMA IRQ */
#define IRQ_CFCARD 11
/* CF Card IRQ */
#define IRQ_PCMCIA 12
/* PCMCIA IRQ */
#define IRQ_PCISLOT 13
/* PCI Slot #1 IRQ */
#define IRQ_ONHOOK1 0
/* ON HOOK1 IRQ */
#define IRQ_OFFHOOK1 1
/* OFF HOOK1 IRQ */
#define IRQ_ONHOOK2 2
/* ON HOOK2 IRQ */
#define IRQ_OFFHOOK2 3
/* OFF HOOK2 IRQ */
#define IRQ_RINGING 4
/* Ringing IRQ */
#define IRQ_CODEC 5
/* CODEC IRQ */
#define __IO_PREFIX hs7751rvoip
#include <asm/io_generic.h>
/* arch/sh/boards/renesas/hs7751rvoip/irq.c */
void
init_hs7751rvoip_IRQ
(
void
);
/* arch/sh/boards/renesas/hs7751rvoip/io.c */
void
*
hs7751rvoip_ioremap
(
unsigned
long
,
unsigned
long
);
#endif
/* __ASM_SH_RENESAS_HS7751RVOIP */
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