From patchwork Sat Jun 8 21:27:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Matwey V. Kornilov" X-Patchwork-Id: 1112552 X-Patchwork-Delegate: ykai007@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="j5Hxa2nt"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45LswC5tDcz9s6w for ; Sun, 9 Jun 2019 07:28:59 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 61FC3C21F7A; Sat, 8 Jun 2019 21:28:02 +0000 (UTC) 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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 17A04C21F20; Sat, 8 Jun 2019 21:27:48 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3EE97C21E9F; Sat, 8 Jun 2019 21:27:46 +0000 (UTC) Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by lists.denx.de (Postfix) with ESMTPS id AF96EC21EC9 for ; Sat, 8 Jun 2019 21:27:45 +0000 (UTC) Received: by mail-lf1-f66.google.com with SMTP id b11so4081319lfa.5 for ; Sat, 08 Jun 2019 14:27:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=PsoIFTi9wnmqOTIWQwOPO6AdEtnOPVVLfjp+UIMrTGI=; b=j5Hxa2ntmqMYP8ofmqi+3+4+IU4eMfO3VqA/WtgHkTEeWel1cJOHyQqTolvFSMYXwQ 37Tk2zeoO1FpWFiVtVlXYjAm1DTNjtpgKBTlkKwf2qVo6YIy97d3xhARWf0P1CRfk8Pm XNnpClca+M+mSCYxw3crSfNoRgOkresEYV0BvoE+LSYftG33S/ZG0jy3jPKFbbJhRuny Zf6syCdJydmH5no3qLJfgEv4ybV0CnVlVJjDw8a1scojWQ6rioHVwId6hSlTqmFEJI7I zAE3NfxsBckJBy9PLkLgkbc9cor6OvqazTZLzi9iOouYiy06vz0nkmPUlp3kQsAffox+ 2mqQ== 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:in-reply-to:references; bh=PsoIFTi9wnmqOTIWQwOPO6AdEtnOPVVLfjp+UIMrTGI=; b=IRQz5fxvfkwX42PaG/mIwhWYZOt/cGuZVIljQZIJkgy2RVlYHJBz8fqS62h66KA54K 1vPiZhdYMHePF/9Ox7sAZkx0AqF10cfz9weRilVHhuBkRslLiGAzV5KofzQawZzVGZCi 8uzmCaT7Z7h+Sm8b7kb094FkJH12+Agx5rfyHv13Z+2YCZFLcmAG+Dd8PSsPMLiuBzjj XI7JM4cLqP1cQC40zzaNDtF3AAuj6fABd0GyawKOstmc/pYTr0tiH0QLQJtDnDN/8CjB Pqm0FUlaQEbalAJf2UCTG2LLiyVktXiiVd8vHEm+pnRz1/3qCi7tA813FdMiAytVpL// PYKA== X-Gm-Message-State: APjAAAXnWassNZYOqh3cjk1JO0EBAIal/JQ5JjyyFYv3XY8HRmiYPKmr g66tqMWHdtDkK22Y0sy4yb4= X-Google-Smtp-Source: APXvYqypA/lwKKt8rk3G03YdifUBbP+x0aFT1iS0fB+Z4Aw3OXJBpaSy+KRdSOBtckEuZEFX1ZgMgg== X-Received: by 2002:a19:9e4b:: with SMTP id h72mr4261255lfe.21.1560029264967; Sat, 08 Jun 2019 14:27:44 -0700 (PDT) Received: from oak.local ([92.243.181.209]) by smtp.gmail.com with ESMTPSA id l29sm1125236lfp.83.2019.06.08.14.27.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 08 Jun 2019 14:27:44 -0700 (PDT) From: "Matwey V. Kornilov" To: sjg@chromium.org, philipp.tomsich@theobroma-systems.com, kever.yang@rock-chips.com Date: Sun, 9 Jun 2019 00:27:13 +0300 Message-Id: <20190608212718.9168-2-matwey.kornilov@gmail.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190608212718.9168-1-matwey.kornilov@gmail.com> References: <20190601144736.8580-1-matwey.kornilov@gmail.com> <20190608212718.9168-1-matwey.kornilov@gmail.com> In-Reply-To: <20190601144736.8580-1-matwey.kornilov@gmail.com> References: <20190601144736.8580-1-matwey.kornilov@gmail.com> Cc: vagrant@debian.org, u-boot@lists.denx.de, "Matwey V . Kornilov" Subject: [U-Boot] [PATCH v4 1/6] rockchip: rk3328: add SPL board file support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Kever Yang rk3328 SPL is locate at dram, so do not have strict size limit, suppose to enable storage media controller driver, load ATF and U-Boot, then boot into ATF. Signed-off-by: Kever Yang [cherry picked from https://github.com/rockchip-linux/u-boot/commit/4ebe3968b683190cb8e5741aa7227b4fa7497874 with minor modifications] Signed-off-by: Matwey V. Kornilov Reviewed-by: Kever Yang --- arch/arm/mach-rockchip/Makefile | 1 + arch/arm/mach-rockchip/rk3328-board-spl.c | 59 +++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 arch/arm/mach-rockchip/rk3328-board-spl.c diff --git a/arch/arm/mach-rockchip/Makefile b/arch/arm/mach-rockchip/Makefile index 846c82d70a..23760a959a 100644 --- a/arch/arm/mach-rockchip/Makefile +++ b/arch/arm/mach-rockchip/Makefile @@ -18,6 +18,7 @@ obj-spl-$(CONFIG_ROCKCHIP_RK3036) += rk3036-board-spl.o obj-spl-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board-spl.o obj-spl-$(CONFIG_ROCKCHIP_RK322X) += rk322x-board-spl.o spl-boot-order.o obj-spl-$(CONFIG_ROCKCHIP_RK3288) += rk3288-board-spl.o +obj-spl-$(CONFIG_ROCKCHIP_RK3328) += rk3328-board-spl.o obj-spl-$(CONFIG_ROCKCHIP_RK3368) += rk3368-board-spl.o spl-boot-order.o obj-spl-$(CONFIG_ROCKCHIP_RK3399) += rk3399-board-spl.o spl-boot-order.o diff --git a/arch/arm/mach-rockchip/rk3328-board-spl.c b/arch/arm/mach-rockchip/rk3328-board-spl.c new file mode 100644 index 0000000000..7f49d056a0 --- /dev/null +++ b/arch/arm/mach-rockchip/rk3328-board-spl.c @@ -0,0 +1,59 @@ +/* + * (C) Copyright 2016 Rockchip Electronics Co., Ltd + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +void board_debug_uart_init(void) +{ +} + +void board_init_f(ulong dummy) +{ + struct udevice *dev; + int ret; + + ret = spl_early_init(); + if (ret) { + debug("spl_early_init() failed: %d\n", ret); + hang(); + } + + preloader_console_init(); + + ret = uclass_get_device(UCLASS_RAM, 0, &dev); + if (ret) { + debug("DRAM init failed: %d\n", ret); + return; + } +} + +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} + +u32 spl_boot_device(void) +{ + return BOOT_DEVICE_MMC1; +} + +#ifdef CONFIG_SPL_LOAD_FIT +int board_fit_config_name_match(const char *name) +{ + /* Just empty function now - can't decide what to choose */ + debug("%s: %s\n", __func__, name); + + return 0; +} +#endif