From patchwork Thu Jun 18 15:39:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 1412 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 408103F03F for ; Thu, 18 Jun 2020 18:08:18 +0200 (CEST) Received: by mail-pj1-f70.google.com with SMTP id q38sf4339447pja.1 for ; Thu, 18 Jun 2020 09:08:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1592496497; cv=pass; d=google.com; s=arc-20160816; b=PX8BGuTsnk/qfz43neH4+r+PigN0RJldzxldY2tpAkBW8Ot1Axww+5b3Kaz80HMhkI 3G0D3yJ1n2lRqBKm5X5KTNLq/3Sw+c3Gx9pSpaC3CAwksvCOkRvpDdqXZUNL2LIkHq5Y xE70r/XbpmwDEwybjrkz3nRj1acQEJEnT2LHVm9IYeoLK2L8lDv4AyOEE+1tq2WTESjq pb4eIpnSy9tCbpI6ycjM5I/LjRQgKzPsSiW5LSJiXTkyA3y/ax6XHVTV9untUNSsyKBJ 3WPfc4CVd/BQwjjj7Y3GSTTb0/1IjGXfPgQUmlclzF3+qlIyl4OQSpgEF1XHiNqGZCrK rqSQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=wLaFcFqCsB6W9Yq3yiqn5fmL+ejzcsfe94FtqnXqU1I=; b=XG12tNn3lLH8PRjJP9zxrA6xpoAsKj3Q53q0EEwDmnxIhq9jWWMlcFFYnvblTsEgQ1 o0TJ6PkcGn2VokVeaIoIEHiX1BmKH+kIuvsdfVT0845ewooyNTeowHF9z9P8RRA1NXR4 D2M4ivSjFfU+hIR80RSLtmV1oxnFE5LrrQ9Jzlk0sXWcEadWgJz3cAXJdujdSimoAqv0 6T8Q0R1I+IFw4hUCZA+zYit33d/yNkGDBnIftqgqUJCmqxVVUAzo6Mx3MtmCeTD+QOZ2 nPmUC31vIYICQ3ZgJkT4VM3Dk0xWL6+D+iGgke4SvFfwnsm1qO1gdRMassuoRqFf+IyN nbBw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=W0hvtWN9; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=wLaFcFqCsB6W9Yq3yiqn5fmL+ejzcsfe94FtqnXqU1I=; b=cj3gTXDegBM6/IXg8pjTJbc+fJnYPcPSW1/9jdqRpiTBmPI+lKAOFWXmPl62vW8AVm wxJErOFu9W4T1o42hWffWRDtcTZMxS9kPMCyqBmJWYqp0vBBJge+1K/Sf+eWOQmCxjBG o95N8P/qNyVq2UoUapLcAi2Wjt8KtA1fRd3x8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-unsubscribe; bh=wLaFcFqCsB6W9Yq3yiqn5fmL+ejzcsfe94FtqnXqU1I=; b=p+26H0lrLuBQxxLafSzaZ0hPqI94ToFym4dHZ84HFcHGGKOeSiNxFc9gagnddrGNXH 0xZTkg0FbTk3QjVzWyk3gP0wq1YrE6qlw6+VapNFCU1ZsLM+fceD2CqHpfTBTzIhBhcP tzIV1tRWZbkoYqc9EiYPKhQEOIKKFvv+sFcM6nDWLBc2VQq5Vi4u0fHbF3hFoA9SGynh bhBOkRNMq5/Yr1yqRkL52CjHjytgKloO13NiRNkAxblLAZPIJX2IPMQEdo8lfCPiw9ny IsipURyQ8nygU6XXct34+WEyU/Prs26VJJrUL+33Lz1f6XeuxfzrwvQpRMqj3DlACf4p oHpA== X-Gm-Message-State: AOAM53096Th25bCbX/ApGS3Y2/oY9RLVoa1FanTRw70q6TQm1R3jyx5y OXVi2NwwYhFQI/cBYLa6OE7s9oeq X-Google-Smtp-Source: ABdhPJx/p3yUNdB9CSH63f1PBIaqSwfbjJmlnj+0W0kc9rx/wp3ofvPkqPa8wS/qlKZaUN1/xtO5TQ== X-Received: by 2002:a63:7353:: with SMTP id d19mr4043261pgn.239.1592496497048; Thu, 18 Jun 2020 09:08:17 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:90a:7143:: with SMTP id g3ls2583839pjs.1.gmail; Thu, 18 Jun 2020 09:08:16 -0700 (PDT) X-Received: by 2002:a17:90a:1ac3:: with SMTP id p61mr5203674pjp.23.1592496496555; Thu, 18 Jun 2020 09:08:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592496496; cv=none; d=google.com; s=arc-20160816; b=sqeVQKGV0TkHZklY7bvLq5ZCKFqsn3Nxc54z+COwjEx4mWqef1lg3Gg01exObrPmz+ qXTSa4JPVGuYfvPbaN1RPz0Q6yKTBC9pgORyBwEpqnmnRtKHf0/vJZKI1pEm3gbGg14I NgjfR1+4sLiKUfjUuyjhsILbjyY3XTQRLqAjRRe32MveRc7FfH/4QXSWg/YdTCNhDtbH TYTABQ2z/WSw4xr0YPvPfo2N3LdVEsHRvoeXGxXs0FWBVVsxT0kKSwOhvdoT4z/SO9jH BFjg3i3hzvp9ykk433//ttq8I+NyuHZpDPB/wQrhEgpFIWZyGjMDq5Gfc8JR0xwtjmV9 5jOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=mNYUanoA/LbUwSUYp2wZmC9gOha0WbAjao5ZgQikr2M=; b=zelqkaAuTerMrGgui9eLojLmI3IBZmFSpujcAEfF20SDwyovZWkvptspVxneXngcRW FsxrjgavVajco6uBGlxvt1/dLkvrBsqlgwSpBJnnLePWiKIBVnKkHQNjgdpitWtFYbLF 8IZ++YRkKpet4p2MkeuyVtPze25G9qWCvnDIZckDQCKrhC2gwY3iMEXCumhwIojm0e0+ O5imJe8D8ZPrn+NHpQZvi1OHXexCleee929UC+aluck8K79UBePPuXdWAZNw8xSmCQmI 5xPGiOCgjnCMhxv0Oo8No0S/sqlrWIeBWmXtKt/EiRKjIyQFVATyf74vN1yNaHM1OeFy 61mg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=W0hvtWN9; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id s1sor4148008pjz.0.2020.06.18.09.08.16 for (Google Transport Security); Thu, 18 Jun 2020 09:08:16 -0700 (PDT) Received-SPF: pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; X-Received: by 2002:a17:90b:1013:: with SMTP id gm19mr5002759pjb.231.1592496496134; Thu, 18 Jun 2020 09:08:16 -0700 (PDT) Received: from localhost.localdomain ([2405:201:c809:c7d5:b0c7:f192:869b:df87]) by smtp.gmail.com with ESMTPSA id u4sm3264943pfl.102.2020.06.18.09.08.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2020 09:08:15 -0700 (PDT) From: Jagan Teki To: Kever Yang , Philipp Tomsich , Simon Glass Cc: Suniel Mahesh , U-Boot-Denx , linux-rockchip@lists.infradead.org, linux-amarula , Jagan Teki Subject: [PATCH v4 5/5] roc-rk3399-pc: Set LED only during POR and pwr_key=y Date: Thu, 18 Jun 2020 21:09:48 +0530 Message-Id: <20200618153948.218506-6-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618153948.218506-1-jagan@amarulasolutions.com> References: <20200618153948.218506-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: jagan@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=W0hvtWN9; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , ROC-RK3399-PC has specific set of configurations for on-board led setup. Due to easiness for user to know the state of the board roc-rk339-pc board code will setup the low power led on/off, and waiting for user to press power key and then glow full power led. All this needs to happen only during power-on-reset not for soft reset or WDT. Also, it is not a proper usage to ask the user to press the Power key if the board connected remotely, so add the environment variable 'pwr_key' to check as well. So, user need to press Power key only - during POR - pwr_key=y Tested-by: Suniel Mahesh Signed-off-by: Jagan Teki --- Changes for v4: - none board/firefly/roc-pc-rk3399/spl.c | 35 ++++++++++++++++++++++- configs/roc-pc-mezzanine-rk3399_defconfig | 4 ++- configs/roc-pc-rk3399_defconfig | 4 ++- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/board/firefly/roc-pc-rk3399/spl.c b/board/firefly/roc-pc-rk3399/spl.c index a7664c6b86..771a7fb2f2 100644 --- a/board/firefly/roc-pc-rk3399/spl.c +++ b/board/firefly/roc-pc-rk3399/spl.c @@ -4,16 +4,49 @@ */ #include +#include #include +#include +#include #include +#include +#define PMUGRF_BASE 0xff320000 #define GPIO0_BASE 0xff720000 +/** + * LED setup for roc-rk3399-pc + * + * 1. Set the low power leds (only during POR, pwr_key env is 'y') + * glow yellow LED, termed as low power + * poll for on board power key press + * once powe key pressed, turn off yellow + * 2. Turn on red LED, indicating full power mode + */ static void led_setup(void) { struct rockchip_gpio_regs * const gpio0 = (void *)GPIO0_BASE; + struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE; + bool press_pwr_key = false; + + if (IS_ENABLED(CONFIG_SPL_ENV_SUPPORT)) { + env_init(); + env_load(); + if (env_get_yesno("pwr_key") == 1) + press_pwr_key = true; + } + + if (press_pwr_key && !strcmp(get_reset_cause(), "POR")) { + 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); } diff --git a/configs/roc-pc-mezzanine-rk3399_defconfig b/configs/roc-pc-mezzanine-rk3399_defconfig index 060b4bfecf..7ca9fd0906 100644 --- a/configs/roc-pc-mezzanine-rk3399_defconfig +++ b/configs/roc-pc-mezzanine-rk3399_defconfig @@ -18,7 +18,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-roc-pc-mezzanine.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set CONFIG_SPL_STACK_R=y -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x20000 +CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_SPI_LOAD=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -33,6 +34,7 @@ CONFIG_DEFAULT_DEVICE_TREE="rk3399-roc-pc-mezzanine" CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y CONFIG_MISC=y diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig index 9897a52cd8..440c1ab303 100644 --- a/configs/roc-pc-rk3399_defconfig +++ b/configs/roc-pc-rk3399_defconfig @@ -18,7 +18,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-roc-pc.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set CONFIG_SPL_STACK_R=y -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x20000 +CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_SPI_LOAD=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -32,6 +33,7 @@ CONFIG_DEFAULT_DEVICE_TREE="rk3399-roc-pc" CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y CONFIG_MISC=y