{"id":812931,"url":"http://patchwork.ozlabs.org/api/patches/812931/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/1505230666-14290-9-git-send-email-philipp.tomsich@theobroma-systems.com/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1505230666-14290-9-git-send-email-philipp.tomsich@theobroma-systems.com>","list_archive_url":null,"date":"2017-09-12T15:37:44","name":"[U-Boot,RESEND,08/10] rockchip: rk3399-puma: add boot-on regulator to override BIOS_DISABLE","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"ad09199be3b5c72f37e4314271b7ba8894c07e84","submitter":{"id":53488,"url":"http://patchwork.ozlabs.org/api/people/53488/?format=json","name":"Philipp Tomsich","email":"philipp.tomsich@theobroma-systems.com"},"delegate":{"id":69486,"url":"http://patchwork.ozlabs.org/api/users/69486/?format=json","username":"ptomsich","first_name":"Philipp","last_name":"Tomsich","email":"philipp.tomsich@theobroma-systems.com"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/1505230666-14290-9-git-send-email-philipp.tomsich@theobroma-systems.com/mbox/","series":[{"id":2729,"url":"http://patchwork.ozlabs.org/api/series/2729/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=2729","date":"2017-09-12T15:37:37","name":"rockchip: puma-rk3399: support 'same-as-spl' for boot-order and always power-up eMMC/SPI","version":1,"mbox":"http://patchwork.ozlabs.org/series/2729/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/812931/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/812931/checks/","tags":{},"related":[],"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xs8GV0lkGz9s82\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 01:43:46 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid E1C67C2217E; Tue, 12 Sep 2017 15:39:21 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 1AD90C2224D;\n\tTue, 12 Sep 2017 15:38:15 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 9EAF0C2224C; Tue, 12 Sep 2017 15:38:00 +0000 (UTC)","from mail.theobroma-systems.com (vegas.theobroma-systems.com\n\t[144.76.126.164])\n\tby lists.denx.de (Postfix) with ESMTPS id 7E70EC221A4\n\tfor <u-boot@lists.denx.de>; Tue, 12 Sep 2017 15:37:56 +0000 (UTC)","from [86.59.122.178] (port=59704 helo=android.lan)\n\tby mail.theobroma-systems.com with esmtpsa\n\t(TLS1.2:RSA_AES_128_CBC_SHA256:128)\n\t(Exim 4.80) (envelope-from <philipp.tomsich@theobroma-systems.com>)\n\tid 1drnG6-0007is-Vh; Tue, 12 Sep 2017 17:37:55 +0200"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=0.0 required=5.0 tests=none autolearn=unavailable\n\tautolearn_force=no version=3.4.0","From":"Philipp Tomsich <philipp.tomsich@theobroma-systems.com>","To":"u-boot@lists.denx.de","Date":"Tue, 12 Sep 2017 17:37:44 +0200","Message-Id":"<1505230666-14290-9-git-send-email-philipp.tomsich@theobroma-systems.com>","X-Mailer":"git-send-email 2.1.4","In-Reply-To":"<1505230666-14290-1-git-send-email-philipp.tomsich@theobroma-systems.com>","References":"<1505230666-14290-1-git-send-email-philipp.tomsich@theobroma-systems.com>","Cc":"Albert Aribaud <albert.u.boot@aribaud.net>,\n\tKlaus Goger <klaus.goger@theobroma-systems.com>","Subject":"[U-Boot] [RESEND PATCH 08/10] rockchip: rk3399-puma: add boot-on\n\tregulator to override BIOS_DISABLE","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"},"content":"The (Qseven) BIOS_DISABLE signal on the RK3399-Q7 (Puma) keeps the\neMMC and SPI in reset initially and we need to write a GPIO to turn\nthem on before continuing the boot-up.\n\nThis adds the DTS entries for the additional regulator and makes\npinctrl and gpio3 available during SPL.  It also adds a hook to the\nspl_board_init() to ensure that the regulator gets probed and enabled.\n\nSigned-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>\n---\n\n arch/arm/dts/rk3399-puma.dtsi                     | 23 +++++++++++++++++++++++\n board/theobroma-systems/puma_rk3399/puma-rk3399.c | 10 ++++++++++\n 2 files changed, 33 insertions(+)","diff":"diff --git a/arch/arm/dts/rk3399-puma.dtsi b/arch/arm/dts/rk3399-puma.dtsi\nindex edb9424..85e00ec 100644\n--- a/arch/arm/dts/rk3399-puma.dtsi\n+++ b/arch/arm/dts/rk3399-puma.dtsi\n@@ -90,6 +90,24 @@\n \t\t};\n \t};\n \n+\t/*\n+\t * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module\n+\t * eMMC and SPI flash powered-down initially (in fact it keeps the\n+\t * reset signal asserted).  Even though it is an enable signal, we\n+\t * model this as a regulator.\n+\t */\n+\tbios_enable: bios_enable {\n+\t\tcompatible = \"regulator-fixed\";\n+\t\tu-boot,dm-pre-reloc;\n+\t\tregulator-name = \"bios_enable\";\n+\t\tenable-active-low;\n+\t\tgpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;\n+\t\tregulator-always-on;\n+\t\tregulator-boot-on;\n+\t\tregulator-min-microvolt = <1800000>;\n+\t\tregulator-max-microvolt = <1800000>;\n+\t};\n+\n \tvccadc_ref: vccadc-ref {\n \t\tcompatible = \"regulator-fixed\";\n \t\tregulator-name = \"vcc1v8_sys\";\n@@ -523,10 +541,15 @@\n \tstatus = \"okay\";\n };\n \n+&gpio3 {\n+       u-boot,dm-pre-reloc;\n+};\n+\n &pinctrl {\n \t/* Pins that are not explicitely used by any devices */\n \tpinctrl-names = \"default\";\n \tpinctrl-0 = <&puma_pin_hog>;\n+\n \thog {\n \t\tpuma_pin_hog: puma_pin_hog {\n \t\t\trockchip,pins =\ndiff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c\nindex cc572b5..b49fa66 100644\n--- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c\n+++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c\n@@ -34,6 +34,16 @@ int board_init(void)\n \n void spl_board_init(void)\n {\n+\tint  ret;\n+\n+\t/*\n+\t * Turning the eMMC and SPI back on (if disabled via the Qseven\n+\t * BIOS_ENABLE) signal is done through a always-on regulator).\n+\t */\n+\tret = regulators_enable_boot_on(false);\n+\tif (ret)\n+\t\tdebug(\"%s: Cannot enable boot on regulator\\n\", __func__);\n+\n \tpreloader_console_init();\n \treturn;\n }\n","prefixes":["U-Boot","RESEND","08/10"]}