summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPortisch <hugo.portisch@yahoo.de>2018-10-24 11:28:08 +0300
committerDongjin Kim <tobetter@gmail.com>2020-02-13 11:13:40 +0300
commit45a984a34828143ba318330f1fb40d46e5204ca9 (patch)
treeb10faa50a2c8833ba85540b0ddbf8c7e2e659f69
parent2d34133d371a6560d63375f80db9968d2da3dd42 (diff)
downloadu-boot-45a984a34828143ba318330f1fb40d46e5204ca9.tar.xz
gxb/gxl/gxm: do not turn off hdmi power on suspend
Change-Id: Id62166a7666c95b8675544b162b0bbc25ff22e92
-rwxr-xr-x[-rw-r--r--]arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.c2
-rwxr-xr-x[-rw-r--r--]arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.h2
-rwxr-xr-x[-rw-r--r--]arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.c2
-rwxr-xr-x[-rw-r--r--]arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.h2
-rwxr-xr-xboard/amlogic/gxb_p200_v1/firmware/scp_task/pwr_ctrl.c2
-rwxr-xr-xboard/amlogic/gxb_p201_v1/firmware/scp_task/pwr_ctrl.c2
-rwxr-xr-xboard/amlogic/gxb_skt_v1/firmware/scp_task/pwr_ctrl.c2
-rwxr-xr-xboard/amlogic/gxl_p212_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxl_p241_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxl_p271_v1/firmware/scp_task/pwr_ctrl.c13
-rwxr-xr-xboard/amlogic/gxl_p281_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxl_p400_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxl_p401_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxl_skt_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxm_q200_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxm_q201_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/amlogic/gxm_skt_v1/firmware/scp_task/pwr_ctrl.c6
-rwxr-xr-xboard/hardkernel/odroidc2/firmware/scp_task/pwr_ctrl.c2
18 files changed, 55 insertions, 28 deletions
diff --git a/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.c b/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.c
index 86ef515e62..0c3ee2842b 100644..100755
--- a/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.c
+++ b/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.c
@@ -85,7 +85,7 @@ void enter_suspend(unsigned int suspend_from)
uart_put_hex(hdmi_cec_func_config, 16);
uart_puts("\n");
#endif
- p_pwr_op->power_off_at_clk81();
+ p_pwr_op->power_off_at_clk81(suspend_from);
p_pwr_op->power_off_at_24M();
switch_to_32k();
diff --git a/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.h b/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.h
index 0aa4ed1449..08053b7b3e 100644..100755
--- a/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.h
+++ b/arch/arm/cpu/armv8/gxb/firmware/scp_task/suspend.h
@@ -24,7 +24,7 @@
#define CEC_WAKEUP_SRC (1<<8)
struct pwr_op {
- void (*power_off_at_clk81)(void);
+ void (*power_off_at_clk81)(unsigned int);
void (*power_on_at_clk81)(void);
void (*power_off_at_24M)(void);
diff --git a/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.c b/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.c
index 3032c3fbfa..8e18716a21 100644..100755
--- a/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.c
+++ b/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.c
@@ -75,7 +75,7 @@ void enter_suspend(unsigned int suspend_from)
uart_put_hex(hdmi_cec_func_config, 16);
uart_puts("\n");
#endif
- p_pwr_op->power_off_at_clk81();
+ p_pwr_op->power_off_at_clk81(suspend_from);
p_pwr_op->power_off_at_24M();
gxbb_com_gate_off();
diff --git a/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.h b/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.h
index d0a9eef069..65b45fa12a 100644..100755
--- a/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.h
+++ b/arch/arm/cpu/armv8/gxl/firmware/scp_task/suspend.h
@@ -26,7 +26,7 @@
#define ETH_PHY_WAKEUP_SRC (1<<9)
struct pwr_op {
- void (*power_off_at_clk81)(void);
+ void (*power_off_at_clk81)(unsigned int);
void (*power_on_at_clk81)(void);
void (*power_off_at_24M)(void);
diff --git a/board/amlogic/gxb_p200_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxb_p200_v1/firmware/scp_task/pwr_ctrl.c
index f266c649ab..de9f283f70 100755
--- a/board/amlogic/gxb_p200_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxb_p200_v1/firmware/scp_task/pwr_ctrl.c
@@ -85,7 +85,7 @@ static void power_on_vcck(void)
aml_update_bits(AO_GPIO_O_EN_N, 1<<20, 1<<20);
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
power_off_3v3();
power_off_vcck();
diff --git a/board/amlogic/gxb_p201_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxb_p201_v1/firmware/scp_task/pwr_ctrl.c
index 0297cb240b..4437699b8d 100755
--- a/board/amlogic/gxb_p201_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxb_p201_v1/firmware/scp_task/pwr_ctrl.c
@@ -84,7 +84,7 @@ static void power_on_vcck(void)
aml_update_bits(AO_GPIO_O_EN_N, 1<<20, 1<<20);
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
power_off_3v3();
power_off_vcck();
diff --git a/board/amlogic/gxb_skt_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxb_skt_v1/firmware/scp_task/pwr_ctrl.c
index f3fc3f7931..6efdf5a5c5 100755
--- a/board/amlogic/gxb_skt_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxb_skt_v1/firmware/scp_task/pwr_ctrl.c
@@ -85,7 +85,7 @@ static void power_on_vcck(void)
aml_update_bits(AO_GPIO_O_EN_N, 1<<20, 1<<20);
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
power_off_3v3();
power_off_vcck();
diff --git a/board/amlogic/gxl_p212_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxl_p212_v1/firmware/scp_task/pwr_ctrl.c
index 1079a20c15..d3f180aa65 100755
--- a/board/amlogic/gxl_p212_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxl_p212_v1/firmware/scp_task/pwr_ctrl.c
@@ -95,9 +95,11 @@ static void power_off_at_mcu(unsigned int shutdown)
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE);
/* reduce power */
diff --git a/board/amlogic/gxl_p241_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxl_p241_v1/firmware/scp_task/pwr_ctrl.c
index 55a460b97a..632666a19b 100755
--- a/board/amlogic/gxl_p241_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxl_p241_v1/firmware/scp_task/pwr_ctrl.c
@@ -98,9 +98,11 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE);
/* reduce power */
diff --git a/board/amlogic/gxl_p271_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxl_p271_v1/firmware/scp_task/pwr_ctrl.c
index cb4a438880..eb4c931d74 100755
--- a/board/amlogic/gxl_p271_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxl_p271_v1/firmware/scp_task/pwr_ctrl.c
@@ -90,9 +90,18 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_mcu(unsigned int shutdown)
{
- hdmi_5v_ctrl(OFF);
+ if(shutdown == SYS_POWEROFF) {
+ aml_update_bits(PREG_PAD_GPIO3_EN_N, 1 << 14, 0);
+ aml_update_bits(PREG_PAD_GPIO3_O, 1 << 14, 1 << 14);
+ }
+}
+static void power_off_at_clk81(unsigned int suspend_from)
+{
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE);
/* reduce power */
diff --git a/board/amlogic/gxl_p281_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxl_p281_v1/firmware/scp_task/pwr_ctrl.c
index 0e0dc0df55..8d058c968f 100755
--- a/board/amlogic/gxl_p281_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxl_p281_v1/firmware/scp_task/pwr_ctrl.c
@@ -97,9 +97,11 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE);
/* reduce power */
diff --git a/board/amlogic/gxl_p400_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxl_p400_v1/firmware/scp_task/pwr_ctrl.c
index 53898c4123..1a38e09070 100755
--- a/board/amlogic/gxl_p400_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxl_p400_v1/firmware/scp_task/pwr_ctrl.c
@@ -116,9 +116,11 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE); // reduce power
}
diff --git a/board/amlogic/gxl_p401_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxl_p401_v1/firmware/scp_task/pwr_ctrl.c
index 53898c4123..1a38e09070 100755
--- a/board/amlogic/gxl_p401_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxl_p401_v1/firmware/scp_task/pwr_ctrl.c
@@ -116,9 +116,11 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE); // reduce power
}
diff --git a/board/amlogic/gxl_skt_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxl_skt_v1/firmware/scp_task/pwr_ctrl.c
index 36c0a25aee..5d3e43fcfd 100755
--- a/board/amlogic/gxl_skt_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxl_skt_v1/firmware/scp_task/pwr_ctrl.c
@@ -93,9 +93,11 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_d, CONFIG_VDDEE_SLEEP_VOLTAGE); // reduce power
}
diff --git a/board/amlogic/gxm_q200_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxm_q200_v1/firmware/scp_task/pwr_ctrl.c
index 963bceef8b..cc49ff4b31 100755
--- a/board/amlogic/gxm_q200_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxm_q200_v1/firmware/scp_task/pwr_ctrl.c
@@ -116,9 +116,11 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE); // reduce power
}
diff --git a/board/amlogic/gxm_q201_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxm_q201_v1/firmware/scp_task/pwr_ctrl.c
index aa82781987..9ed77f89e9 100755
--- a/board/amlogic/gxm_q201_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxm_q201_v1/firmware/scp_task/pwr_ctrl.c
@@ -116,9 +116,11 @@ static void vcck_ctrl(unsigned int ctrl)
}
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE); // reduce power
}
diff --git a/board/amlogic/gxm_skt_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/gxm_skt_v1/firmware/scp_task/pwr_ctrl.c
index 69bdb39f9a..6641bf2f4d 100755
--- a/board/amlogic/gxm_skt_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/gxm_skt_v1/firmware/scp_task/pwr_ctrl.c
@@ -115,9 +115,11 @@ static void power_off_at_mcu(unsigned int shutdown)
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
- hdmi_5v_ctrl(OFF);
+ if(suspend_from == SYS_POWEROFF) {
+ hdmi_5v_ctrl(OFF);
+ }
vcck_ctrl(OFF);
pwm_set_voltage(pwm_b, CONFIG_VDDEE_SLEEP_VOLTAGE); // reduce power
}
diff --git a/board/hardkernel/odroidc2/firmware/scp_task/pwr_ctrl.c b/board/hardkernel/odroidc2/firmware/scp_task/pwr_ctrl.c
index 56b45e1978..224e05b1ff 100755
--- a/board/hardkernel/odroidc2/firmware/scp_task/pwr_ctrl.c
+++ b/board/hardkernel/odroidc2/firmware/scp_task/pwr_ctrl.c
@@ -85,7 +85,7 @@ static void power_on_vcck(void)
aml_update_bits(AO_GPIO_O_EN_N, 1<<20, 1<<20);
}
-static void power_off_at_clk81(void)
+static void power_off_at_clk81(unsigned int suspend_from)
{
power_off_3v3();
power_off_vcck();