From patchwork Mon Aug 31 03:25:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Heider X-Patchwork-Id: 1354089 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=tbz9hFgV; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Bfwb922XLz9sTF for ; Mon, 31 Aug 2020 13:26:10 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 542A981BF1; Mon, 31 Aug 2020 05:25:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="tbz9hFgV"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B291E82229; Mon, 31 Aug 2020 05:25:57 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6D5DE821DE for ; Mon, 31 Aug 2020 05:25:41 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=a.heider@gmail.com Received: by mail-wr1-x441.google.com with SMTP id z1so977883wrt.3 for ; Sun, 30 Aug 2020 20:25:41 -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 :mime-version:content-transfer-encoding; bh=L8sNb0l/GiTeqGL1UH620RGcVwCly8EZXdDIpvdRNiY=; b=tbz9hFgV8IKZ1Cd1rXzkS48c7xcoJbhzoEkHMrDKzrhP3YS/UxAiRfE2qTE/dp5eKc NcsSfPPwMziXHUfnxa1M42LWrgeV62XwT78Ye1QslgiUKGqgov8FDsr6ZN35gfC37OUb BlK+L1NCTrwym69WF90Fc1epNReFqH+3PFHxljISkZTktEM03CimO7EVBJdEP1SY9BUt TwSIl1JEeYKgGFveP9RNCRRD4CdnyV/CS+6eqNtEalnRNhphYqY13n1x7KcD9NRjh+gB TcZSmJC/P8kumR6lkxPSltBpp/4GpKVE02DbdWWCbnDKfbZ+R5hyFJ+fvuMJuJVxesFj tJxw== 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=L8sNb0l/GiTeqGL1UH620RGcVwCly8EZXdDIpvdRNiY=; b=U2WdR/pq4C1pdkeJqkshDk8YW7NOS8Kc5XM8Za2RBS8YkYpmKixewATah2tVk49/ce J/6ycTRNnIibTRkzOWQFbnUNYj/YB5KaVPg+H0i0FIxSq7RLC6QAGBT7pgBryJaVAkl2 RkY31gi12rb5yhBSd3nobpQFbFnaKNCyO3s3zQ1Sbhl7yibWUtfBxZZJyMM3R75qCTeU kZpxjaZ0JxrAzUFNGLV1wWqQsoHOOSDE0Bi6oNMbfNLLSh4/H/R2BtMDO8ScDAVIqjhZ 6WERuc6bT0Wc09OtT5jqctw/AppHaSDgnlCJRb5f2kRIAyZN/7iYmXInLqs4CW44qPu8 +/cQ== X-Gm-Message-State: AOAM533vc7jP9sveUT4C3RZ7nLiGBJ4ldYX3pmWNNmCAA9Jqoc7nTor5 0dBLVDHQRzNmsQZKtvlO6ZE= X-Google-Smtp-Source: ABdhPJzQyWTxN1hzqCN+E2MbmW4EWAnXRxpY47MFt6BZLuFqKTWJVNiNij4yByo//2gmJVWXN2RpRg== X-Received: by 2002:adf:f88b:: with SMTP id u11mr4738492wrp.376.1598844341074; Sun, 30 Aug 2020 20:25:41 -0700 (PDT) Received: from localhost.localdomain (a89-183-75-181.net-htp.de. [89.183.75.181]) by smtp.gmail.com with ESMTPSA id d18sm1660351wrm.10.2020.08.30.20.25.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Aug 2020 20:25:40 -0700 (PDT) From: Andre Heider To: Stefan Roese , Konstantin Porotchkin Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , u-boot@lists.denx.de Subject: [PATCH 2/2] pcie: pcie_advk: move setting of reference clock to the pcie driver Date: Mon, 31 Aug 2020 05:25:38 +0200 Message-Id: <20200831032538.467336-2-a.heider@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200831032538.467336-1-a.heider@gmail.com> References: <20200831032538.467336-1-a.heider@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean From: Grzegorz Jaszczyk The settings of reference clock is done via pcie address space and not comphy address space - move the settings in appropriate place. This aligns hw initialization of pcie advk with Linux and also will allow to get rid of not comphy related operation from the comphy driver. Change-Id: I9cc2e8f3e415a880dfb01d10cc8db73b7e81a605 Signed-off-by: Grzegorz Jaszczyk Reviewed-on: http://vgitil04.il.marvell.com:8080/59619 Reviewed-by: Igal Liberman Tested-by: iSoC Platform CI [a.heider: adapt to mainline] Signed-off-by: Andre Heider --- Missing downstream patch, noticed while diffing branches: https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/commit/e3d9c015d434f755578a86a4b6b3acd17d69238a drivers/pci/pci-aardvark.c | 8 ++++++++ drivers/phy/marvell/comphy_a3700.c | 4 ++-- drivers/phy/marvell/comphy_a3700.h | 5 ----- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c index b2c417701f..8d1748ec0a 100644 --- a/drivers/pci/pci-aardvark.c +++ b/drivers/pci/pci-aardvark.c @@ -95,6 +95,11 @@ #define PCIE_CORE_CTRL2_STRICT_ORDER_ENABLE BIT(5) #define PCIE_CORE_CTRL2_ADDRWIN_MAP_ENABLE BIT(6) +#define PCIE_PHY_REF_CLOCK (CONTROL_BASE_ADDR + 0x14) +#define PCIE_PHY_CTRL_OFF 16 +#define PCIE_PHY_BUF_CTRL_OFF 0 +#define PCIE_PHY_BUF_CTRL_INIT_VAL 0x1342 + /* LMI registers base address and register offsets */ #define LMI_BASE_ADDR 0x6000 #define CFG_REG (LMI_BASE_ADDR + 0x0) @@ -515,6 +520,9 @@ static int pcie_advk_setup_hw(struct pcie_advk *pcie) { u32 reg; + /* Set HW Reference Clock Buffer Control */ + advk_writel(pcie, PCIE_PHY_BUF_CTRL_INIT_VAL, PCIE_PHY_REF_CLOCK); + /* Set to Direct mode */ reg = advk_readl(pcie, CTRL_CONFIG_REG); reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT); diff --git a/drivers/phy/marvell/comphy_a3700.c b/drivers/phy/marvell/comphy_a3700.c index 4606de6f48..d460dc345a 100644 --- a/drivers/phy/marvell/comphy_a3700.c +++ b/drivers/phy/marvell/comphy_a3700.c @@ -202,9 +202,9 @@ static int comphy_pcie_power_up(u32 speed, u32 invert) 0xA00D | rb_clk500m_en | rb_clk100m_125m_en, 0xFFFF); /* - * 7. Enable TX + * 7. Enable TX, PCIE global register, 0xd0074814, it is done in + * PCI-E driver */ - reg_set(PCIE_REF_CLK_ADDR, 0x1342, 0xFFFFFFFF); /* * 8. Check crystal jumper setting and program the Power and PLL diff --git a/drivers/phy/marvell/comphy_a3700.h b/drivers/phy/marvell/comphy_a3700.h index b0941ffb37..db69393c1b 100644 --- a/drivers/phy/marvell/comphy_a3700.h +++ b/drivers/phy/marvell/comphy_a3700.h @@ -45,9 +45,6 @@ /* * PCIe/USB/SGMII definitions */ -#define PCIE_BASE MVEBU_REG(0x070000) -#define PCIETOP_BASE MVEBU_REG(0x080000) -#define PCIE_RAMBASE MVEBU_REG(0x08C000) #define PCIEPHY_BASE MVEBU_REG(0x01F000) #define PCIEPHY_SHFT 2 @@ -166,8 +163,6 @@ static inline void __iomem *phy_addr(enum phy_unit unit, u32 addr) #define PWR_MGM_TIM1 0x1d0 -#define PCIE_REF_CLK_ADDR (PCIE_BASE + 0x4814) - #define USB3_CTRPUL_VAL_REG (0x20 + USB32_BASE) #define USB3H_CTRPUL_VAL_REG (0x3454 + USB32H_BASE) #define rb_usb3_ctr_100ns 0xff000000