From patchwork Wed Dec 26 13:25:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 154525 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp5835589ljp; Wed, 26 Dec 2018 05:25:50 -0800 (PST) X-Google-Smtp-Source: AFSGD/XjnZIkkc0MnqLBsI81AUcFHwfseQcxSDm1agd6PcMSjqVbxMw0qyr0DP1fOSkUYnMAdAQ6 X-Received: by 2002:a62:2f06:: with SMTP id v6mr20459455pfv.216.1545830750022; Wed, 26 Dec 2018 05:25:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545830750; cv=none; d=google.com; s=arc-20160816; b=ocSdd2NdCQkEMTw84pM3vZXokmhoduYXWg7mvNIMSMv6Zp7GQ9JzN56dL3uTtPGOZj 6XjmUKO3MxDEBvpqGPD68nww2Bz6g2WxgHkpPvxd6BnU2vJe32A3WzDNBVu5Nm1xJbSt xIFS0MJ/ayhA60Yo+xf6bg7+4jKsWmQLbvIbPyD0TV2n9R8ohBQH/uhZoFKxp8AX8DTU /g24Vk3gGaTwF/2A/+uwzmVzA3z9PUccoxhY/Yq1JLOFeG8WYVfb8vj366+WC3PTR1AU ZUfR70MMYQ83C1d8rb7ncotPKaLUUJOKZ0yNh11MVqUNky15SSZCUBq0XCSzDMaonFZQ X/6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:references:in-reply-to:message-id:date:to:from :dkim-signature:delivered-to; bh=mHqNFtitYTv3w0U/miJqVCXzGPyt0oQnWaqqz8uOFVM=; b=dQZjy0K3vVnfWOaIjg/lHOqcT88KBHMPKSKghNXLyEPtfsJMFW6HcGh2yILC0Prasn UDQm562FQ1TfIItdckME2lk6A9MZUv1RbmDryFeQze8uvB9EDq2O/TRos/Ka3vGBvECc bB7Y8izJzN+ECT1Gs69byC9QwUGzIH59oG2xqPnCi9JrnC/qu4UMmvliWrx64ghmHvjl IEJWbePAxiPgFcdXkMWW1JtVCUC6rJOhz3uhqjVFQUzpIQNXY48Hr4NVbR/JKTFyxwCr WI/xCvMRB/PCQ2U0wEN0dA1Jvz9sPYBwHA2kbrFEqSVg8IRGjzy3JDgJjCod9mxwK4aB NLuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="MNvfQZ/f"; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id v10si32044781plp.183.2018.12.26.05.25.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Dec 2018 05:25:50 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="MNvfQZ/f"; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id D21D82119F05C; Wed, 26 Dec 2018 05:25:45 -0800 (PST) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:4864:20::342; helo=mail-wm1-x342.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 830EB2194D3AE for ; Wed, 26 Dec 2018 05:25:42 -0800 (PST) Received: by mail-wm1-x342.google.com with SMTP id a62so14566098wmh.4 for ; Wed, 26 Dec 2018 05:25:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3HjoHLdWCbAsCYD41jIEwg6uq1F2OE5KF69ITdgVzK4=; b=MNvfQZ/f6rNd5us0RSm/4Cprqq6lbLgqHtNg3pT0S5Df3NEzgliIUiVzF0GojROjhJ FoR0h9eRoAx+HhjNJgl5bx02OLsE26aeJKdQkIMt+/dRZEJhkRFdfauHpGDzEzbbxJ3O 0KhMKYoiLv2Fk7f7fcEjiFvSZGiFqr6l4dmC8= 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:content-transfer-encoding; bh=3HjoHLdWCbAsCYD41jIEwg6uq1F2OE5KF69ITdgVzK4=; b=bB0P2eQieu90wVx4JrLb8dz2cE9RvEFBuzDEHycR+ip3FIjCyOOatV1cfiRm4DMXFD U0/8nA4+iTClKSZEfYpTMsvRdIjjVqMvEzZ3f5eg+bC9TjlHiCO1yGjLFMwZM5u/S87H UFH1Jl7JojNWiGXqskmqUmG8HUbIRpKrRiBmtyVl5bDHFlNsZ/KNKkk9s7Ey5VSwzdxz VE0vM/SMfjUkXwkVBMkHJaitAUcxtdRxHsKqcvhjl3dWnaDm1xNJDnoFdJRFez8mwCKF COIX/8LLd/4ejsxp6k5HhV3wOwN05YySf6/u+3gDD6It9WfTnjUQSp7oickizyaJ5BJc d42Q== X-Gm-Message-State: AA+aEWaZs5L4YKHcedEaJD4zFOnlcc+1GBXcWWY7H7ZpoykSWzdoA++b jJQ9criJx9LGVzHEFNILCerkZMhqHiGEQw== X-Received: by 2002:a1c:5892:: with SMTP id m140mr18280461wmb.60.1545830740615; Wed, 26 Dec 2018 05:25:40 -0800 (PST) Received: from localhost.localdomain (laubervilliers-657-1-83-120.w92-154.abo.wanadoo.fr. [92.154.90.120]) by smtp.gmail.com with ESMTPSA id z17sm22268820wrv.2.2018.12.26.05.25.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Dec 2018 05:25:39 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org Date: Wed, 26 Dec 2018 14:25:30 +0100 Message-Id: <20181226132530.8445-4-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181226132530.8445-1-ard.biesheuvel@linaro.org> References: <20181226132530.8445-1-ard.biesheuvel@linaro.org> MIME-Version: 1.0 Subject: [edk2] [PATCH edk2-platforms 3/3] Silicon/SynQuacer: add support for DEBUG output on second UART X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" On headless server systems where the PL011 serial port is the primary console, having DEBUG output on the same port can be annoying, since DEBUG output gets lost when the console driver clears the screen or positions the cursor using control characters. So add the ability to emit the DEBUG output on the DesignWare FUART (which is exposed via the LS connector on DeveloperBox) Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel --- Platform/Socionext/DeveloperBox/DeveloperBox.dsc | 42 +++++++++++++++++--- Silicon/Socionext/SynQuacer/Library/SynQuacerMemoryInitPeiLib/SynQuacerMemoryInitPeiLib.c | 3 ++ 2 files changed, 40 insertions(+), 5 deletions(-) -- 2.19.2 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel Reviewed-by: Leif Lindholm diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc index ed11aed798b7..da450a132798 100644 --- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc +++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc @@ -28,6 +28,8 @@ FLASH_DEFINITION = Platform/Socionext/DeveloperBox/DeveloperBox.fdf BUILD_NUMBER = 1 + DEFINE DEBUG_ON_UART1 = FALSE + [BuildOptions] RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 @@ -120,9 +122,17 @@ DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf - SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf +!if $(DEBUG_ON_UART1) == FALSE + SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf +!else + SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf + PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf + PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf + PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf +!endif + HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf @@ -253,13 +263,26 @@ !endif ## PL011 - Serial Terminal - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x2a400000 - gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 - gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0 gArmPlatformTokenSpaceGuid.PL011UartInteger|0 gArmPlatformTokenSpaceGuid.PL011UartFractional|0 gArmPlatformTokenSpaceGuid.PL011UartClkInHz|62500000 + ## DesignWare FUART + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|62500000 + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4 + + ## Shared UART settings + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0 + +!if $(DEBUG_ON_UART1) == FALSE + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x2a400000 +!else + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x51040000 +!endif + # # ARM Generic Interrupt Controller # @@ -505,7 +528,16 @@ } MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf - MdeModulePkg/Universal/SerialDxe/SerialDxe.inf + MdeModulePkg/Universal/SerialDxe/SerialDxe.inf { +!if $(DEBUG_ON_UART1) == TRUE + + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x2a400000 + + SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf + # suppress debug output from SerialDxe itself which would go to the PL011 + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf +!endif + } MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf diff --git a/Silicon/Socionext/SynQuacer/Library/SynQuacerMemoryInitPeiLib/SynQuacerMemoryInitPeiLib.c b/Silicon/Socionext/SynQuacer/Library/SynQuacerMemoryInitPeiLib/SynQuacerMemoryInitPeiLib.c index 1402ecafce4a..e68997e05573 100644 --- a/Silicon/Socionext/SynQuacer/Library/SynQuacerMemoryInitPeiLib/SynQuacerMemoryInitPeiLib.c +++ b/Silicon/Socionext/SynQuacer/Library/SynQuacerMemoryInitPeiLib/SynQuacerMemoryInitPeiLib.c @@ -118,6 +118,9 @@ STATIC CONST ARM_MEMORY_REGION_DESCRIPTOR mVirtualMemoryTable[] = { // NETSEC/eMMC SMMU ARM_DEVICE_REGION (SYNQUACER_SCB_SMMU_BASE, SYNQUACER_SCB_SMMU_SIZE), + + // DesignWare FUART + ARM_DEVICE_REGION (SYNQUACER_UART1_BASE, SYNQUACER_UART1_SIZE), }; STATIC