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
cb432b35
Commit
cb432b35
authored
Jan 11, 2010
by
Eric Miao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM] pxa/corgi: cleanup GPIO configurations and low power mode settings
Signed-off-by:
Eric Miao
<
eric.y.miao@gmail.com
>
parent
e63f591a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
59 deletions
+32
-59
arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/corgi.c
+32
-20
arch/arm/mach-pxa/corgi_pm.c
arch/arm/mach-pxa/corgi_pm.c
+0
-39
No files found.
arch/arm/mach-pxa/corgi.c
View file @
cb432b35
...
...
@@ -106,18 +106,18 @@ static unsigned long corgi_pin_config[] __initdata = {
GPIO8_MMC_CS0
,
/* GPIO Matrix Keypad */
GPIO66_GPIO
,
/* column 0 */
GPIO67_GPIO
,
/* column 1 */
GPIO68_GPIO
,
/* column 2 */
GPIO69_GPIO
,
/* column 3 */
GPIO70_GPIO
,
/* column 4 */
GPIO71_GPIO
,
/* column 5 */
GPIO72_GPIO
,
/* column 6 */
GPIO73_GPIO
,
/* column 7 */
GPIO74_GPIO
,
/* column 8 */
GPIO75_GPIO
,
/* column 9 */
GPIO76_GPIO
,
/* column 10 */
GPIO77_GPIO
,
/* column 11 */
GPIO66_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 0 */
GPIO67_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 1 */
GPIO68_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 2 */
GPIO69_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 3 */
GPIO70_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 4 */
GPIO71_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 5 */
GPIO72_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 6 */
GPIO73_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 7 */
GPIO74_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 8 */
GPIO75_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 9 */
GPIO76_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 10 */
GPIO77_GPIO
|
MFP_LPM_DRIVE_HIGH
,
/* column 11 */
GPIO58_GPIO
,
/* row 0 */
GPIO59_GPIO
,
/* row 1 */
GPIO60_GPIO
,
/* row 2 */
...
...
@@ -128,17 +128,20 @@ static unsigned long corgi_pin_config[] __initdata = {
GPIO65_GPIO
,
/* row 7 */
/* GPIO */
GPIO9_GPIO
,
/* CORGI_GPIO_nSD_DETECT */
GPIO7_GPIO
,
/* CORGI_GPIO_nSD_WP */
GPIO21_GPIO
,
/* CORGI_GPIO_ADC_TEMP */
GPIO22_GPIO
,
/* CORGI_GPIO_IR_ON */
GPIO33_GPIO
,
/* CORGI_GPIO_SD_PWR */
GPIO38_GPIO
,
/* CORGI_GPIO_CHRG_ON */
GPIO43_GPIO
,
/* CORGI_GPIO_CHRG_UKN */
GPIO44_GPIO
,
/* CORGI_GPIO_HSYNC */
GPIO9_GPIO
,
/* CORGI_GPIO_nSD_DETECT */
GPIO7_GPIO
,
/* CORGI_GPIO_nSD_WP */
GPIO11_GPIO
|
WAKEUP_ON_EDGE_BOTH
,
/* CORGI_GPIO_MAIN_BAT_{LOW,COVER} */
GPIO13_GPIO
|
MFP_LPM_KEEP_OUTPUT
,
/* CORGI_GPIO_LED_ORANGE */
GPIO21_GPIO
,
/* CORGI_GPIO_ADC_TEMP */
GPIO22_GPIO
,
/* CORGI_GPIO_IR_ON */
GPIO33_GPIO
,
/* CORGI_GPIO_SD_PWR */
GPIO38_GPIO
|
MFP_LPM_KEEP_OUTPUT
,
/* CORGI_GPIO_CHRG_ON */
GPIO43_GPIO
|
MFP_LPM_KEEP_OUTPUT
,
/* CORGI_GPIO_CHRG_UKN */
GPIO44_GPIO
,
/* CORGI_GPIO_HSYNC */
GPIO0_GPIO
|
WAKEUP_ON_EDGE_BOTH
,
/* CORGI_GPIO_KEY_INT */
GPIO1_GPIO
|
WAKEUP_ON_EDGE_RISE
,
/* CORGI_GPIO_AC_IN */
GPIO3_GPIO
|
WAKEUP_ON_EDGE_BOTH
,
/* CORGI_GPIO_WAKEUP */
};
/*
...
...
@@ -676,6 +679,15 @@ static void __init corgi_init(void)
pxa2xx_mfp_config
(
ARRAY_AND_SIZE
(
corgi_pin_config
));
/* allow wakeup from various GPIOs */
gpio_set_wake
(
CORGI_GPIO_KEY_INT
,
1
);
gpio_set_wake
(
CORGI_GPIO_WAKEUP
,
1
);
gpio_set_wake
(
CORGI_GPIO_AC_IN
,
1
);
gpio_set_wake
(
CORGI_GPIO_CHRG_FULL
,
1
);
if
(
!
machine_is_corgi
())
gpio_set_wake
(
CORGI_GPIO_MAIN_BAT_LOW
,
1
);
pxa_set_ffuart_info
(
NULL
);
pxa_set_btuart_info
(
NULL
);
pxa_set_stuart_info
(
NULL
);
...
...
arch/arm/mach-pxa/corgi_pm.c
View file @
cb432b35
...
...
@@ -77,45 +77,6 @@ static void corgi_discharge(int on)
static
void
corgi_presuspend
(
void
)
{
int
i
;
unsigned
long
wakeup_mask
;
/* charging , so CHARGE_ON bit is HIGH during OFF. */
if
(
READ_GPIO_BIT
(
CORGI_GPIO_CHRG_ON
))
PGSR1
|=
GPIO_bit
(
CORGI_GPIO_CHRG_ON
);
else
PGSR1
&=
~
GPIO_bit
(
CORGI_GPIO_CHRG_ON
);
if
(
READ_GPIO_BIT
(
CORGI_GPIO_LED_ORANGE
))
PGSR0
|=
GPIO_bit
(
CORGI_GPIO_LED_ORANGE
);
else
PGSR0
&=
~
GPIO_bit
(
CORGI_GPIO_LED_ORANGE
);
if
(
READ_GPIO_BIT
(
CORGI_GPIO_CHRG_UKN
))
PGSR1
|=
GPIO_bit
(
CORGI_GPIO_CHRG_UKN
);
else
PGSR1
&=
~
GPIO_bit
(
CORGI_GPIO_CHRG_UKN
);
/* Resume on keyboard power key */
PGSR2
=
(
PGSR2
&
~
CORGI_GPIO_ALL_STROBE_BIT
)
|
CORGI_GPIO_STROBE_BIT
(
0
);
wakeup_mask
=
GPIO_bit
(
CORGI_GPIO_KEY_INT
)
|
GPIO_bit
(
CORGI_GPIO_WAKEUP
)
|
GPIO_bit
(
CORGI_GPIO_AC_IN
)
|
GPIO_bit
(
CORGI_GPIO_CHRG_FULL
);
if
(
!
machine_is_corgi
())
wakeup_mask
|=
GPIO_bit
(
CORGI_GPIO_MAIN_BAT_LOW
);
PWER
=
wakeup_mask
|
PWER_RTC
;
PRER
=
wakeup_mask
;
PFER
=
wakeup_mask
;
for
(
i
=
0
;
i
<=
15
;
i
++
)
{
if
(
PRER
&
PFER
&
GPIO_bit
(
i
))
{
if
(
GPLR0
&
GPIO_bit
(
i
)
)
PRER
&=
~
GPIO_bit
(
i
);
else
PFER
&=
~
GPIO_bit
(
i
);
}
}
}
static
void
corgi_postsuspend
(
void
)
...
...
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