From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2503CC433EF for ; Sun, 20 Feb 2022 21:45:38 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E68AA83BC4; Sun, 20 Feb 2022 22:45:35 +0100 (CET) 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="NnvItkHI"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E615382A46; Sun, 20 Feb 2022 22:45:33 +0100 (CET) Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (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 A5B4683BC4 for ; Sun, 20 Feb 2022 22:45:29 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=aford173@gmail.com Received: by mail-io1-xd35.google.com with SMTP id 195so3690892iou.0 for ; Sun, 20 Feb 2022 13:45:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=9LxglsSW0Cpqe4/C971y0cdFd8MEg6f+OTwNWcu3678=; b=NnvItkHI3r0mZe5x2y7fs5D8o1tCquJ2dl8IDkNf9iidIC5EAZ8enH7iBht72hWZBD efUt45s9Q5yqZxTHO4KilpBhRlDaYcvZzVYANt1po4XenfAdJkNMgwvt1eAiPjNfUrs5 DYp7i6MoU7qtKUGsjU45c8sKAuHpWSi42MlR2OJSwGBvD8lIVUBZXz8Ou1EkbXCyOE0B AsOcPOyTTlJTT5MlCkDujQmbJodHjqk+uvD+igNTCp4NoiNK4g96MC/GQENF7rl7ph67 qJXrEJrsQPwUUDocQnMrkKNhyIIT0hidm466l100yNfje4oJixcIrl+LOA5uCbSM/8XW E2FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=9LxglsSW0Cpqe4/C971y0cdFd8MEg6f+OTwNWcu3678=; b=LCPhFx3pYQ6vSdf9PWbEgSd5uRxvTpVgnYteugP+B0mm8qw6BYqW5ksKzKv0oXOpDM /+NFdOjjWuUysTC4IMCUXRwB6mEOtXkWVtf2RrcI972WJyKbHYv9kDb6/6BI9NcbcvPh UdwEPmx2eTc3KLKZGb0zE15Vw4Gr+lraw8o6M/JzCreLvvSItICwIaJxMvUK2O8pX5t9 aQ+BHM+hGGqXlvomZ0r/xKnghAqzgd1o3NZreS5n0+gXTbL70aV+tYqrKIdjq00Hq4hq uCIcN79dg44DVKbHyEPhbilYmZYvVvY9R9xWU7C9hpYwIrxclpxmV4zAT11WcyARWb2U 0CBw== X-Gm-Message-State: AOAM532f1bvbn6vGcloN9EChpxPRHc3fAELbpTr6UZy251LXpY38KjwK dLw6yPyYKwOqwl3HAvIQPE29YnYUrV7A1w== X-Google-Smtp-Source: ABdhPJx9CnBsgTkatGHuMVJYXl4Ul6egJL1geRiOGceDGw5Gu4O4YUz1fHebl3s1FGzx7NabLZgiHQ== X-Received: by 2002:a5e:881a:0:b0:640:d0a5:2bfe with SMTP id l26-20020a5e881a000000b00640d0a52bfemr4939270ioj.34.1645393527582; Sun, 20 Feb 2022 13:45:27 -0800 (PST) Received: from aford-IdeaCentre-A730.lan ([2601:448:8400:9e8:d0d7:49e3:cbcc:57e3]) by smtp.gmail.com with ESMTPSA id f15sm1994333ioh.50.2022.02.20.13.45.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Feb 2022 13:45:27 -0800 (PST) From: Adam Ford To: u-boot@lists.denx.de Cc: joe.hershberger@ni.com, rfried.dev@gmail.com, marex@denx.de, cstevens@beaconembedded.com, aford@beaconembedded.com, Adam Ford Subject: [PATCH 1/2] net: ravb: Add tx/rx delay flag checks and support for rgmii-rxid Date: Sun, 20 Feb 2022 15:45:20 -0600 Message-Id: <20220220214522.862224-1-aford173@gmail.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.103.5 at phobos.denx.de X-Virus-Status: Clean Some boards like the Beacon RZ/G2 SOM use either flags for tx-internal-delay-ps, rx-internal-delay-ps or rgmii-rxid. In Linux the APSR_RDM flag is set when either rx-internal-delay-ps is set or the mode is rgmii-rxid, and the APSR_TDM is set when tx-internal-delay-ps is found or rgmii-txid is set, and both are set if rgmii-id is set. The ravb driver in U-Boot driver was missing rgmii-rxid support, so add that support in a similar fashion to what is done in Linux. Signed-off-by: Adam Ford diff --git a/drivers/net/ravb.c b/drivers/net/ravb.c index 1d1118c341..9e09e998e3 100644 --- a/drivers/net/ravb.c +++ b/drivers/net/ravb.c @@ -52,6 +52,7 @@ #define CSR_OPS 0x0000000F #define CSR_OPS_CONFIG BIT(1) +#define APSR_RDM BIT(13) #define APSR_TDM BIT(14) #define TCCR_TSRQ0 BIT(0) @@ -376,6 +377,8 @@ static int ravb_dmac_init(struct udevice *dev) struct ravb_priv *eth = dev_get_priv(dev); struct eth_pdata *pdata = dev_get_plat(dev); int ret = 0; + int mode = 0; + unsigned int delay; /* Set CONFIG mode */ ret = ravb_reset(dev); @@ -402,9 +405,25 @@ static int ravb_dmac_init(struct udevice *dev) (rmobile_get_cpu_type() == RMOBILE_CPU_TYPE_R8A77995)) return 0; - if ((pdata->phy_interface == PHY_INTERFACE_MODE_RGMII_ID) || - (pdata->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID)) - writel(APSR_TDM, eth->iobase + RAVB_REG_APSR); + if (!dev_read_u32(dev, "tx-internal-delay-ps", &delay)) { + if (delay) + mode |= APSR_TDM; + } + + if (!dev_read_u32(dev, "rx-internal-delay-ps", &delay)) { + if (delay) + mode |= APSR_RDM; + } + + if (pdata->phy_interface == PHY_INTERFACE_MODE_RGMII_ID || + pdata->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID) + mode |= APSR_RDM; + + if (pdata->phy_interface == PHY_INTERFACE_MODE_RGMII_ID || + pdata->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID) + mode |= APSR_TDM; + + writel(mode, eth->iobase + RAVB_REG_APSR); return 0; } -- 2.32.0