EXYNOS: Add API for power reset and shutdown
Subsystems (2)
PATCH 1/1 EXYNOS: Add API for power reset and shutdown
This patch adds API's to reset and shutdown the power of EXYNOS boardspower_shutdown: powers off the board by deasserting PS_HOLD pin.power_reset: this function software resets the Exynos board when called.
--- arch/arm/cpu/armv7/exynos/power.c | 31 ++++++++++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/power.h | 10 +++++++++ 2 files changed, 41 insertions(+), 0 deletions(-)
arch/arm/cpu/armv7/exynos/power.c +31 -0
@@ -113,6 +113,25 @@ void set_ps_hold_ctrl(void) } +void exynos5_power_shutdown (void ) +{ +struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power (); + +clrbits_le32 (&power->ps_hold_control,EXYNOS_PS_HOLD_CONTROL_DATA_HIGH ); +} + +void exynos5_power_reset (void ) +{ +struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power (); + +/* Clear inform1 so there's no change we think we've got a wake reset */ + power->inform1 =0 ; + +setbits_le32 (&power->swreset,1 ); +} +static void exynos5_set_xclkout (void ) { struct exynos5_power *power =
@@ -140,3 +159,15 @@ void set_hw_thermal_trip(void)setbits_le32 (&power->ps_hold_control,POWER_ENABLE_HW_TRIP ); } } + +void power_shutdown (void ) +{ +if (cpu_is_exynos5 ()) +exynos5_power_shutdown (); +} + +void power_reset (void ) +{ +if (cpu_is_exynos5 ()) +exynos5_power_reset (); +}
arch/arm/include/asm/arch-exynos/power.h +10 -0
@@ -888,4 +888,14 @@ void set_ps_hold_ctrl(void);* source as XXTI */ void set_xclkout (void ); + +/* +* Power off the system; it should never return. +*/ +void power_shutdown (void ); + +/* +* Perform a software reset. +*/ +void power_reset (void );#endif
Signature · 1 line
1.7.4.4
PATCH 1/1 EXYNOS: Add API for power reset and shutdown
Dear Rajeshwari Shinde,
Quoted 17 lines · Rajeshwari Shinde
This patch adds API's to reset and shutdown the power of EXYNOS boards
power_shutdown: powers off the board by deassertingPS_HOLDpin.power_reset: this function software resets the Exynos board when called.Signed-off-by Che-Liang Chiou <[email protected]>Signed-off-by Rajeshwari Shinde <[email protected]>--- arch/arm/cpu/armv7/exynos/power.c | 31 ++++++++++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/power.h | 10 +++++++++ 2 files changed, 41 insertions(+), 0 deletions(-)arch/arm/cpu/armv7/exynos/power.c +0
-0
arch/arm/cpu/armv7/exynos/power.c void set_ps_hold_ctrl(void) · line 114
Quoted 2 lines
arch/arm/cpu/armv7/exynos/power.c +0
-0@@ -113,6 +113,25 @@ void set_ps_hold_ctrl(void) }
I know that is not related your patch.
But, please remove blank line.
arch/arm/cpu/armv7/exynos/power.c void set_ps_hold_ctrl(void) · line 122
Quoted 8 lines
arch/arm/cpu/armv7/exynos/power.c +7
-0+void exynos5_power_shutdown (void ) +{ +struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power (); + +clrbits_le32 (&power->ps_hold_control,EXYNOS_PS_HOLD_CONTROL_DATA_HIGH ); +}
This function is same purpose with set_ps_hold_ctrl. So please, add it to set_ps_hold_ctrl.
Quoted 17 lines
arch/arm/cpu/armv7/exynos/power.c +12
-0+ +void exynos5_power_reset (void ) +{ +struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power (); + +/* Clear inform1 so there's no change we think we've got a wake reset */ + power->inform1 =0 ; + +setbits_le32 (&power->swreset,1 ); +} +static void exynos5_set_xclkout (void ) { struct exynos5_power *power =@@ -140,3 +159,15 @@ void set_hw_thermal_trip(void)setbits_le32 (&power->ps_hold_control,POWER_ENABLE_HW_TRIP );
arch/arm/cpu/armv7/exynos/power.c void set_hw_thermal_trip(void) · line 169
Quoted 10 lines
arch/arm/cpu/armv7/exynos/power.c +8
-0} } + +void power_shutdown (void ) +{ +if (cpu_is_exynos5 ()) +exynos5_power_shutdown (); +} + +void power_reset (void )
swreset?
arch/arm/cpu/armv7/exynos/power.c void set_hw_thermal_trip(void) · line 173
Quoted 4 lines
arch/arm/cpu/armv7/exynos/power.c +4
-0+{ +if (cpu_is_exynos5 ()) +exynos5_power_reset (); +}
please move this function under the exynos5_power_reset. or move exynos5_power_reset to here.
Quoted 7 lines
arch/arm/include/asm/arch-exynos/power.h +0
-0@@ -888,4 +888,14 @@ void set_ps_hold_ctrl(void);* source as XXTI */
arch/arm/include/asm/arch-exynos/power.h void set_ps_hold_ctrl(void); · line 899
Quoted 10 lines
arch/arm/include/asm/arch-exynos/power.h +9
-0void set_xclkout (void ); + +/* +* Power off the system; it should never return. +*/ +void power_shutdown (void ); + +/* +* Perform a software reset. +*/
please check comment rule.
One line comment should be.. /* .... */
arch/arm/include/asm/arch-exynos/power.h void set_ps_hold_ctrl(void); · line 901
Quoted 3 lines
arch/arm/include/asm/arch-exynos/power.h +1
-0+void power_reset (void );#endif
Thanks,
Minkyu Kang.