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
5a3e3b22
Commit
5a3e3b22
authored
Oct 04, 2006
by
Paul Mackerras
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/vitb/linux-2.6-PQ
parents
c730f5b6
91bd6109
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1165 additions
and
9 deletions
+1165
-9
arch/powerpc/Kconfig
arch/powerpc/Kconfig
+1
-0
arch/powerpc/boot/dts/mpc8272ads.dts
arch/powerpc/boot/dts/mpc8272ads.dts
+223
-0
arch/powerpc/platforms/82xx/Kconfig
arch/powerpc/platforms/82xx/Kconfig
+21
-0
arch/powerpc/platforms/82xx/Makefile
arch/powerpc/platforms/82xx/Makefile
+5
-0
arch/powerpc/platforms/82xx/m82xx_pci.h
arch/powerpc/platforms/82xx/m82xx_pci.h
+19
-0
arch/powerpc/platforms/82xx/mpc82xx.c
arch/powerpc/platforms/82xx/mpc82xx.c
+111
-0
arch/powerpc/platforms/82xx/mpc82xx_ads.c
arch/powerpc/platforms/82xx/mpc82xx_ads.c
+661
-0
arch/powerpc/platforms/82xx/pq2ads.h
arch/powerpc/platforms/82xx/pq2ads.h
+67
-0
arch/powerpc/sysdev/cpm2_pic.c
arch/powerpc/sysdev/cpm2_pic.c
+1
-1
arch/powerpc/sysdev/cpm2_pic.h
arch/powerpc/sysdev/cpm2_pic.h
+1
-1
arch/powerpc/sysdev/fsl_soc.c
arch/powerpc/sysdev/fsl_soc.c
+55
-7
No files found.
arch/powerpc/Kconfig
View file @
5a3e3b22
...
...
@@ -594,6 +594,7 @@ endmenu
source arch/powerpc/platforms/embedded6xx/Kconfig
source arch/powerpc/platforms/4xx/Kconfig
source arch/powerpc/platforms/82xx/Kconfig
source arch/powerpc/platforms/83xx/Kconfig
source arch/powerpc/platforms/85xx/Kconfig
source arch/powerpc/platforms/86xx/Kconfig
...
...
arch/powerpc/boot/dts/mpc8272ads.dts
0 → 100644
View file @
5a3e3b22
/*
*
MPC8272
ADS
Device
Tree
Source
*
*
Copyright
2005
Freescale
Semiconductor
Inc
.
*
*
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
modify
it
*
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
*
Free
Software
Foundation
;
either
version
2
of
the
License
,
or
(
at
your
*
option
)
any
later
version
.
*/
/
{
model
=
"MPC8272ADS"
;
compatible
=
"MPC8260ADS"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
linux
,
phandle
=
<
100
>;
cpus
{
#
cpus
=
<
1
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
linux
,
phandle
=
<
200
>;
PowerPC
,
8272
@
0
{
device_type
=
"cpu"
;
reg
=
<
0
>;
d
-
cache
-
line
-
size
=
<
20
>;
//
32
bytes
i
-
cache
-
line
-
size
=
<
20
>;
//
32
bytes
d
-
cache
-
size
=
<
4000
>;
//
L1
,
16
K
i
-
cache
-
size
=
<
4000
>;
//
L1
,
16
K
timebase
-
frequency
=
<
0
>;
bus
-
frequency
=
<
0
>;
clock
-
frequency
=
<
0
>;
32
-
bit
;
linux
,
phandle
=
<
201
>;
linux
,
boot
-
cpu
;
};
};
interrupt
-
controller
@
f8200000
{
linux
,
phandle
=
<
f8200000
>;
#
address
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
interrupt
-
controller
;
reg
=
<
f8200000
f8200004
>;
built
-
in
;
device_type
=
"pci-pic"
;
};
memory
{
device_type
=
"memory"
;
linux
,
phandle
=
<
300
>;
reg
=
<
00000000
4000000
f4500000
00000020
>;
};
soc8272
@
f0000000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
#
interrupt
-
cells
=
<
2
>;
device_type
=
"soc"
;
ranges
=
<
0
0
2
00000000
f0000000
00053000
>;
reg
=
<
f0000000
0
>;
mdio
@
0
{
device_type
=
"mdio"
;
compatible
=
"fs_enet"
;
reg
=
<
0
0
>;
linux
,
phandle
=
<
24520
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
ethernet
-
phy
@
0
{
linux
,
phandle
=
<
2452000
>;
interrupt
-
parent
=
<
10
c00
>;
interrupts
=
<
19
1
>;
reg
=
<
0
>;
bitbang
=
[
12
12
13
02
02
01
];
device_type
=
"ethernet-phy"
;
};
ethernet
-
phy
@
1
{
linux
,
phandle
=
<
2452001
>;
interrupt
-
parent
=
<
10
c00
>;
interrupts
=
<
19
1
>;
bitbang
=
[
12
12
13
02
02
01
];
reg
=
<
3
>;
device_type
=
"ethernet-phy"
;
};
};
ethernet
@
24000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
device_type
=
"network"
;
device
-
id
=
<
2
>;
compatible
=
"fs_enet"
;
model
=
"FCC"
;
reg
=
<
11300
20
8400
100
11380
30
>;
mac
-
address
=
[
00
11
2F
99
43
54
];
interrupts
=
<
20
2
>;
interrupt
-
parent
=
<
10
c00
>;
phy
-
handle
=
<
2452000
>;
rx
-
clock
=
<
13
>;
tx
-
clock
=
<
12
>;
};
ethernet
@
25000
{
device_type
=
"network"
;
device
-
id
=
<
3
>;
compatible
=
"fs_enet"
;
model
=
"FCC"
;
reg
=
<
11320
20
8500
100
113
b0
30
>;
mac
-
address
=
[
00
11
2F
99
44
54
];
interrupts
=
<
21
2
>;
interrupt
-
parent
=
<
10
c00
>;
phy
-
handle
=
<
2452001
>;
rx
-
clock
=
<
17
>;
tx
-
clock
=
<
18
>;
};
cpm
@
f0000000
{
linux
,
phandle
=
<
f0000000
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
#
interrupt
-
cells
=
<
2
>;
device_type
=
"cpm"
;
model
=
"CPM2"
;
ranges
=
<
00000000
00000000
3f
fff
>;
reg
=
<
10
d80
3280
>;
command
-
proc
=
<
119
c0
>;
brg
-
frequency
=
<
17
D7840
>;
cpm_clk
=
<
BEBC200
>;
scc
@
11
a00
{
device_type
=
"serial"
;
compatible
=
"cpm_uart"
;
model
=
"SCC"
;
device
-
id
=
<
2
>;
reg
=
<
11
a00
20
8000
100
>;
current
-
speed
=
<
1
c200
>;
interrupts
=
<
28
2
>;
interrupt
-
parent
=
<
10
c00
>;
clock
-
setup
=
<
0
00f
fffff
>;
rx
-
clock
=
<
1
>;
tx
-
clock
=
<
1
>;
};
scc
@
11
a60
{
device_type
=
"serial"
;
compatible
=
"cpm_uart"
;
model
=
"SCC"
;
device
-
id
=
<
5
>;
reg
=
<
11
a60
20
8300
100
>;
current
-
speed
=
<
1
c200
>;
interrupts
=
<
2
b
2
>;
interrupt
-
parent
=
<
10
c00
>;
clock
-
setup
=
<
1
b
ffffff00
>;
rx
-
clock
=
<
4
>;
tx
-
clock
=
<
4
>;
};
};
interrupt
-
controller
@
10
c00
{
linux
,
phandle
=
<
10
c00
>;
#
address
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
interrupt
-
controller
;
reg
=
<
10
c00
80
>;
built
-
in
;
device_type
=
"cpm-pic"
;
compatible
=
"CPM2"
;
};
pci
@
0500
{
linux
,
phandle
=
<
0500
>;
#
interrupt
-
cells
=
<
1
>;
#
size
-
cells
=
<
2
>;
#
address
-
cells
=
<
3
>;
compatible
=
"8272"
;
device_type
=
"pci"
;
reg
=
<
10430
4
dc
>;
clock
-
frequency
=
<
3f940
aa
>;
interrupt
-
map
-
mask
=
<
f800
0
0
7
>;
interrupt
-
map
=
<
/*
IDSEL
0x16
*/
b000
0
0
1
f8200000
40
0
b000
0
0
2
f8200000
41
0
b000
0
0
3
f8200000
42
0
b000
0
0
4
f8200000
43
0
/*
IDSEL
0x17
*/
b800
0
0
1
f8200000
43
0
b800
0
0
2
f8200000
40
0
b800
0
0
3
f8200000
41
0
b800
0
0
4
f8200000
42
0
/*
IDSEL
0x18
*/
c000
0
0
1
f8200000
42
0
c000
0
0
2
f8200000
43
0
c000
0
0
3
f8200000
40
0
c000
0
0
4
f8200000
41
0
>;
interrupt
-
parent
=
<
10
c00
>;
interrupts
=
<
14
3
>;
bus
-
range
=
<
0
0
>;
ranges
=
<
02000000
0
80000000
80000000
0
40000000
01000000
0
00000000
f6000000
0
02000000
>;
};
/*
May
need
to
remove
if
on
a
part
without
crypto
engine
*/
crypto
@
30000
{
device_type
=
"crypto"
;
model
=
"SEC2"
;
compatible
=
"talitos"
;
reg
=
<
30000
10000
>;
interrupts
=
<
b
0
>;
interrupt
-
parent
=
<
10
c00
>;
num
-
channels
=
<
4
>;
channel
-
fifo
-
len
=
<
18
>;
exec
-
units
-
mask
=
<
0000007
e
>;
/*
desc
mask
is
for
rev1
.
x
,
we
need
runtime
fixup
for
>=
2.
x
*/
descriptor
-
types
-
mask
=
<
01010
ebf
>;
};
};
};
arch/powerpc/platforms/82xx/Kconfig
0 → 100644
View file @
5a3e3b22
menu "Platform support"
depends on PPC_82xx
choice
prompt "Machine Type"
default MPC82xx_ADS
config MPC82xx_ADS
bool "Freescale MPC82xx ADS"
select DEFAULT_UIMAGE
select PQ2ADS
select 8272
select 8260
select CPM2
select FSL_SOC
help
This option enables support for the MPC8272 ADS board
endchoice
endmenu
arch/powerpc/platforms/82xx/Makefile
0 → 100644
View file @
5a3e3b22
#
# Makefile for the PowerPC 82xx linux kernel.
#
obj-$(CONFIG_PPC_82xx)
+=
mpc82xx.o
obj-$(CONFIG_MPC82xx_ADS)
+=
mpc82xx_ads.o
arch/powerpc/platforms/82xx/m82xx_pci.h
0 → 100644
View file @
5a3e3b22
#ifndef _PPC_KERNEL_M82XX_PCI_H
#define _PPC_KERNEL_M82XX_PCI_H
/*
* 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.
*/
#include <asm/m8260_pci.h>
#define SIU_INT_IRQ1 ((uint)0x13 + CPM_IRQ_OFFSET)
#ifndef _IO_BASE
#define _IO_BASE isa_io_base
#endif
#endif
/* _PPC_KERNEL_M8260_PCI_H */
arch/powerpc/platforms/82xx/mpc82xx.c
0 → 100644
View file @
5a3e3b22
/*
* MPC82xx setup and early boot code plus other random bits.
*
* Author: Vitaly Bordug <vbordug@ru.mvista.com>
*
* Copyright (c) 2006 MontaVista Software, Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
#include <linux/config.h>
#include <linux/stddef.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/reboot.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/kdev_t.h>
#include <linux/major.h>
#include <linux/console.h>
#include <linux/delay.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
#include <linux/initrd.h>
#include <linux/module.h>
#include <linux/fsl_devices.h>
#include <linux/fs_uart_pd.h>
#include <asm/system.h>
#include <asm/pgtable.h>
#include <asm/page.h>
#include <asm/atomic.h>
#include <asm/time.h>
#include <asm/io.h>
#include <asm/machdep.h>
#include <asm/bootinfo.h>
#include <asm/pci-bridge.h>
#include <asm/mpc8260.h>
#include <asm/irq.h>
#include <mm/mmu_decl.h>
#include <asm/prom.h>
#include <asm/cpm2.h>
#include <asm/udbg.h>
#include <asm/i8259.h>
#include <linux/fs_enet_pd.h>
#include <sysdev/fsl_soc.h>
#include <sysdev/cpm2_pic.h>
#include "pq2ads_pd.h"
static
int
__init
get_freq
(
char
*
name
,
unsigned
long
*
val
)
{
struct
device_node
*
cpu
;
unsigned
int
*
fp
;
int
found
=
0
;
/* The cpu node should have timebase and clock frequency properties */
cpu
=
of_find_node_by_type
(
NULL
,
"cpu"
);
if
(
cpu
)
{
fp
=
(
unsigned
int
*
)
get_property
(
cpu
,
name
,
NULL
);
if
(
fp
)
{
found
=
1
;
*
val
=
*
fp
++
;
}
of_node_put
(
cpu
);
}
return
found
;
}
void
__init
m82xx_calibrate_decr
(
void
)
{
ppc_tb_freq
=
125000000
;
if
(
!
get_freq
(
"bus-frequency"
,
&
ppc_tb_freq
))
{
printk
(
KERN_ERR
"WARNING: Estimating decrementer frequency "
"(not found)
\n
"
);
}
ppc_tb_freq
/=
4
;
ppc_proc_freq
=
1000000000
;
if
(
!
get_freq
(
"clock-frequency"
,
&
ppc_proc_freq
))
printk
(
KERN_ERR
"WARNING: Estimating processor frequency"
"(not found)
\n
"
);
}
void
mpc82xx_ads_show_cpuinfo
(
struct
seq_file
*
m
)
{
uint
pvid
,
svid
,
phid1
;
uint
memsize
=
total_memory
;
pvid
=
mfspr
(
SPRN_PVR
);
svid
=
mfspr
(
SPRN_SVR
);
seq_printf
(
m
,
"Vendor
\t\t
: Freescale Semiconductor
\n
"
);
seq_printf
(
m
,
"Machine
\t\t
: %s
\n
"
,
CPUINFO_MACHINE
);
seq_printf
(
m
,
"PVR
\t\t
: 0x%x
\n
"
,
pvid
);
seq_printf
(
m
,
"SVR
\t\t
: 0x%x
\n
"
,
svid
);
/* Display cpu Pll setting */
phid1
=
mfspr
(
SPRN_HID1
);
seq_printf
(
m
,
"PLL setting
\t
: 0x%x
\n
"
,
((
phid1
>>
24
)
&
0x3f
));
/* Display the amount of memory */
seq_printf
(
m
,
"Memory
\t\t
: %d MB
\n
"
,
memsize
/
(
1024
*
1024
));
}
arch/powerpc/platforms/82xx/mpc82xx_ads.c
0 → 100644
View file @
5a3e3b22
This diff is collapsed.
Click to expand it.
arch/powerpc/platforms/82xx/pq2ads.h
0 → 100644
View file @
5a3e3b22
/*
* PQ2/mpc8260 board-specific stuff
*
* A collection of structures, addresses, and values associated with
* the Freescale MPC8260ADS/MPC8266ADS-PCI boards.
* Copied from the RPX-Classic and SBS8260 stuff.
*
* Author: Vitaly Bordug <vbordug@ru.mvista.com>
*
* Originally written by Dan Malek for Motorola MPC8260 family
*
* Copyright (c) 2001 Dan Malek <dan@embeddedalley.com>
* Copyright (c) 2006 MontaVista Software, Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
#ifdef __KERNEL__
#ifndef __MACH_ADS8260_DEFS
#define __MACH_ADS8260_DEFS
#include <linux/config.h>
#include <asm/ppcboot.h>
/* For our show_cpuinfo hooks. */
#define CPUINFO_VENDOR "Freescale Semiconductor"
#define CPUINFO_MACHINE "PQ2 ADS PowerPC"
/* Backword-compatibility stuff for the drivers */
#define CPM_MAP_ADDR ((uint)0xf0000000)
#define CPM_IRQ_OFFSET 0
/* The ADS8260 has 16, 32-bit wide control/status registers, accessed
* only on word boundaries.
* Not all are used (yet), or are interesting to us (yet).
*/
/* Things of interest in the CSR.
*/
#define BCSR0_LED0 ((uint)0x02000000)
/* 0 == on */
#define BCSR0_LED1 ((uint)0x01000000)
/* 0 == on */
#define BCSR1_FETHIEN ((uint)0x08000000)
/* 0 == enable*/
#define BCSR1_FETH_RST ((uint)0x04000000)
/* 0 == reset */
#define BCSR1_RS232_EN1 ((uint)0x02000000)
/* 0 ==enable */
#define BCSR1_RS232_EN2 ((uint)0x01000000)
/* 0 ==enable */
#define BCSR3_FETHIEN2 ((uint)0x10000000)
/* 0 == enable*/
#define BCSR3_FETH2_RS ((uint)0x80000000)
/* 0 == reset */
/* cpm serial driver works with constants below */
#define SIU_INT_SMC1 ((uint)0x04+CPM_IRQ_OFFSET)
#define SIU_INT_SMC2i ((uint)0x05+CPM_IRQ_OFFSET)
#define SIU_INT_SCC1 ((uint)0x28+CPM_IRQ_OFFSET)
#define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET)
#define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET)
#define SIU_INT_SCC4 ((uint)0x2b+CPM_IRQ_OFFSET)
void
m82xx_pci_init_irq
(
void
);
void
mpc82xx_ads_show_cpuinfo
(
struct
seq_file
*
);
void
m82xx_calibrate_decr
(
void
);
#endif
/* __MACH_ADS8260_DEFS */
#endif
/* __KERNEL__ */
arch/powerpc/sysdev/cpm2_pic.c
View file @
5a3e3b22
...
...
@@ -147,7 +147,7 @@ static struct irq_chip cpm2_pic = {
.
end
=
cpm2_end_irq
,
};
int
cpm2_get_irq
(
struct
pt_regs
*
regs
)
unsigned
int
cpm2_get_irq
(
struct
pt_regs
*
regs
)
{
int
irq
;
unsigned
long
bits
;
...
...
arch/powerpc/sysdev/cpm2_pic.h
View file @
5a3e3b22
...
...
@@ -3,7 +3,7 @@
extern
intctl_cpm2_t
*
cpm2_intctl
;
extern
int
cpm2_get_irq
(
struct
pt_regs
*
regs
);
extern
unsigned
int
cpm2_get_irq
(
struct
pt_regs
*
regs
);
extern
void
cpm2_pic_init
(
struct
device_node
*
);
...
...
arch/powerpc/sysdev/fsl_soc.c
View file @
5a3e3b22
...
...
@@ -37,6 +37,7 @@
#include <asm/cpm2.h>
extern
void
init_fcc_ioports
(
struct
fs_platform_info
*
);
extern
void
init_scc_ioports
(
struct
fs_uart_platform_info
*
);
static
phys_addr_t
immrbase
=
-
1
;
phys_addr_t
get_immrbase
(
void
)
...
...
@@ -566,7 +567,7 @@ static int __init fs_enet_of_init(void)
struct
resource
r
[
4
];
struct
device_node
*
phy
,
*
mdio
;
struct
fs_platform_info
fs_enet_data
;
const
unsigned
int
*
id
,
*
phy_addr
;
const
unsigned
int
*
id
,
*
phy_addr
,
phy_irq
;
const
void
*
mac_addr
;
const
phandle
*
ph
;
const
char
*
model
;
...
...
@@ -588,6 +589,7 @@ static int __init fs_enet_of_init(void)
if
(
ret
)
goto
err
;
r
[
2
].
name
=
fcc_regs_c
;
fs_enet_data
.
fcc_regs_c
=
r
[
2
].
start
;
r
[
3
].
start
=
r
[
3
].
end
=
irq_of_parse_and_map
(
np
,
0
);
r
[
3
].
flags
=
IORESOURCE_IRQ
;
...
...
@@ -620,6 +622,8 @@ static int __init fs_enet_of_init(void)
phy_addr
=
get_property
(
phy
,
"reg"
,
NULL
);
fs_enet_data
.
phy_addr
=
*
phy_addr
;
phy_irq
=
get_property
(
phy
,
"interrupts"
,
NULL
);
id
=
get_property
(
np
,
"device-id"
,
NULL
);
fs_enet_data
.
fs_no
=
*
id
;
strcpy
(
fs_enet_data
.
fs_type
,
model
);
...
...
@@ -637,6 +641,7 @@ static int __init fs_enet_of_init(void)
if
(
strstr
(
model
,
"FCC"
))
{
int
fcc_index
=
*
id
-
1
;
unsigned
char
*
mdio_bb_prop
;
fs_enet_data
.
dpram_offset
=
(
u32
)
cpm_dpram_addr
(
0
);
fs_enet_data
.
rx_ring
=
32
;
...
...
@@ -652,6 +657,49 @@ static int __init fs_enet_of_init(void)
(
u32
)
res
.
start
,
fs_enet_data
.
phy_addr
);
fs_enet_data
.
bus_id
=
(
char
*
)
&
bus_id
[(
*
id
)];
fs_enet_data
.
init_ioports
=
init_fcc_ioports
;
mdio_bb_prop
=
get_property
(
phy
,
"bitbang"
,
NULL
);
if
(
mdio_bb_prop
)
{
struct
platform_device
*
fs_enet_mdio_bb_dev
;
struct
fs_mii_bb_platform_info
fs_enet_mdio_bb_data
;
fs_enet_mdio_bb_dev
=
platform_device_register_simple
(
"fsl-bb-mdio"
,
i
,
NULL
,
0
);
memset
(
&
fs_enet_mdio_bb_data
,
0
,
sizeof
(
struct
fs_mii_bb_platform_info
));
fs_enet_mdio_bb_data
.
mdio_dat
.
bit
=
mdio_bb_prop
[
0
];
fs_enet_mdio_bb_data
.
mdio_dir
.
bit
=
mdio_bb_prop
[
1
];
fs_enet_mdio_bb_data
.
mdc_dat
.
bit
=
mdio_bb_prop
[
2
];
fs_enet_mdio_bb_data
.
mdio_port
=
mdio_bb_prop
[
3
];
fs_enet_mdio_bb_data
.
mdc_port
=
mdio_bb_prop
[
4
];
fs_enet_mdio_bb_data
.
delay
=
mdio_bb_prop
[
5
];
fs_enet_mdio_bb_data
.
irq
[
0
]
=
phy_irq
[
0
];
fs_enet_mdio_bb_data
.
irq
[
1
]
=
-
1
;
fs_enet_mdio_bb_data
.
irq
[
2
]
=
-
1
;
fs_enet_mdio_bb_data
.
irq
[
3
]
=
phy_irq
[
0
];
fs_enet_mdio_bb_data
.
irq
[
31
]
=
-
1
;
fs_enet_mdio_bb_data
.
mdio_dat
.
offset
=
(
u32
)
&
cpm2_immr
->
im_ioport
.
iop_pdatc
;
fs_enet_mdio_bb_data
.
mdio_dir
.
offset
=
(
u32
)
&
cpm2_immr
->
im_ioport
.
iop_pdirc
;
fs_enet_mdio_bb_data
.
mdc_dat
.
offset
=
(
u32
)
&
cpm2_immr
->
im_ioport
.
iop_pdatc
;
ret
=
platform_device_add_data
(
fs_enet_mdio_bb_dev
,
&
fs_enet_mdio_bb_data
,
sizeof
(
struct
fs_mii_bb_platform_info
));
if
(
ret
)
goto
unreg
;
}
of_node_put
(
phy
);
...
...
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