diff mbox series

rockchip: board: roc-pc-rk3399: Remove support for push button

Message ID 1585831950-17476-1-git-send-email-sunil@amarulasolutions.com
State Superseded
Headers show
Series rockchip: board: roc-pc-rk3399: Remove support for push button | expand

Commit Message

Suniel Mahesh April 2, 2020, 12:52 p.m. UTC
From: Suniel Mahesh <sunil at amarulasolutions.com>

In case of a power interruption, human intervention is required which
is not desirable if the device is installed at a remote location. Drop
yellow LED as it is not much of use. Keep red LED(diy-led) as it is, to
indicate board in full power mode.

Signed-off-by: Suniel Mahesh <sunil at amarulasolutions.com>
---
Note:
- patch tested on rk3399-roc-pc
- code related to button press is removed
---
 board/firefly/roc-pc-rk3399/roc-pc-rk3399.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

Comments

Kever Yang April 2, 2020, 1:02 p.m. UTC | #1
Hi Sunil, Jagan,

 ??? What suppose to be for LEDs status base on this patch and patch[0]?


Thanks,

- Kever

[0] https://patchwork.ozlabs.org/patch/1258094/ 
<https://patchwork.ozlabs.org/patch/1258094/>

On 2020/4/2 ??8:52, sunil at amarulasolutions.com wrote:
> From: Suniel Mahesh <sunil at amarulasolutions.com>
>
> In case of a power interruption, human intervention is required which
> is not desirable if the device is installed at a remote location. Drop
> yellow LED as it is not much of use. Keep red LED(diy-led) as it is, to
> indicate board in full power mode.
>
> Signed-off-by: Suniel Mahesh <sunil at amarulasolutions.com>
> ---
> Note:
> - patch tested on rk3399-roc-pc
> - code related to button press is removed
> ---
>   board/firefly/roc-pc-rk3399/roc-pc-rk3399.c | 16 +---------------
>   1 file changed, 1 insertion(+), 15 deletions(-)
>
> diff --git a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> index de9185a..0fe1914 100644
> --- a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> +++ b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> @@ -10,7 +10,6 @@
>   #include <spl_gpio.h>
>   #include <asm/io.h>
>   #include <asm/arch-rockchip/gpio.h>
> -#include <asm/arch-rockchip/grf_rk3399.h>
>   
>   #ifndef CONFIG_SPL_BUILD
>   int board_early_init_f(void)
> @@ -34,26 +33,13 @@ out:
>   
>   #if defined(CONFIG_TPL_BUILD)
>   
> -#define PMUGRF_BASE     0xff320000
>   #define GPIO0_BASE      0xff720000
>   
>   int board_early_init_f(void)
>   {
>   	struct rockchip_gpio_regs * const gpio0 = (void *)GPIO0_BASE;
> -	struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
>   
> -	/**
> -	 * 1. Glow yellow LED, termed as low power
> -	 * 2. Poll for on board power key press
> -	 * 3. Once 2 done, off yellow and glow red LED, termed as full power
> -	 * 4. Continue booting...
> -	 */
> -	spl_gpio_output(gpio0, GPIO(BANK_A, 2), 1);
> -
> -	spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_A, 5), GPIO_PULL_NORMAL);
> -	while (readl(&gpio0->ext_port) & 0x20);
> -
> -	spl_gpio_output(gpio0, GPIO(BANK_A, 2), 0);
> +	/* Turn on red LED, indicating full power mode */
>   	spl_gpio_output(gpio0, GPIO(BANK_B, 5), 1);
>   
>   	return 0;
Suniel Mahesh April 2, 2020, 2:46 p.m. UTC | #2
On Thu, Apr 2, 2020 at 6:32 PM Kever Yang <kever.yang at rock-chips.com> wrote:
>
> Hi Sunil, Jagan,
>
>     What suppose to be for LEDs status base on this patch and patch[0]?

The earlier patch with commit id and title below:
    5a6d3d1fbca70d7f528c685292d64c4cd0106aa6
    board: roc-pc-rk3399: Add support for onboard LED's and push
button to indicate power mode

introduced a scenario where, if the device is in a remote location and
rebooted, then human intervention
is required to press the Power key/push button.

The patch[0] is the fix for the reboot scenario.

