From patchwork Tue Mar 27 09:29:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kever Yang X-Patchwork-Id: 891467 X-Patchwork-Delegate: philipp.tomsich@theobroma-systems.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=none (p=none dis=none) header.from=rock-chips.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="p/XTho7D"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 409QwL6Lm7z9s1S for ; Tue, 27 Mar 2018 20:40:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 5E63CC21FA4; Tue, 27 Mar 2018 09:38:03 +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=RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, 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 7EE6EC2200D; Tue, 27 Mar 2018 09:31:47 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 64825C2200F; Tue, 27 Mar 2018 09:30:33 +0000 (UTC) Received: from mail-pg0-f67.google.com (mail-pg0-f67.google.com [74.125.83.67]) by lists.denx.de (Postfix) with ESMTPS id E8C3AC21F99 for ; Tue, 27 Mar 2018 09:30:28 +0000 (UTC) Received: by mail-pg0-f67.google.com with SMTP id b9so1201675pgf.6 for ; Tue, 27 Mar 2018 02:30:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=zkHtdzsanG8YC+4+7svQyVLmWP8qt2ntNYrSNagd7E4=; b=p/XTho7DFnMc2dai0Ija9Pzd2NEsbLAeUsTKX9WE82hdrYSSg566jJaBzJW3rBsX8S anipwPC0mVCw/eDldjcYhJfRgCtf2od2FFwIm3xaQP8a9BkfT0tte1j6i/cHNdzyDI5+ Tko0aJZGfJzEJ+457rWiMO0dCMCmk3zF4KlhehDyCRJdsCccegFwO+cM6JrRM4+KB77a FhGnxkvUiAQ8jMXeb6UElGRhCHHaSiZKN0isxLmN0cKmtGzkJqvs/NbHMIrhexF6mHsr XRgqmdtd8s+pNOSBmrwSsw92Af5wr7K+6DVp1zR0Ojh81qZ1SmeLK2PHbeqzSILaUuMY hPTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=zkHtdzsanG8YC+4+7svQyVLmWP8qt2ntNYrSNagd7E4=; b=SSBj8u75nl7+9S/R0TXd05FyuCW9DovzzXZsPn8ZdY0Ir2w670Hiwzg42f2LnLoSM5 sDg4rmcCUYMt1zi5Mou1UEUu+gTdV2vD3iQi9/+tC8SLeDaXguW4H2AQdiNKIk6FFBKT mozKa4Z3EjmUoGVcIAT3fkuBoeQYS5+YnN0avwsq6sMFFm2cHZD38DE6tv6T4DbcAJl2 2Y1b0+4COUGT3GU/PEocIrKm9qMqDbdy4zd63Hiqct4SyILhbDf1xY0DHJ9Fj1cQfw7k Je5EZyZmFu1ZZTfhLWVc8cd8DAz29Z+GY1n6mlqIqD5MasE91awzh4eITYdQiV0UfVhv TRJQ== X-Gm-Message-State: AElRT7Fj8FR5uqnG/ksIAijjxJIjxieyEfeSlSPtXOpdeFWxdzuJcHSn uydGJmC/Q6XrURZ3Dmd1RzCivQ== X-Google-Smtp-Source: AG47ELsuKPWC2gjkBhjvPrs/MSxkWWq+GZSPTn9ZYwpBgSf9Jb+iNVooui765M8k+ePfd/EBCO8C4w== X-Received: by 10.101.66.70 with SMTP id d6mr17186719pgq.234.1522143026783; Tue, 27 Mar 2018 02:30:26 -0700 (PDT) Received: from localhost.localdomain ([103.29.142.67]) by smtp.gmail.com with ESMTPSA id j83sm2171561pfj.18.2018.03.27.02.30.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 27 Mar 2018 02:30:25 -0700 (PDT) From: Kever Yang To: u-boot@lists.denx.de Date: Tue, 27 Mar 2018 17:29:08 +0800 Message-Id: <1522142971-20739-15-git-send-email-kever.yang@rock-chips.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1522142971-20739-1-git-send-email-kever.yang@rock-chips.com> References: <1522142971-20739-1-git-send-email-kever.yang@rock-chips.com> Cc: Andy Yan Subject: [U-Boot] [PATCH 14/36] rockchip: rk3036: prepare to use commong board file 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" Move some soc spec setting into rk3036.c Signed-off-by: Kever Yang Acked-by: Philipp Tomsich --- arch/arm/mach-rockchip/rk3036-board.c | 104 --------------------- arch/arm/mach-rockchip/rk3036/Makefile | 2 +- .../{rk3036-board-spl.c => rk3036/rk3036.c} | 41 ++------ arch/arm/mach-rockchip/rk3036/sdram_rk3036.c | 14 +++ 4 files changed, 24 insertions(+), 137 deletions(-) delete mode 100644 arch/arm/mach-rockchip/rk3036-board.c rename arch/arm/mach-rockchip/{rk3036-board-spl.c => rk3036/rk3036.c} (50%) diff --git a/arch/arm/mach-rockchip/rk3036-board.c b/arch/arm/mach-rockchip/rk3036-board.c deleted file mode 100644 index a5d2571..0000000 --- a/arch/arm/mach-rockchip/rk3036-board.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * (C) Copyright 2015 Rockchip Electronics Co., Ltd - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -DECLARE_GLOBAL_DATA_PTR; - -__weak int rk_board_late_init(void) -{ - return 0; -} - -int board_late_init(void) -{ - setup_boot_mode(); - - return rk_board_late_init(); -} - -int board_init(void) -{ - return 0; -} - -#if !CONFIG_IS_ENABLED(RAM) -/* - * When CONFIG_RAM is enabled, the dram_init() function is implemented - * in sdram_common.c. - */ -int dram_init(void) -{ - gd->ram_size = sdram_size(); - - return 0; -} -#endif - -#ifndef CONFIG_SYS_DCACHE_OFF -void enable_caches(void) -{ - /* Enable D-cache. I-cache is already enabled in start.S */ - dcache_enable(); -} -#endif - -#if defined(CONFIG_USB_GADGET) && defined(CONFIG_USB_GADGET_DWC2_OTG) -#include -#include - -static struct dwc2_plat_otg_data rk3036_otg_data = { - .rx_fifo_sz = 512, - .np_tx_fifo_sz = 16, - .tx_fifo_sz = 128, -}; - -int board_usb_init(int index, enum usb_init_type init) -{ - int node; - const char *mode; - bool matched = false; - const void *blob = gd->fdt_blob; - - /* find the usb_otg node */ - node = fdt_node_offset_by_compatible(blob, -1, - "rockchip,rk3288-usb"); - - while (node > 0) { - mode = fdt_getprop(blob, node, "dr_mode", NULL); - if (mode && strcmp(mode, "otg") == 0) { - matched = true; - break; - } - - node = fdt_node_offset_by_compatible(blob, node, - "rockchip,rk3288-usb"); - } - if (!matched) { - debug("Not found usb_otg device\n"); - return -ENODEV; - } - rk3036_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg"); - - return dwc2_udc_probe(&rk3036_otg_data); -} - -int board_usb_cleanup(int index, enum usb_init_type init) -{ - return 0; -} -#endif diff --git a/arch/arm/mach-rockchip/rk3036/Makefile b/arch/arm/mach-rockchip/rk3036/Makefile index 20d28f7..8a144d1 100644 --- a/arch/arm/mach-rockchip/rk3036/Makefile +++ b/arch/arm/mach-rockchip/rk3036/Makefile @@ -4,7 +4,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -obj-y += clk_rk3036.o +obj-y += rk3036.o clk_rk3036.o ifndef CONFIG_SPL_BUILD obj-y += syscon_rk3036.o diff --git a/arch/arm/mach-rockchip/rk3036-board-spl.c b/arch/arm/mach-rockchip/rk3036/rk3036.c similarity index 50% rename from arch/arm/mach-rockchip/rk3036-board-spl.c rename to arch/arm/mach-rockchip/rk3036/rk3036.c index 550e3a1..39cc43b 100644 --- a/arch/arm/mach-rockchip/rk3036-board-spl.c +++ b/arch/arm/mach-rockchip/rk3036/rk3036.c @@ -1,28 +1,22 @@ /* - * (C) Copyright 2015 Rockchip Electronics Co., Ltd + * Copyright (c) 2017 Rockchip Electronics Co., Ltd * * SPDX-License-Identifier: GPL-2.0+ */ - -#include -#include #include #include -#include #include -#include -#include -#include - -DECLARE_GLOBAL_DATA_PTR; - +#include #define GRF_BASE 0x20008000 -#define DEBUG_UART_BASE 0x20068000 - -void board_init_f(ulong dummy) +#ifdef CONFIG_SPL_BUILD +int arch_cpu_init(void) +{ + return 0; +} +#endif +void board_debug_uart_init(void) { -#ifdef EARLY_DEBUG struct rk3036_grf * const grf = (void *)GRF_BASE; /* * NOTE: sd card and debug uart use same iomux in rk3036, @@ -34,22 +28,5 @@ void board_init_f(ulong dummy) GPIO1C2_MASK << GPIO1C2_SHIFT, GPIO1C3_UART2_SOUT << GPIO1C3_SHIFT | GPIO1C2_UART2_SIN << GPIO1C2_SHIFT); - debug_uart_init(); -#endif - rockchip_timer_init(); - sdram_init(); - - /* return to maskrom */ - back_to_bootrom(BROM_BOOT_NEXTSTAGE); -} -/* Place Holders */ -void board_init_r(gd_t *id, ulong dest_addr) -{ - /* - * Function attribute is no-return - * This Function never executes - */ - while (1) - ; } diff --git a/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c b/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c index ce3f09a..a4fb3ae 100644 --- a/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c +++ b/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c @@ -11,6 +11,7 @@ #include #include #include +DECLARE_GLOBAL_DATA_PTR; /* * we can not fit the code to access the device tree in SPL @@ -764,3 +765,16 @@ void sdram_init(void) move_to_access_state(&sdram_priv); dram_cfg_rbc(&sdram_priv); } + +#if !CONFIG_IS_ENABLED(RAM) +/* + * When CONFIG_RAM is enabled, the dram_init() function is implemented + * in sdram_common.c. + */ +int dram_init(void) +{ + gd->ram_size = sdram_size(); + + return 0; +} +#endif