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
fa6428eb
Commit
fa6428eb
authored
Oct 07, 2008
by
Benjamin Herrenschmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit 'jwb/jwb-next'
parents
c9b59da1
3d5fa877
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1345 additions
and
18 deletions
+1345
-18
arch/powerpc/boot/dts/arches.dts
arch/powerpc/boot/dts/arches.dts
+293
-0
arch/powerpc/configs/44x/arches_defconfig
arch/powerpc/configs/44x/arches_defconfig
+767
-0
arch/powerpc/include/asm/dcr-regs.h
arch/powerpc/include/asm/dcr-regs.h
+11
-0
arch/powerpc/platforms/44x/Kconfig
arch/powerpc/platforms/44x/Kconfig
+15
-2
arch/powerpc/platforms/44x/ppc44x_simple.c
arch/powerpc/platforms/44x/ppc44x_simple.c
+2
-1
arch/powerpc/sysdev/ppc4xx_pci.c
arch/powerpc/sysdev/ppc4xx_pci.c
+8
-1
drivers/net/ibm_newemac/Kconfig
drivers/net/ibm_newemac/Kconfig
+12
-0
drivers/net/ibm_newemac/core.c
drivers/net/ibm_newemac/core.c
+51
-9
drivers/net/ibm_newemac/core.h
drivers/net/ibm_newemac/core.h
+11
-0
drivers/net/ibm_newemac/mal.c
drivers/net/ibm_newemac/mal.c
+55
-5
drivers/net/ibm_newemac/mal.h
drivers/net/ibm_newemac/mal.h
+34
-0
drivers/net/ibm_newemac/phy.c
drivers/net/ibm_newemac/phy.c
+84
-0
drivers/net/ibm_newemac/phy.h
drivers/net/ibm_newemac/phy.h
+2
-0
No files found.
arch/powerpc/boot/dts/arches.dts
0 → 100644
View file @
fa6428eb
/*
*
Device
Tree
Source
for
AMCC
Arches
(
dual
460
GT
board
)
*
*
(
C
)
Copyright
2008
Applied
Micro
Circuits
Corporation
*
Victor
Gallardo
<
vgallardo
@
amcc
.
com
>
*
Adam
Graham
<
agraham
@
amcc
.
com
>
*
*
Based
on
the
glacier
.
dts
file
*
Stefan
Roese
<
sr
@
denx
.
de
>
*
Copyright
2008
DENX
Software
Engineering
*
*
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
*/
/
dts
-
v1
/;
/
{
#
address
-
cells
=
<
2
>;
#
size
-
cells
=
<
1
>;
model
=
"amcc,arches"
;
compatible
=
"amcc,arches"
;
dcr
-
parent
=
<&{/
cpus
/
cpu
@
0
}>;
aliases
{
ethernet0
=
&
EMAC0
;
ethernet1
=
&
EMAC1
;
ethernet2
=
&
EMAC2
;
serial0
=
&
UART0
;
};
cpus
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
cpu
@
0
{
device_type
=
"cpu"
;
model
=
"PowerPC,460GT"
;
reg
=
<
0x00000000
>;
clock
-
frequency
=
<
0
>;
/*
Filled
in
by
U
-
Boot
*/
timebase
-
frequency
=
<
0
>;
/*
Filled
in
by
U
-
Boot
*/
i
-
cache
-
line
-
size
=
<
32
>;
d
-
cache
-
line
-
size
=
<
32
>;
i
-
cache
-
size
=
<
32768
>;
d
-
cache
-
size
=
<
32768
>;
dcr
-
controller
;
dcr
-
access
-
method
=
"native"
;
};
};
memory
{
device_type
=
"memory"
;
reg
=
<
0x00000000
0x00000000
0x00000000
>;
/*
Filled
in
by
U
-
Boot
*/
};
UIC0
:
interrupt
-
controller0
{
compatible
=
"ibm,uic-460gt"
,
"ibm,uic"
;
interrupt
-
controller
;
cell
-
index
=
<
0
>;
dcr
-
reg
=
<
0x0c0
0x009
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
};
UIC1
:
interrupt
-
controller1
{
compatible
=
"ibm,uic-460gt"
,
"ibm,uic"
;
interrupt
-
controller
;
cell
-
index
=
<
1
>;
dcr
-
reg
=
<
0x0d0
0x009
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
interrupts
=
<
0x1e
0x4
0x1f
0x4
>;
/*
cascade
*/
interrupt
-
parent
=
<&
UIC0
>;
};
UIC2
:
interrupt
-
controller2
{
compatible
=
"ibm,uic-460gt"
,
"ibm,uic"
;
interrupt
-
controller
;
cell
-
index
=
<
2
>;
dcr
-
reg
=
<
0x0e0
0x009
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
interrupts
=
<
0xa
0x4
0xb
0x4
>;
/*
cascade
*/
interrupt
-
parent
=
<&
UIC0
>;
};
UIC3
:
interrupt
-
controller3
{
compatible
=
"ibm,uic-460gt"
,
"ibm,uic"
;
interrupt
-
controller
;
cell
-
index
=
<
3
>;
dcr
-
reg
=
<
0x0f0
0x009
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
interrupts
=
<
0x10
0x4
0x11
0x4
>;
/*
cascade
*/
interrupt
-
parent
=
<&
UIC0
>;
};
SDR0
:
sdr
{
compatible
=
"ibm,sdr-460gt"
;
dcr
-
reg
=
<
0x00e
0x002
>;
};
CPR0
:
cpr
{
compatible
=
"ibm,cpr-460gt"
;
dcr
-
reg
=
<
0x00c
0x002
>;
};
plb
{
compatible
=
"ibm,plb-460gt"
,
"ibm,plb4"
;
#
address
-
cells
=
<
2
>;
#
size
-
cells
=
<
1
>;
ranges
;
clock
-
frequency
=
<
0
>;
/*
Filled
in
by
U
-
Boot
*/
SDRAM0
:
sdram
{
compatible
=
"ibm,sdram-460gt"
,
"ibm,sdram-405gp"
;
dcr
-
reg
=
<
0x010
0x002
>;
};
MAL0
:
mcmal
{
compatible
=
"ibm,mcmal-460gt"
,
"ibm,mcmal2"
;
dcr
-
reg
=
<
0x180
0x062
>;
num
-
tx
-
chans
=
<
3
>;
num
-
rx
-
chans
=
<
24
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
interrupt
-
parent
=
<&
UIC2
>;
interrupts
=
<
/*
TXEOB
*/
0x6
0x4
/*
RXEOB
*/
0x7
0x4
/*
SERR
*/
0x3
0x4
/*
TXDE
*/
0x4
0x4
/*
RXDE
*/
0x5
0x4
>;
desc
-
base
-
addr
-
high
=
<
0x8
>;
};
POB0
:
opb
{
compatible
=
"ibm,opb-460gt"
,
"ibm,opb"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
ranges
=
<
0xb0000000
0x00000004
0xb0000000
0x50000000
>;
clock
-
frequency
=
<
0
>;
/*
Filled
in
by
U
-
Boot
*/
EBC0
:
ebc
{
compatible
=
"ibm,ebc-460gt"
,
"ibm,ebc"
;
dcr
-
reg
=
<
0x012
0x002
>;
#
address
-
cells
=
<
2
>;
#
size
-
cells
=
<
1
>;
clock
-
frequency
=
<
0
>;
/*
Filled
in
by
U
-
Boot
*/
/*
ranges
property
is
supplied
by
U
-
Boot
*/
interrupts
=
<
0x6
0x4
>;
interrupt
-
parent
=
<&
UIC1
>;
};
UART0
:
serial
@
ef600300
{
device_type
=
"serial"
;
compatible
=
"ns16550"
;
reg
=
<
0xef600300
0x00000008
>;
virtual
-
reg
=
<
0xef600300
>;
clock
-
frequency
=
<
0
>;
/*
Filled
in
by
U
-
Boot
*/
current
-
speed
=
<
0
>;
/*
Filled
in
by
U
-
Boot
*/
interrupt
-
parent
=
<&
UIC1
>;
interrupts
=
<
0x1
0x4
>;
};
IIC0
:
i2c
@
ef600700
{
compatible
=
"ibm,iic-460gt"
,
"ibm,iic"
;
reg
=
<
0xef600700
0x00000014
>;
interrupt
-
parent
=
<&
UIC0
>;
interrupts
=
<
0x2
0x4
>;
};
IIC1
:
i2c
@
ef600800
{
compatible
=
"ibm,iic-460gt"
,
"ibm,iic"
;
reg
=
<
0xef600800
0x00000014
>;
interrupt
-
parent
=
<&
UIC0
>;
interrupts
=
<
0x3
0x4
>;
};
TAH0
:
emac
-
tah
@
ef601350
{
compatible
=
"ibm,tah-460gt"
,
"ibm,tah"
;
reg
=
<
0xef601350
0x00000030
>;
};
TAH1
:
emac
-
tah
@
ef601450
{
compatible
=
"ibm,tah-460gt"
,
"ibm,tah"
;
reg
=
<
0xef601450
0x00000030
>;
};
EMAC0
:
ethernet
@
ef600e00
{
device_type
=
"network"
;
compatible
=
"ibm,emac-460gt"
,
"ibm,emac4sync"
;
interrupt
-
parent
=
<&
EMAC0
>;
interrupts
=
<
0x0
0x1
>;
#
interrupt
-
cells
=
<
1
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
interrupt
-
map
=
</*
Status
*/
0x0
&
UIC2
0x10
0x4
/*
Wake
*/
0x1
&
UIC2
0x14
0x4
>;
reg
=
<
0xef600e00
0x000000c4
>;
local
-
mac
-
address
=
[
000000000000
];
/*
Filled
in
by
U
-
Boot
*/
mal
-
device
=
<&
MAL0
>;
mal
-
tx
-
channel
=
<
0
>;
mal
-
rx
-
channel
=
<
0
>;
cell
-
index
=
<
0
>;
max
-
frame
-
size
=
<
9000
>;
rx
-
fifo
-
size
=
<
4096
>;
tx
-
fifo
-
size
=
<
2048
>;
phy
-
mode
=
"sgmii"
;
phy
-
map
=
<
0xffffffff
>;
gpcs
-
address
=
<
0x0000000a
>;
tah
-
device
=
<&
TAH0
>;
tah
-
channel
=
<
0
>;
has
-
inverted
-
stacr
-
oc
;
has
-
new
-
stacr
-
staopc
;
};
EMAC1
:
ethernet
@
ef600f00
{
device_type
=
"network"
;
compatible
=
"ibm,emac-460gt"
,
"ibm,emac4sync"
;
interrupt
-
parent
=
<&
EMAC1
>;
interrupts
=
<
0x0
0x1
>;
#
interrupt
-
cells
=
<
1
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
interrupt
-
map
=
</*
Status
*/
0x0
&
UIC2
0x11
0x4
/*
Wake
*/
0x1
&
UIC2
0x15
0x4
>;
reg
=
<
0xef600f00
0x000000c4
>;
local
-
mac
-
address
=
[
000000000000
];
/*
Filled
in
by
U
-
Boot
*/
mal
-
device
=
<&
MAL0
>;
mal
-
tx
-
channel
=
<
1
>;
mal
-
rx
-
channel
=
<
8
>;
cell
-
index
=
<
1
>;
max
-
frame
-
size
=
<
9000
>;
rx
-
fifo
-
size
=
<
4096
>;
tx
-
fifo
-
size
=
<
2048
>;
phy
-
mode
=
"sgmii"
;
phy
-
map
=
<
0x00000000
>;
gpcs
-
address
=
<
0x0000000b
>;
tah
-
device
=
<&
TAH1
>;
tah
-
channel
=
<
1
>;
has
-
inverted
-
stacr
-
oc
;
has
-
new
-
stacr
-
staopc
;
mdio
-
device
=
<&
EMAC0
>;
};
EMAC2
:
ethernet
@
ef601100
{
device_type
=
"network"
;
compatible
=
"ibm,emac-460gt"
,
"ibm,emac4sync"
;
interrupt
-
parent
=
<&
EMAC2
>;
interrupts
=
<
0x0
0x1
>;
#
interrupt
-
cells
=
<
1
>;
#
address
-
cells
=
<
0
>;
#
size
-
cells
=
<
0
>;
interrupt
-
map
=
</*
Status
*/
0x0
&
UIC2
0x12
0x4
/*
Wake
*/
0x1
&
UIC2
0x16
0x4
>;
reg
=
<
0xef601100
0x000000c4
>;
local
-
mac
-
address
=
[
000000000000
];
/*
Filled
in
by
U
-
Boot
*/
mal
-
device
=
<&
MAL0
>;
mal
-
tx
-
channel
=
<
2
>;
mal
-
rx
-
channel
=
<
16
>;
cell
-
index
=
<
2
>;
max
-
frame
-
size
=
<
9000
>;
rx
-
fifo
-
size
=
<
4096
>;
tx
-
fifo
-
size
=
<
2048
>;
phy
-
mode
=
"sgmii"
;
phy
-
map
=
<
0x00000001
>;
gpcs
-
address
=
<
0x0000000C
>;
has
-
inverted
-
stacr
-
oc
;
has
-
new
-
stacr
-
staopc
;
mdio
-
device
=
<&
EMAC0
>;
};
};
};
};
arch/powerpc/configs/44x/arches_defconfig
0 → 100644
View file @
fa6428eb
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.27-rc5
# Wed Oct 1 15:54:57 2008
#
# CONFIG_PPC64 is not set
#
# Processor support
#
# CONFIG_6xx is not set
# CONFIG_PPC_85xx is not set
# CONFIG_PPC_8xx is not set
# CONFIG_40x is not set
CONFIG_44x=y
# CONFIG_E200 is not set
CONFIG_PPC_FPU=y
CONFIG_4xx=y
CONFIG_BOOKE=y
CONFIG_PTE_64BIT=y
CONFIG_PHYS_64BIT=y
# CONFIG_PPC_MM_SLICES is not set
CONFIG_NOT_COHERENT_CACHE=y
CONFIG_PPC32=y
CONFIG_WORD_SIZE=32
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_HARDIRQS=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
CONFIG_IRQ_PER_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
CONFIG_PPC_UDBG_16550=y
# CONFIG_GENERIC_TBSYNC is not set
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_DEFAULT_UIMAGE is not set
CONFIG_PPC_DCR_NATIVE=y
# CONFIG_PPC_DCR_MMIO is not set
CONFIG_PPC_DCR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
# CONFIG_HAVE_DMA_ATTRS is not set
# CONFIG_USE_GENERIC_SMP_HELPERS is not set
# CONFIG_HAVE_CLK is not set
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y
CONFIG_LBD=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
CONFIG_PPC4xx_PCI_EXPRESS=y
#
# Platform support
#
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PQ2ADS is not set
# CONFIG_BAMBOO is not set
# CONFIG_EBONY is not set
# CONFIG_SAM440EP is not set
# CONFIG_SEQUOIA is not set
# CONFIG_TAISHAN is not set
# CONFIG_KATMAI is not set
# CONFIG_RAINIER is not set
# CONFIG_WARP is not set
CONFIG_ARCHES=y
# CONFIG_CANYONLANDS is not set
# CONFIG_GLACIER is not set
# CONFIG_YOSEMITE is not set
# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
CONFIG_PPC44x_SIMPLE=y
CONFIG_460EX=y
# CONFIG_IPIC is not set
# CONFIG_MPIC is not set
# CONFIG_MPIC_WEIRD is not set
# CONFIG_PPC_I8259 is not set
# CONFIG_PPC_RTAS is not set
# CONFIG_MMIO_NVRAM is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_970_NAP is not set
# CONFIG_PPC_INDIRECT_IO is not set
# CONFIG_GENERIC_IOMAP is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_FSL_ULI1575 is not set
#
# Kernel options
#
# CONFIG_HIGHMEM is not set
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_MATH_EMULATION is not set
# CONFIG_IOMMU_HELPER is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_PROC_DEVICETREE=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
CONFIG_EXTRA_TARGETS=""
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y
#
# Bus options
#
CONFIG_ZONE_DMA=y
CONFIG_PPC_INDIRECT_PCI=y
CONFIG_4xx_SOC=y
CONFIG_PPC_PCI_CHOICE=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HAS_RAPIDIO is not set
#
# Advanced setup
#
# CONFIG_ADVANCED_OPTIONS is not set
#
# Default settings for advanced configuration options are used
#
CONFIG_LOWMEM_SIZE=0x30000000
CONFIG_PAGE_OFFSET=0xc0000000
CONFIG_KERNEL_START=0xc0000000
CONFIG_PHYSICAL_START=0x00000000
CONFIG_TASK_SIZE=0xc0000000
CONFIG_CONSISTENT_START=0xff100000
CONFIG_CONSISTENT_SIZE=0x00200000
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
#
# Wireless
#
# CONFIG_CFG80211 is not set
# CONFIG_WIRELESS_EXT is not set
# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
CONFIG_OF_DEVICE=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=35000
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_XILINX_SYSACE is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# Enable only one of the two stacks, unless you know what you are doing
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
# CONFIG_ARCNET is not set
# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_IBM_NEW_EMAC=y
CONFIG_IBM_NEW_EMAC_RXB=256
CONFIG_IBM_NEW_EMAC_TXB=256
CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
# CONFIG_IBM_NEW_EMAC_DEBUG is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
CONFIG_IBM_NEW_EMAC_TAH=y
CONFIG_IBM_NEW_EMAC_EMAC4=y
# CONFIG_NET_PCI is not set
# CONFIG_B44 is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#
# CONFIG_INPUT is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
# CONFIG_VT is not set
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_SERIAL_8250_PCI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
CONFIG_DEVPORT=y
# CONFIG_I2C is not set
# CONFIG_SPI is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_THERMAL_HWMON is not set
# CONFIG_WATCHDOG is not set
#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set
#
# Multimedia devices
#
#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_VIDEO_MEDIA is not set
#
# Multimedia drivers
#
CONFIG_DAB=y
#
# Graphics support
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=m
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_SOUND is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set
#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_EXT4DEV_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_NLS is not set
# CONFIG_DLM is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
# CONFIG_GENERIC_FIND_FIRST_BIT is not set
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_HAVE_LMB=y
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_HAVE_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
# CONFIG_FTRACE is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_CODE_PATCHING_SELFTEST is not set
# CONFIG_FTR_FIXUP_SELFTEST is not set
# CONFIG_MSI_BITMAP_SELFTEST is not set
# CONFIG_XMON is not set
# CONFIG_IRQSTACKS is not set
# CONFIG_VIRQ_DEBUG is not set
# CONFIG_BDI_SWITCH is not set
# CONFIG_PPC_EARLY_DEBUG is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
# CONFIG_CRYPTO is not set
# CONFIG_PPC_CLOCK is not set
# CONFIG_VIRTUALIZATION is not set
arch/powerpc/include/asm/dcr-regs.h
View file @
fa6428eb
...
...
@@ -68,6 +68,17 @@
#define SDR0_UART3 0x0123
#define SDR0_CUST0 0x4000
/* SDR for 405EZ */
#define DCRN_SDR_ICINTSTAT 0x4510
#define ICINTSTAT_ICRX 0x80000000
#define ICINTSTAT_ICTX0 0x40000000
#define ICINTSTAT_ICTX1 0x20000000
#define ICINTSTAT_ICTX 0x60000000
/* SDRs (460EX/460GT) */
#define SDR0_ETH_CFG 0x4103
#define SDR0_ETH_CFG_ECS 0x00000100
/* EMAC int clk source */
/*
* All those DCR register addresses are offsets from the base address
* for the SRAM0 controller (e.g. 0x20 on 440GX). The base address is
...
...
arch/powerpc/platforms/44x/Kconfig
View file @
fa6428eb
...
...
@@ -81,6 +81,17 @@ config WARP
See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
Telephony Developers" link for more information.
config ARCHES
bool "Arches"
depends on 44x
default n
select PPC44x_SIMPLE
select 460EX # Odd since it uses 460GT but the effects are the same
select PCI
select PPC4xx_PCI_EXPRESS
help
This option enables support for the AMCC Dual PPC460GT evaluation board.
config CANYONLANDS
bool "Canyonlands"
depends on 44x
...
...
@@ -89,6 +100,8 @@ config CANYONLANDS
select 460EX
select PCI
select PPC4xx_PCI_EXPRESS
select IBM_NEW_EMAC_RGMII
select IBM_NEW_EMAC_ZMII
help
This option enables support for the AMCC PPC460EX evaluation board.
...
...
@@ -100,6 +113,8 @@ config GLACIER
select 460EX # Odd since it uses 460GT but the effects are the same
select PCI
select PPC4xx_PCI_EXPRESS
select IBM_NEW_EMAC_RGMII
select IBM_NEW_EMAC_ZMII
help
This option enables support for the AMCC PPC460GT evaluation board.
...
...
@@ -195,8 +210,6 @@ config 460EX
bool
select PPC_FPU
select IBM_NEW_EMAC_EMAC4
select IBM_NEW_EMAC_RGMII
select IBM_NEW_EMAC_ZMII
select IBM_NEW_EMAC_TAH
# 44x errata/workaround config symbols, selected by the CPU models above
...
...
arch/powerpc/platforms/44x/ppc44x_simple.c
View file @
fa6428eb
...
...
@@ -50,8 +50,9 @@ machine_device_initcall(ppc44x_simple, ppc44x_device_probe);
* board.c file for it rather than adding it to this list.
*/
static
char
*
board
[]
__initdata
=
{
"amcc,arches"
,
"amcc,bamboo"
,
"amcc,cayonlands"
,
"amcc,ca
n
yonlands"
,
"amcc,glacier"
,
"ibm,ebony"
,
"amcc,katmai"
,
...
...
arch/powerpc/sysdev/ppc4xx_pci.c
View file @
fa6428eb
...
...
@@ -276,9 +276,16 @@ static void __init ppc4xx_probe_pci_bridge(struct device_node *np)
const
int
*
bus_range
;
int
primary
=
0
;
/* Check if device is enabled */
if
(
!
of_device_is_available
(
np
))
{
printk
(
KERN_INFO
"%s: Port disabled via device-tree
\n
"
,
np
->
full_name
);
return
;
}
/* Fetch config space registers address */
if
(
of_address_to_resource
(
np
,
0
,
&
rsrc_cfg
))
{
printk
(
KERN_ERR
"%s:Can't get PCI config register base !"
,
printk
(
KERN_ERR
"%s:
Can't get PCI config register base !"
,
np
->
full_name
);
return
;
}
...
...
drivers/net/ibm_newemac/Kconfig
View file @
fa6428eb
...
...
@@ -62,3 +62,15 @@ config IBM_NEW_EMAC_TAH
config IBM_NEW_EMAC_EMAC4
bool
default n
config IBM_NEW_EMAC_NO_FLOW_CTRL
bool
default n
config IBM_NEW_EMAC_MAL_CLR_ICINTSTAT
bool
default n
config IBM_NEW_EMAC_MAL_COMMON_ERR
bool
default n
drivers/net/ibm_newemac/core.c
View file @
fa6428eb
...
...
@@ -130,6 +130,7 @@ static inline void emac_report_timeout_error(struct emac_instance *dev,
const
char
*
error
)
{
if
(
emac_has_feature
(
dev
,
EMAC_FTR_440GX_PHY_CLK_FIX
|
EMAC_FTR_460EX_PHY_CLK_FIX
|
EMAC_FTR_440EP_PHY_CLK_FIX
))
DBG
(
dev
,
"%s"
NL
,
error
);
else
if
(
net_ratelimit
())
...
...
@@ -201,13 +202,15 @@ static inline int emac_phy_supports_gige(int phy_mode)
{
return
phy_mode
==
PHY_MODE_GMII
||
phy_mode
==
PHY_MODE_RGMII
||
phy_mode
==
PHY_MODE_SGMII
||
phy_mode
==
PHY_MODE_TBI
||
phy_mode
==
PHY_MODE_RTBI
;
}
static
inline
int
emac_phy_gpcs
(
int
phy_mode
)
{
return
phy_mode
==
PHY_MODE_TBI
||
return
phy_mode
==
PHY_MODE_SGMII
||
phy_mode
==
PHY_MODE_TBI
||
phy_mode
==
PHY_MODE_RTBI
;
}
...
...
@@ -351,10 +354,24 @@ static int emac_reset(struct emac_instance *dev)
emac_tx_disable
(
dev
);
}
#ifdef CONFIG_PPC_DCR_NATIVE
/* Enable internal clock source */
if
(
emac_has_feature
(
dev
,
EMAC_FTR_460EX_PHY_CLK_FIX
))
dcri_clrset
(
SDR0
,
SDR0_ETH_CFG
,
0
,
SDR0_ETH_CFG_ECS
<<
dev
->
cell_index
);
#endif
out_be32
(
&
p
->
mr0
,
EMAC_MR0_SRST
);
while
((
in_be32
(
&
p
->
mr0
)
&
EMAC_MR0_SRST
)
&&
n
)
--
n
;
#ifdef CONFIG_PPC_DCR_NATIVE
/* Enable external clock source */
if
(
emac_has_feature
(
dev
,
EMAC_FTR_460EX_PHY_CLK_FIX
))
dcri_clrset
(
SDR0
,
SDR0_ETH_CFG
,
SDR0_ETH_CFG_ECS
<<
dev
->
cell_index
,
0
);
#endif
if
(
n
)
{
dev
->
reset_failed
=
0
;
return
0
;
...
...
@@ -547,8 +564,9 @@ static int emac_configure(struct emac_instance *dev)
switch
(
dev
->
phy
.
speed
)
{
case
SPEED_1000
:
if
(
emac_phy_gpcs
(
dev
->
phy
.
mode
))
{
mr1
|=
EMAC_MR1_MF_1000GPCS
|
EMAC_MR1_MF_IPPA
(
dev
->
phy
.
address
);
mr1
|=
EMAC_MR1_MF_1000GPCS
|
EMAC_MR1_MF_IPPA
(
(
dev
->
phy
.
gpcs_address
!=
0xffffffff
)
?
dev
->
phy
.
gpcs_address
:
dev
->
phy
.
address
);
/* Put some arbitrary OUI, Manuf & Rev IDs so we can
* identify this GPCS PHY later.
...
...
@@ -660,8 +678,12 @@ static int emac_configure(struct emac_instance *dev)
out_be32
(
&
p
->
iser
,
r
);
/* We need to take GPCS PHY out of isolate mode after EMAC reset */
if
(
emac_phy_gpcs
(
dev
->
phy
.
mode
))
emac_mii_reset_phy
(
&
dev
->
phy
);
if
(
emac_phy_gpcs
(
dev
->
phy
.
mode
))
{
if
(
dev
->
phy
.
gpcs_address
!=
0xffffffff
)
emac_mii_reset_gpcs
(
&
dev
->
phy
);
else
emac_mii_reset_phy
(
&
dev
->
phy
);
}
return
0
;
}
...
...
@@ -866,7 +888,9 @@ static int emac_mdio_read(struct net_device *ndev, int id, int reg)
struct
emac_instance
*
dev
=
netdev_priv
(
ndev
);
int
res
;
res
=
__emac_mdio_read
(
dev
->
mdio_instance
?
dev
->
mdio_instance
:
dev
,
res
=
__emac_mdio_read
((
dev
->
mdio_instance
&&
dev
->
phy
.
gpcs_address
!=
id
)
?
dev
->
mdio_instance
:
dev
,
(
u8
)
id
,
(
u8
)
reg
);
return
res
;
}
...
...
@@ -875,7 +899,9 @@ static void emac_mdio_write(struct net_device *ndev, int id, int reg, int val)
{
struct
emac_instance
*
dev
=
netdev_priv
(
ndev
);
__emac_mdio_write
(
dev
->
mdio_instance
?
dev
->
mdio_instance
:
dev
,
__emac_mdio_write
((
dev
->
mdio_instance
&&
dev
->
phy
.
gpcs_address
!=
id
)
?
dev
->
mdio_instance
:
dev
,
(
u8
)
id
,
(
u8
)
reg
,
(
u16
)
val
);
}
...
...
@@ -2367,7 +2393,11 @@ static int __devinit emac_init_phy(struct emac_instance *dev)
* XXX I probably should move these settings to the dev tree
*/
dev
->
phy
.
address
=
-
1
;
dev
->
phy
.
features
=
SUPPORTED_100baseT_Full
|
SUPPORTED_MII
;
dev
->
phy
.
features
=
SUPPORTED_MII
;
if
(
emac_phy_supports_gige
(
dev
->
phy_mode
))
dev
->
phy
.
features
|=
SUPPORTED_1000baseT_Full
;
else
dev
->
phy
.
features
|=
SUPPORTED_100baseT_Full
;
dev
->
phy
.
pause
=
1
;
return
0
;
...
...
@@ -2406,7 +2436,9 @@ static int __devinit emac_init_phy(struct emac_instance *dev)
* Note that the busy_phy_map is currently global
* while it should probably be per-ASIC...
*/
dev
->
phy
.
address
=
dev
->
cell_index
;
dev
->
phy
.
gpcs_address
=
dev
->
gpcs_address
;
if
(
dev
->
phy
.
gpcs_address
==
0xffffffff
)
dev
->
phy
.
address
=
dev
->
cell_index
;
}
emac_configure
(
dev
);
...
...
@@ -2516,6 +2548,8 @@ static int __devinit emac_init_config(struct emac_instance *dev)
dev
->
phy_address
=
0xffffffff
;
if
(
emac_read_uint_prop
(
np
,
"phy-map"
,
&
dev
->
phy_map
,
0
))
dev
->
phy_map
=
0xffffffff
;
if
(
emac_read_uint_prop
(
np
,
"gpcs-address"
,
&
dev
->
gpcs_address
,
0
))
dev
->
gpcs_address
=
0xffffffff
;
if
(
emac_read_uint_prop
(
np
->
parent
,
"clock-frequency"
,
&
dev
->
opb_bus_freq
,
1
))
return
-
ENXIO
;
if
(
emac_read_uint_prop
(
np
,
"tah-device"
,
&
dev
->
tah_ph
,
0
))
...
...
@@ -2559,6 +2593,9 @@ static int __devinit emac_init_config(struct emac_instance *dev)
/* Check EMAC version */
if
(
of_device_is_compatible
(
np
,
"ibm,emac4sync"
))
{
dev
->
features
|=
(
EMAC_FTR_EMAC4
|
EMAC_FTR_EMAC4SYNC
);
if
(
of_device_is_compatible
(
np
,
"ibm,emac-460ex"
)
||
of_device_is_compatible
(
np
,
"ibm,emac-460gt"
))
dev
->
features
|=
EMAC_FTR_460EX_PHY_CLK_FIX
;
}
else
if
(
of_device_is_compatible
(
np
,
"ibm,emac4"
))
{
dev
->
features
|=
EMAC_FTR_EMAC4
;
if
(
of_device_is_compatible
(
np
,
"ibm,emac-440gx"
))
...
...
@@ -2567,6 +2604,8 @@ static int __devinit emac_init_config(struct emac_instance *dev)
if
(
of_device_is_compatible
(
np
,
"ibm,emac-440ep"
)
||
of_device_is_compatible
(
np
,
"ibm,emac-440gr"
))
dev
->
features
|=
EMAC_FTR_440EP_PHY_CLK_FIX
;
if
(
of_device_is_compatible
(
np
,
"ibm,emac-405ez"
))
dev
->
features
|=
EMAC_FTR_NO_FLOW_CONTROL_40x
;
}
/* Fixup some feature bits based on the device tree */
...
...
@@ -2824,6 +2863,9 @@ static int __devinit emac_probe(struct of_device *ofdev,
ndev
->
dev_addr
[
0
],
ndev
->
dev_addr
[
1
],
ndev
->
dev_addr
[
2
],
ndev
->
dev_addr
[
3
],
ndev
->
dev_addr
[
4
],
ndev
->
dev_addr
[
5
]);
if
(
dev
->
phy_mode
==
PHY_MODE_SGMII
)
printk
(
KERN_NOTICE
"%s: in SGMII mode
\n
"
,
ndev
->
name
);
if
(
dev
->
phy
.
address
>=
0
)
printk
(
"%s: found %s PHY (0x%02x)
\n
"
,
ndev
->
name
,
dev
->
phy
.
def
->
name
,
dev
->
phy
.
address
);
...
...
drivers/net/ibm_newemac/core.h
View file @
fa6428eb
...
...
@@ -190,6 +190,9 @@ struct emac_instance {
struct
delayed_work
link_work
;
int
link_polling
;
/* GPCS PHY infos */
u32
gpcs_address
;
/* Shared MDIO if any */
u32
mdio_ph
;
struct
of_device
*
mdio_dev
;
...
...
@@ -317,6 +320,10 @@ struct emac_instance {
* The 405EX and 460EX contain the EMAC4SYNC core
*/
#define EMAC_FTR_EMAC4SYNC 0x00000200
/*
* Set if we need phy clock workaround for 460ex or 460gt
*/
#define EMAC_FTR_460EX_PHY_CLK_FIX 0x00000400
/* Right now, we don't quite handle the always/possible masks on the
...
...
@@ -341,6 +348,10 @@ enum {
#ifdef CONFIG_IBM_NEW_EMAC_RGMII
EMAC_FTR_HAS_RGMII
|
#endif
#ifdef CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL
EMAC_FTR_NO_FLOW_CONTROL_40x
|
#endif
EMAC_FTR_460EX_PHY_CLK_FIX
|
EMAC_FTR_440EP_PHY_CLK_FIX
,
};
...
...
drivers/net/ibm_newemac/mal.c
View file @
fa6428eb
...
...
@@ -28,6 +28,7 @@
#include <linux/delay.h>
#include "core.h"
#include <asm/dcr-regs.h>
static
int
mal_count
;
...
...
@@ -279,6 +280,10 @@ static irqreturn_t mal_txeob(int irq, void *dev_instance)
mal_schedule_poll
(
mal
);
set_mal_dcrn
(
mal
,
MAL_TXEOBISR
,
r
);
if
(
mal_has_feature
(
mal
,
MAL_FTR_CLEAR_ICINTSTAT
))
mtdcri
(
SDR0
,
DCRN_SDR_ICINTSTAT
,
(
mfdcri
(
SDR0
,
DCRN_SDR_ICINTSTAT
)
|
ICINTSTAT_ICTX
));
return
IRQ_HANDLED
;
}
...
...
@@ -293,6 +298,10 @@ static irqreturn_t mal_rxeob(int irq, void *dev_instance)
mal_schedule_poll
(
mal
);
set_mal_dcrn
(
mal
,
MAL_RXEOBISR
,
r
);
if
(
mal_has_feature
(
mal
,
MAL_FTR_CLEAR_ICINTSTAT
))
mtdcri
(
SDR0
,
DCRN_SDR_ICINTSTAT
,
(
mfdcri
(
SDR0
,
DCRN_SDR_ICINTSTAT
)
|
ICINTSTAT_ICRX
));
return
IRQ_HANDLED
;
}
...
...
@@ -336,6 +345,25 @@ static irqreturn_t mal_rxde(int irq, void *dev_instance)
return
IRQ_HANDLED
;
}
static
irqreturn_t
mal_int
(
int
irq
,
void
*
dev_instance
)
{
struct
mal_instance
*
mal
=
dev_instance
;
u32
esr
=
get_mal_dcrn
(
mal
,
MAL_ESR
);
if
(
esr
&
MAL_ESR_EVB
)
{
/* descriptor error */
if
(
esr
&
MAL_ESR_DE
)
{
if
(
esr
&
MAL_ESR_CIDT
)
return
mal_rxde
(
irq
,
dev_instance
);
else
return
mal_txde
(
irq
,
dev_instance
);
}
else
{
/* SERR */
return
mal_serr
(
irq
,
dev_instance
);
}
}
return
IRQ_HANDLED
;
}
void
mal_poll_disable
(
struct
mal_instance
*
mal
,
struct
mal_commac
*
commac
)
{
/* Spinlock-type semantics: only one caller disable poll at a time */
...
...
@@ -493,6 +521,8 @@ static int __devinit mal_probe(struct of_device *ofdev,
unsigned
int
dcr_base
;
const
u32
*
prop
;
u32
cfg
;
unsigned
long
irqflags
;
irq_handler_t
hdlr_serr
,
hdlr_txde
,
hdlr_rxde
;
mal
=
kzalloc
(
sizeof
(
struct
mal_instance
),
GFP_KERNEL
);
if
(
!
mal
)
{
...
...
@@ -542,11 +572,21 @@ static int __devinit mal_probe(struct of_device *ofdev,
goto
fail
;
}
if
(
of_device_is_compatible
(
ofdev
->
node
,
"ibm,mcmal-405ez"
))
mal
->
features
|=
(
MAL_FTR_CLEAR_ICINTSTAT
|
MAL_FTR_COMMON_ERR_INT
);
mal
->
txeob_irq
=
irq_of_parse_and_map
(
ofdev
->
node
,
0
);
mal
->
rxeob_irq
=
irq_of_parse_and_map
(
ofdev
->
node
,
1
);
mal
->
serr_irq
=
irq_of_parse_and_map
(
ofdev
->
node
,
2
);
mal
->
txde_irq
=
irq_of_parse_and_map
(
ofdev
->
node
,
3
);
mal
->
rxde_irq
=
irq_of_parse_and_map
(
ofdev
->
node
,
4
);
if
(
mal_has_feature
(
mal
,
MAL_FTR_COMMON_ERR_INT
))
{
mal
->
txde_irq
=
mal
->
rxde_irq
=
mal
->
serr_irq
;
}
else
{
mal
->
txde_irq
=
irq_of_parse_and_map
(
ofdev
->
node
,
3
);
mal
->
rxde_irq
=
irq_of_parse_and_map
(
ofdev
->
node
,
4
);
}
if
(
mal
->
txeob_irq
==
NO_IRQ
||
mal
->
rxeob_irq
==
NO_IRQ
||
mal
->
serr_irq
==
NO_IRQ
||
mal
->
txde_irq
==
NO_IRQ
||
mal
->
rxde_irq
==
NO_IRQ
)
{
...
...
@@ -608,16 +648,26 @@ static int __devinit mal_probe(struct of_device *ofdev,
sizeof
(
struct
mal_descriptor
)
*
mal_rx_bd_offset
(
mal
,
i
));
err
=
request_irq
(
mal
->
serr_irq
,
mal_serr
,
0
,
"MAL SERR"
,
mal
);
if
(
mal_has_feature
(
mal
,
MAL_FTR_COMMON_ERR_INT
))
{
irqflags
=
IRQF_SHARED
;
hdlr_serr
=
hdlr_txde
=
hdlr_rxde
=
mal_int
;
}
else
{
irqflags
=
0
;
hdlr_serr
=
mal_serr
;
hdlr_txde
=
mal_txde
;
hdlr_rxde
=
mal_rxde
;
}
err
=
request_irq
(
mal
->
serr_irq
,
hdlr_serr
,
irqflags
,
"MAL SERR"
,
mal
);
if
(
err
)
goto
fail2
;
err
=
request_irq
(
mal
->
txde_irq
,
mal_txde
,
0
,
"MAL TX DE"
,
mal
);
err
=
request_irq
(
mal
->
txde_irq
,
hdlr_txde
,
irqflags
,
"MAL TX DE"
,
mal
);
if
(
err
)
goto
fail3
;
err
=
request_irq
(
mal
->
txeob_irq
,
mal_txeob
,
0
,
"MAL TX EOB"
,
mal
);
if
(
err
)
goto
fail4
;
err
=
request_irq
(
mal
->
rxde_irq
,
mal_rxde
,
0
,
"MAL RX DE"
,
mal
);
err
=
request_irq
(
mal
->
rxde_irq
,
hdlr_rxde
,
irqflags
,
"MAL RX DE"
,
mal
);
if
(
err
)
goto
fail5
;
err
=
request_irq
(
mal
->
rxeob_irq
,
mal_rxeob
,
0
,
"MAL RX EOB"
,
mal
);
...
...
drivers/net/ibm_newemac/mal.h
View file @
fa6428eb
...
...
@@ -213,6 +213,8 @@ struct mal_instance {
struct
of_device
*
ofdev
;
int
index
;
spinlock_t
lock
;
unsigned
int
features
;
};
static
inline
u32
get_mal_dcrn
(
struct
mal_instance
*
mal
,
int
reg
)
...
...
@@ -225,6 +227,38 @@ static inline void set_mal_dcrn(struct mal_instance *mal, int reg, u32 val)
dcr_write
(
mal
->
dcr_host
,
reg
,
val
);
}
/* Features of various MAL implementations */
/* Set if you have interrupt coalescing and you have to clear the SDR
* register for TXEOB and RXEOB interrupts to work
*/
#define MAL_FTR_CLEAR_ICINTSTAT 0x00000001
/* Set if your MAL has SERR, TXDE, and RXDE OR'd into a single UIC
* interrupt
*/
#define MAL_FTR_COMMON_ERR_INT 0x00000002
enum
{
MAL_FTRS_ALWAYS
=
0
,
MAL_FTRS_POSSIBLE
=
#ifdef CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT
MAL_FTR_CLEAR_ICINTSTAT
|
#endif
#ifdef CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR
MAL_FTR_COMMON_ERR_INT
|
#endif
0
,
};
static
inline
int
mal_has_feature
(
struct
mal_instance
*
dev
,
unsigned
long
feature
)
{
return
(
MAL_FTRS_ALWAYS
&
feature
)
||
(
MAL_FTRS_POSSIBLE
&
dev
->
features
&
feature
);
}
/* Register MAL devices */
int
mal_init
(
void
);
void
mal_exit
(
void
);
...
...
drivers/net/ibm_newemac/phy.c
View file @
fa6428eb
...
...
@@ -38,6 +38,16 @@ static inline void phy_write(struct mii_phy *phy, int reg, int val)
phy
->
mdio_write
(
phy
->
dev
,
phy
->
address
,
reg
,
val
);
}
static
inline
int
gpcs_phy_read
(
struct
mii_phy
*
phy
,
int
reg
)
{
return
phy
->
mdio_read
(
phy
->
dev
,
phy
->
gpcs_address
,
reg
);
}
static
inline
void
gpcs_phy_write
(
struct
mii_phy
*
phy
,
int
reg
,
int
val
)
{
phy
->
mdio_write
(
phy
->
dev
,
phy
->
gpcs_address
,
reg
,
val
);
}
int
emac_mii_reset_phy
(
struct
mii_phy
*
phy
)
{
int
val
;
...
...
@@ -62,6 +72,37 @@ int emac_mii_reset_phy(struct mii_phy *phy)
return
limit
<=
0
;
}
int
emac_mii_reset_gpcs
(
struct
mii_phy
*
phy
)
{
int
val
;
int
limit
=
10000
;
val
=
gpcs_phy_read
(
phy
,
MII_BMCR
);
val
&=
~
(
BMCR_ISOLATE
|
BMCR_ANENABLE
);
val
|=
BMCR_RESET
;
gpcs_phy_write
(
phy
,
MII_BMCR
,
val
);
udelay
(
300
);
while
(
limit
--
)
{
val
=
gpcs_phy_read
(
phy
,
MII_BMCR
);
if
(
val
>=
0
&&
(
val
&
BMCR_RESET
)
==
0
)
break
;
udelay
(
10
);
}
if
((
val
&
BMCR_ISOLATE
)
&&
limit
>
0
)
gpcs_phy_write
(
phy
,
MII_BMCR
,
val
&
~
BMCR_ISOLATE
);
if
(
limit
>
0
&&
phy
->
mode
==
PHY_MODE_SGMII
)
{
/* Configure GPCS interface to recommended setting for SGMII */
gpcs_phy_write
(
phy
,
0x04
,
0x8120
);
/* AsymPause, FDX */
gpcs_phy_write
(
phy
,
0x07
,
0x2801
);
/* msg_pg, toggle */
gpcs_phy_write
(
phy
,
0x00
,
0x0140
);
/* 1Gbps, FDX */
}
return
limit
<=
0
;
}
static
int
genmii_setup_aneg
(
struct
mii_phy
*
phy
,
u32
advertise
)
{
int
ctl
,
adv
;
...
...
@@ -332,6 +373,33 @@ static int m88e1111_init(struct mii_phy *phy)
return
0
;
}
static
int
m88e1112_init
(
struct
mii_phy
*
phy
)
{
/*
* Marvell 88E1112 PHY needs to have the SGMII MAC
* interace (page 2) properly configured to
* communicate with the 460EX/GT GPCS interface.
*/
u16
reg_short
;
pr_debug
(
"%s: Marvell 88E1112 Ethernet
\n
"
,
__func__
);
/* Set access to Page 2 */
phy_write
(
phy
,
0x16
,
0x0002
);
phy_write
(
phy
,
0x00
,
0x0040
);
/* 1Gbps */
reg_short
=
(
u16
)(
phy_read
(
phy
,
0x1a
));
reg_short
|=
0x8000
;
/* bypass Auto-Negotiation */
phy_write
(
phy
,
0x1a
,
reg_short
);
emac_mii_reset_phy
(
phy
);
/* reset MAC interface */
/* Reset access to Page 0 */
phy_write
(
phy
,
0x16
,
0x0000
);
return
0
;
}
static
int
et1011c_init
(
struct
mii_phy
*
phy
)
{
u16
reg_short
;
...
...
@@ -384,11 +452,27 @@ static struct mii_phy_def m88e1111_phy_def = {
.
ops
=
&
m88e1111_phy_ops
,
};
static
struct
mii_phy_ops
m88e1112_phy_ops
=
{
.
init
=
m88e1112_init
,
.
setup_aneg
=
genmii_setup_aneg
,
.
setup_forced
=
genmii_setup_forced
,
.
poll_link
=
genmii_poll_link
,
.
read_link
=
genmii_read_link
};
static
struct
mii_phy_def
m88e1112_phy_def
=
{
.
phy_id
=
0x01410C90
,
.
phy_id_mask
=
0x0ffffff0
,
.
name
=
"Marvell 88E1112 Ethernet"
,
.
ops
=
&
m88e1112_phy_ops
,
};
static
struct
mii_phy_def
*
mii_phy_table
[]
=
{
&
et1011c_phy_def
,
&
cis8201_phy_def
,
&
bcm5248_phy_def
,
&
m88e1111_phy_def
,
&
m88e1112_phy_def
,
&
genmii_phy_def
,
NULL
};
...
...
drivers/net/ibm_newemac/phy.h
View file @
fa6428eb
...
...
@@ -57,6 +57,7 @@ struct mii_phy {
or determined automaticaly */
int
address
;
/* PHY address */
int
mode
;
/* PHY mode */
int
gpcs_address
;
/* GPCS PHY address */
/* 1: autoneg enabled, 0: disabled */
int
autoneg
;
...
...
@@ -81,5 +82,6 @@ struct mii_phy {
*/
int
emac_mii_phy_probe
(
struct
mii_phy
*
phy
,
int
address
);
int
emac_mii_reset_phy
(
struct
mii_phy
*
phy
);
int
emac_mii_reset_gpcs
(
struct
mii_phy
*
phy
);
#endif
/* __IBM_NEWEMAC_PHY_H */
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