But as pointed out by Markus Reichl, if there is a power
outage/interruption, still human intervention
is required to press the Power key/push button, and as result markus
suggested for a straight boot without
human intervention in all cases.
(http://lists.infradead.org/pipermail/linux-rockchip/2020-April/030224.html)

This patch does a straight boot without human intervention in all cases.

so, patch[0], patch[1], patch[2], patch[3] are not required.
patch[1]: https://patchwork.ozlabs.org/patch/1258095/
patch[2]: https://patchwork.ozlabs.org/patch/1258096/
patch[3]: https://patchwork.ozlabs.org/patch/1258097/

Thanks
Suniel
>
>
> Thanks,
>
> - Kever
>
> [0] https://patchwork.ozlabs.org/patch/1258094/
>
> On 2020/4/2 ??8:52, sunil at amarulasolutions.com wrote:
>
> From: Suniel Mahesh <sunil at amarulasolutions.com>
>
> In case of a power interruption, human intervention is required which
> is not desirable if the device is installed at a remote location. Drop
> yellow LED as it is not much of use. Keep red LED(diy-led) as it is, to
> indicate board in full power mode.
>
> Signed-off-by: Suniel Mahesh <sunil at amarulasolutions.com>
> ---
> Note:
> - patch tested on rk3399-roc-pc
> - code related to button press is removed
> ---
>  board/firefly/roc-pc-rk3399/roc-pc-rk3399.c | 16 +---------------
>  1 file changed, 1 insertion(+), 15 deletions(-)
>
> diff --git a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> index de9185a..0fe1914 100644
> --- a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> +++ b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> @@ -10,7 +10,6 @@
>  #include <spl_gpio.h>
>  #include <asm/io.h>
>  #include <asm/arch-rockchip/gpio.h>
> -#include <asm/arch-rockchip/grf_rk3399.h>
>
>  #ifndef CONFIG_SPL_BUILD
>  int board_early_init_f(void)
> @@ -34,26 +33,13 @@ out:
>
>  #if defined(CONFIG_TPL_BUILD)
>
> -#define PMUGRF_BASE     0xff320000
>  #define GPIO0_BASE      0xff720000
>
>  int board_early_init_f(void)
>  {
>   struct rockchip_gpio_regs * const gpio0 = (void *)GPIO0_BASE;
> - struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
>
> - /**
> - * 1. Glow yellow LED, termed as low power
> - * 2. Poll for on board power key press
> - * 3. Once 2 done, off yellow and glow red LED, termed as full power
> - * 4. Continue booting...
> - */
> - spl_gpio_output(gpio0, GPIO(BANK_A, 2), 1);
> -
> - spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_A, 5), GPIO_PULL_NORMAL);
> - while (readl(&gpio0->ext_port) & 0x20);
> -
> - spl_gpio_output(gpio0, GPIO(BANK_A, 2), 0);
> + /* Turn on red LED, indicating full power mode */
>   spl_gpio_output(gpio0, GPIO(BANK_B, 5), 1);
>
>   return 0;
Suniel Mahesh April 21, 2020, 4:28 p.m. UTC | #3
Hi Kever,

On Thu, Apr 2, 2020 at 8:16 PM Suniel Mahesh <sunil at amarulasolutions.com>
wrote:

> On Thu, Apr 2, 2020 at 6:32 PM Kever Yang <kever.yang at rock-chips.com>
> wrote:
> >
> > Hi Sunil, Jagan,
> >
> >     What suppose to be for LEDs status base on this patch and patch[0]?
>

May I know the reason why this patch was not included for 2020.04 release.
I already answered the query below.
Can you please let me know If you need any more changes.

Thanks
Suniel

