Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
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
Show 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