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
781c74b1
Commit
781c74b1
authored
Jul 03, 2008
by
Paul Mackerras
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-2.6.26' of
git://git.secretlab.ca/git/linux-2.6-mpc52xx
into merge
parents
1e6d1f26
18d76ac9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
1 deletion
+13
-1
arch/powerpc/platforms/52xx/lite5200_pm.c
arch/powerpc/platforms/52xx/lite5200_pm.c
+13
-1
No files found.
arch/powerpc/platforms/52xx/lite5200_pm.c
View file @
781c74b1
...
@@ -14,6 +14,7 @@ static struct mpc52xx_sdma __iomem *bes;
...
@@ -14,6 +14,7 @@ static struct mpc52xx_sdma __iomem *bes;
static
struct
mpc52xx_xlb
__iomem
*
xlb
;
static
struct
mpc52xx_xlb
__iomem
*
xlb
;
static
struct
mpc52xx_gpio
__iomem
*
gps
;
static
struct
mpc52xx_gpio
__iomem
*
gps
;
static
struct
mpc52xx_gpio_wkup
__iomem
*
gpw
;
static
struct
mpc52xx_gpio_wkup
__iomem
*
gpw
;
static
void
__iomem
*
pci
;
static
void
__iomem
*
sram
;
static
void
__iomem
*
sram
;
static
const
int
sram_size
=
0x4000
;
/* 16 kBytes */
static
const
int
sram_size
=
0x4000
;
/* 16 kBytes */
static
void
__iomem
*
mbar
;
static
void
__iomem
*
mbar
;
...
@@ -50,6 +51,8 @@ static int lite5200_pm_prepare(void)
...
@@ -50,6 +51,8 @@ static int lite5200_pm_prepare(void)
{
.
type
=
"builtin"
,
.
compatible
=
"mpc5200"
,
},
/* efika */
{
.
type
=
"builtin"
,
.
compatible
=
"mpc5200"
,
},
/* efika */
{}
{}
};
};
u64
regaddr64
=
0
;
const
u32
*
regaddr_p
;
/* deep sleep? let mpc52xx code handle that */
/* deep sleep? let mpc52xx code handle that */
if
(
lite5200_pm_target_state
==
PM_SUSPEND_STANDBY
)
if
(
lite5200_pm_target_state
==
PM_SUSPEND_STANDBY
)
...
@@ -60,8 +63,12 @@ static int lite5200_pm_prepare(void)
...
@@ -60,8 +63,12 @@ static int lite5200_pm_prepare(void)
/* map registers */
/* map registers */
np
=
of_find_matching_node
(
NULL
,
immr_ids
);
np
=
of_find_matching_node
(
NULL
,
immr_ids
);
mbar
=
of_iomap
(
np
,
0
);
regaddr_p
=
of_get_address
(
np
,
0
,
NULL
,
NULL
);
if
(
regaddr_p
)
regaddr64
=
of_translate_address
(
np
,
regaddr_p
);
of_node_put
(
np
);
of_node_put
(
np
);
mbar
=
ioremap
((
u32
)
regaddr64
,
0xC000
);
if
(
!
mbar
)
{
if
(
!
mbar
)
{
printk
(
KERN_ERR
"%s:%i Error mapping registers
\n
"
,
__func__
,
__LINE__
);
printk
(
KERN_ERR
"%s:%i Error mapping registers
\n
"
,
__func__
,
__LINE__
);
return
-
ENOSYS
;
return
-
ENOSYS
;
...
@@ -71,6 +78,7 @@ static int lite5200_pm_prepare(void)
...
@@ -71,6 +78,7 @@ static int lite5200_pm_prepare(void)
pic
=
mbar
+
0x500
;
pic
=
mbar
+
0x500
;
gps
=
mbar
+
0xb00
;
gps
=
mbar
+
0xb00
;
gpw
=
mbar
+
0xc00
;
gpw
=
mbar
+
0xc00
;
pci
=
mbar
+
0xd00
;
bes
=
mbar
+
0x1200
;
bes
=
mbar
+
0x1200
;
xlb
=
mbar
+
0x1f00
;
xlb
=
mbar
+
0x1f00
;
sram
=
mbar
+
0x8000
;
sram
=
mbar
+
0x8000
;
...
@@ -85,6 +93,7 @@ static struct mpc52xx_sdma sbes;
...
@@ -85,6 +93,7 @@ static struct mpc52xx_sdma sbes;
static
struct
mpc52xx_xlb
sxlb
;
static
struct
mpc52xx_xlb
sxlb
;
static
struct
mpc52xx_gpio
sgps
;
static
struct
mpc52xx_gpio
sgps
;
static
struct
mpc52xx_gpio_wkup
sgpw
;
static
struct
mpc52xx_gpio_wkup
sgpw
;
static
char
spci
[
0x200
];
static
void
lite5200_save_regs
(
void
)
static
void
lite5200_save_regs
(
void
)
{
{
...
@@ -94,6 +103,7 @@ static void lite5200_save_regs(void)
...
@@ -94,6 +103,7 @@ static void lite5200_save_regs(void)
_memcpy_fromio
(
&
sxlb
,
xlb
,
sizeof
(
*
xlb
));
_memcpy_fromio
(
&
sxlb
,
xlb
,
sizeof
(
*
xlb
));
_memcpy_fromio
(
&
sgps
,
gps
,
sizeof
(
*
gps
));
_memcpy_fromio
(
&
sgps
,
gps
,
sizeof
(
*
gps
));
_memcpy_fromio
(
&
sgpw
,
gpw
,
sizeof
(
*
gpw
));
_memcpy_fromio
(
&
sgpw
,
gpw
,
sizeof
(
*
gpw
));
_memcpy_fromio
(
spci
,
pci
,
0x200
);
_memcpy_fromio
(
saved_sram
,
sram
,
sram_size
);
_memcpy_fromio
(
saved_sram
,
sram
,
sram_size
);
}
}
...
@@ -103,6 +113,8 @@ static void lite5200_restore_regs(void)
...
@@ -103,6 +113,8 @@ static void lite5200_restore_regs(void)
int
i
;
int
i
;
_memcpy_toio
(
sram
,
saved_sram
,
sram_size
);
_memcpy_toio
(
sram
,
saved_sram
,
sram_size
);
/* PCI Configuration */
_memcpy_toio
(
pci
,
spci
,
0x200
);
/*
/*
* GPIOs. Interrupt Master Enable has higher address then other
* GPIOs. Interrupt Master Enable has higher address then other
...
...
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