>
> The earlier patch with commit id and title below:
>     5a6d3d1fbca70d7f528c685292d64c4cd0106aa6
>     board: roc-pc-rk3399: Add support for onboard LED's and push
> button to indicate power mode
>
> introduced a scenario where, if the device is in a remote location and
> rebooted, then human intervention
> is required to press the Power key/push button.
>
> The patch[0] is the fix for the reboot scenario.
>
> But as pointed out by Markus Reichl, if there is a power
> outage/interruption, still human intervention
> is required to press the Power key/push button, and as result markus
> suggested for a straight boot without
> human intervention in all cases.
> (
> http://lists.infradead.org/pipermail/linux-rockchip/2020-April/030224.html
> )
>
> This patch does a straight boot without human intervention in all cases.
>
> so, patch[0], patch[1], patch[2], patch[3] are not required.
> patch[1]: https://patchwork.ozlabs.org/patch/1258095/
> patch[2]: https://patchwork.ozlabs.org/patch/1258096/
> patch[3]: https://patchwork.ozlabs.org/patch/1258097/
>
> Thanks
> Suniel
> >
> >
> > Thanks,
> >
> > - Kever
> >
> > [0] https://patchwork.ozlabs.org/patch/1258094/
> >
> > On 2020/4/2 ??8:52, sunil at amarulasolutions.com wrote:
> >
> > From: Suniel Mahesh <sunil at amarulasolutions.com>
> >
> > In case of a power interruption, human intervention is required which
> > is not desirable if the device is installed at a remote location. Drop
> > yellow LED as it is not much of use. Keep red LED(diy-led) as it is, to
> > indicate board in full power mode.
> >
> > Signed-off-by: Suniel Mahesh <sunil at amarulasolutions.com>
> > ---
> > Note:
> > - patch tested on rk3399-roc-pc
> > - code related to button press is removed
> > ---
> >  board/firefly/roc-pc-rk3399/roc-pc-rk3399.c | 16 +---------------
> >  1 file changed, 1 insertion(+), 15 deletions(-)
> >
> > diff --git a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> > index de9185a..0fe1914 100644
> > --- a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> > +++ b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
> > @@ -10,7 +10,6 @@
> >  #include <spl_gpio.h>
> >  #include <asm/io.h>
> >  #include <asm/arch-rockchip/gpio.h>
> > -#include <asm/arch-rockchip/grf_rk3399.h>
> >
> >  #ifndef CONFIG_SPL_BUILD
> >  int board_early_init_f(void)
> > @@ -34,26 +33,13 @@ out:
> >
> >  #if defined(CONFIG_TPL_BUILD)
> >
> > -#define PMUGRF_BASE     0xff320000
> >  #define GPIO0_BASE      0xff720000
> >
> >  int board_early_init_f(void)
> >  {
> >   struct rockchip_gpio_regs * const gpio0 = (void *)GPIO0_BASE;
> > - struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
> >
> > - /**
> > - * 1. Glow yellow LED, termed as low power
> > - * 2. Poll for on board power key press
> > - * 3. Once 2 done, off yellow and glow red LED, termed as full power
> > - * 4. Continue booting...
> > - */
> > - spl_gpio_output(gpio0, GPIO(BANK_A, 2), 1);
> > -
> > - spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_A, 5), GPIO_PULL_NORMAL);
> > - while (readl(&gpio0->ext_port) & 0x20);
> > -
> > - spl_gpio_output(gpio0, GPIO(BANK_A, 2), 0);
> > + /* Turn on red LED, indicating full power mode */
> >   spl_gpio_output(gpio0, GPIO(BANK_B, 5), 1);
> >
> >   return 0;
>
diff mbox series

Patch

diff --git a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
index de9185a..0fe1914 100644
--- a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
+++ b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
@@ -10,7 +10,6 @@ 
 #include <spl_gpio.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/gpio.h>
-#include <asm/arch-rockchip/grf_rk3399.h>
 
 #ifndef CONFIG_SPL_BUILD
 int board_early_init_f(void)
@@ -34,26 +33,13 @@  out:
 
 #if defined(CONFIG_TPL_BUILD)
 
-#define PMUGRF_BASE     0xff320000
 #define GPIO0_BASE      0xff720000
 
 int board_early_init_f(void)
 {
 	struct rockchip_gpio_regs * const gpio0 = (void *)GPIO0_BASE;
-	struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
 
-	/**
-	 * 1. Glow yellow LED, termed as low power
-	 * 2. Poll for on board power key press
-	 * 3. Once 2 done, off yellow and glow red LED, termed as full power
-	 * 4. Continue booting...
-	 */
-	spl_gpio_output(gpio0, GPIO(BANK_A, 2), 1);
-
-	spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_A, 5), GPIO_PULL_NORMAL);
-	while (readl(&gpio0->ext_port) & 0x20);
-
-	spl_gpio_output(gpio0, GPIO(BANK_A, 2), 0);
+	/* Turn on red LED, indicating full power mode */
 	spl_gpio_output(gpio0, GPIO(BANK_B, 5), 1);
 
 	return 0;