From patchwork Mon Jul 22 12:01:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kever Yang X-Patchwork-Id: 1134997 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=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="ZSG/RB2y"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45slhl4wfhz9sLt for ; Tue, 23 Jul 2019 01:22:15 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id CBCB4C21F2A; Mon, 22 Jul 2019 15:22:13 +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_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 6F379C21D74; Mon, 22 Jul 2019 12:07:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 94DCBC21FBA; Mon, 22 Jul 2019 12:07:57 +0000 (UTC) Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by lists.denx.de (Postfix) with ESMTPS id 66699C21D74 for ; Mon, 22 Jul 2019 12:02:32 +0000 (UTC) Received: by mail-pf1-f193.google.com with SMTP id u14so17288950pfn.2 for ; Mon, 22 Jul 2019 05:02:32 -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=YhBg0uZiJKGxG03X4KtRvj8llP8rfQRKEiwjHmBmlwY=; b=ZSG/RB2y5Izrnx3CvKQVhMQCsVf3sCJEB9zADKOpoqZ8OKf2kU2GpybkncFnAx2slT j+chFsn9rfPHcXv0Mc984+FQDg+EFXCQb2jTmTOVtUrJaHzTaK5BplQgmJEwkLqQ2HyI 1tubzrENNBRUV8XDYCsStZPbFbJyY+q52zcH+7PUhpV5RSPpD6+EDWr5Oh7na7u4RfDW fboMNqI6+F8QnZbSRxYSHoof4kJ37zWsxiXxslua7EyPx+gNYLPVRWdvsZH+tiAUO134 CDduE1q3lODBKF1LwqMzDA9lQ5vzlkxLwdwDhA45hf7nQPnrVyv5Blq2cv+gnqFecPEI YaNg== 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=YhBg0uZiJKGxG03X4KtRvj8llP8rfQRKEiwjHmBmlwY=; b=f+SAr0rPKw264V/3YjNF0bqhjvJqIWjV+CA7OivySVfuSRrYzV3Bh8U06k4G4ObfBq WUKMCSAUYdOBrtr6EgJ8Xa3nloeOr4Tu1dDIqv+WBFYBeVxIbCEYmi4488m1FIWqJ4I0 +yg2+qxN4xdfL3Yi+h+IbocVUi7uPWy3ziqN2qKhXQDqqCaZovUAxz4VLJXKw2ytVdcV gJW5Nx5P4IzvjGLo+NZGPIgEkJ/bMQXRbDwjVgC7iRyRr+R8ayTbLk61lxhiwYhI3M/2 MnQOzhLw+AAKR3ewLqN5KxdJfO6hlPx2vOAndPxSqpArkQ7RgVGcQMTqm9Qj8wzZfwM9 6rxg== X-Gm-Message-State: APjAAAVcDfs1/UtDl4ICOC6gOeH/OnHXkGVLQdCxvzAvWZh3NkOJM4sp qOSK9zrKLUBDkoep1VOct0bkici5 X-Google-Smtp-Source: APXvYqxPCjXQ2/plxtOpQg7bouAMNwGU9hu1mf4zhlWc/BlOKJGxlAItRM0h7pmWjp+aW9q9GefPGw== X-Received: by 2002:a17:90a:b011:: with SMTP id x17mr77362484pjq.113.1563796951010; Mon, 22 Jul 2019 05:02:31 -0700 (PDT) Received: from localhost.localdomain ([103.29.142.67]) by smtp.gmail.com with ESMTPSA id a25sm13121969pfo.60.2019.07.22.05.02.29 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 22 Jul 2019 05:02:30 -0700 (PDT) From: Kever Yang To: u-boot@lists.denx.de Date: Mon, 22 Jul 2019 20:01:58 +0800 Message-Id: <20190722120221.25468-2-kever.yang@rock-chips.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190722120221.25468-1-kever.yang@rock-chips.com> References: <20190722120221.25468-1-kever.yang@rock-chips.com> Subject: [U-Boot] [PATCH 01/24] rockchip: rk3328: add board_debug_uart_init() 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" Add board_debug_uart_init() to make the debug UART work with correct setting. Signed-off-by: Kever Yang --- arch/arm/mach-rockchip/rk3328/rk3328.c | 49 ++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/arch/arm/mach-rockchip/rk3328/rk3328.c b/arch/arm/mach-rockchip/rk3328/rk3328.c index 222a8d36d3..afd9de4a1f 100644 --- a/arch/arm/mach-rockchip/rk3328/rk3328.c +++ b/arch/arm/mach-rockchip/rk3328/rk3328.c @@ -6,11 +6,17 @@ #include #include #include +#include +#include #include #include DECLARE_GLOBAL_DATA_PTR; +#define CRU_BASE 0xFF440000 +#define GRF_BASE 0xFF100000 +#define UART2_BASE 0xFF130000 + const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = { [BROM_BOOTSOURCE_EMMC] = "rksdmmc@ff520000", [BROM_BOOTSOURCE_SD] = "rksdmmc@ff500000", @@ -55,3 +61,46 @@ int arch_cpu_init(void) return 0; } + +void board_debug_uart_init(void) +{ + struct rk3328_grf_regs * const grf = (void *)GRF_BASE; + struct rk_uart * const uart = (void *)UART2_BASE; + enum{ + GPIO2A0_SEL_SHIFT = 0, + GPIO2A0_SEL_MASK = 3 << GPIO2A0_SEL_SHIFT, + GPIO2A0_UART2_TX_M1 = 1, + + GPIO2A1_SEL_SHIFT = 2, + GPIO2A1_SEL_MASK = 3 << GPIO2A1_SEL_SHIFT, + GPIO2A1_UART2_RX_M1 = 1, + }; + enum { + IOMUX_SEL_UART2_SHIFT = 0, + IOMUX_SEL_UART2_MASK = 3 << IOMUX_SEL_UART2_SHIFT, + IOMUX_SEL_UART2_M0 = 0, + IOMUX_SEL_UART2_M1, + }; + + /* uart_sel_clk default select 24MHz */ + writel((3 << (8 + 16)) | (2 << 8), CRU_BASE + 0x148); + + /* init uart baud rate 1500000 */ + writel(0x83, &uart->lcr); + writel(0x1, &uart->rbr); + writel(0x3, &uart->lcr); + + /* Enable early UART2 */ + rk_clrsetreg(&grf->com_iomux, + IOMUX_SEL_UART2_MASK, + IOMUX_SEL_UART2_M1 << IOMUX_SEL_UART2_SHIFT); + rk_clrsetreg(&grf->gpio2a_iomux, + GPIO2A0_SEL_MASK, + GPIO2A0_UART2_TX_M1 << GPIO2A0_SEL_SHIFT); + rk_clrsetreg(&grf->gpio2a_iomux, + GPIO2A1_SEL_MASK, + GPIO2A1_UART2_RX_M1 << GPIO2A1_SEL_SHIFT); + + /* enable FIFO */ + writel(0x1, &uart->sfe); +}