From patchwork Sat Dec 1 18:00:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006373 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="OPOCusse"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fFw2Yngz9s8F for ; Sun, 2 Dec 2018 05:01:24 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DAE29C2263F; Sat, 1 Dec 2018 18:01:20 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 9DAA9C22643; Sat, 1 Dec 2018 18:00:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E6F45C22623; Sat, 1 Dec 2018 18:00:47 +0000 (UTC) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by lists.denx.de (Postfix) with ESMTPS id 687F4C2227E for ; Sat, 1 Dec 2018 18:00:47 +0000 (UTC) Received: by mail-wr1-f67.google.com with SMTP id u3so8219916wrs.3 for ; Sat, 01 Dec 2018 10:00:47 -0800 (PST) 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=W0wiaCdvfCgOsoXq1QIQBP3og1QYzmCblbKaf9AGrnA=; b=OPOCussetycAjYxvoTigtz3EQ8XuM4KV/FRd81Y3balyMYQ5HdvJvx5aFvFKx3HXXo dlpW3wP0p9pPiG1ZFPXwfrs+LQrnzipeX6hisFjZzXUN2SA+l/lfkUfH4t9Pw2BX4V0a wsBYfamkdxAgAPfUJe7spKKPeuJTU8PHEcv1VUNg9+RgNM2njgqlVCOlet9FlvVipJrD vhCcVztA4ACnKu8RpRpWDfxKgpcA1b0727tMMj2FFcKEnYtUVjCmpkffHsz9Z0avVtzQ MJT/RLk09LU5XK3Qw+yI5mnTLtZ0urLkWO5mxDD4oVEcd8MinN6f04hd46PF+wE9Vg1s shcw== 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=W0wiaCdvfCgOsoXq1QIQBP3og1QYzmCblbKaf9AGrnA=; b=QIiyzSKOyz8wW5k9e7GpEB/OHgIUxzDv51X8mWwBtza2IPOM83VdGWygpkeOOVnbHY YCHydKPEffN/WmPIr1fum1Gue+GnSFx8Kjc6vAku4gkHxq/VgaqWyBmOChpVMiWV8BU+ 3VYPF3a2Fohf2gJCi5TfEjfuMKO3VgWaLmk10PoOz18qphwmPHacK06Thjbgyb+MX5a+ zOM+TGJxiU+2sKpA9ik/AYIH6GtNrmWW/OQclVas3KYmdvD9uD3z32X9FEKWspXMKjNY RO16oP4dOtnbiKXBBgxjzgPrZjIXjiQB85g5sBt4eg0gBCnJl0pdN0W/J9ov0ejzALiF PqqA== X-Gm-Message-State: AA+aEWaWIigOY1s6HZbJd7j3HpeV/8ph7F/ajH+eBvQ7/1m13ClLenIm 5zVq3gxz7bofVrZX7BIO6oB13s8a X-Google-Smtp-Source: AFSGD/WtU2mKK3tjK55X6e9omgcywE/betGEoVJvS1i1OZLCi4VTTAJWIKgoGhX33dqbzWo4ZEwx2g== X-Received: by 2002:adf:f1c2:: with SMTP id z2mr9170434wro.218.1543687246597; Sat, 01 Dec 2018 10:00:46 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:46 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:15 +0100 Message-Id: <20181201180042.23103-2-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 01/28] dma: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" BCM6348 IUDMA controller is present on multiple BMIPS (BCM63xx) SoCs. Signed-off-by: Álvaro Fernández Rojas Reviewed-by: Daniel Schwierzeck --- v11: Introduce change suggested by Daniel Schwierzeck: - Avoid trimming ethernet FCS from DMA driver. v10: Introduce changes suggested by Daniel Schwierzeck: - Fix license identifiers. - Move DMAD_ST defines out of dma desc struct definition. - Remove unneded aigned attribute from dma desc struct definition. - Fill dma ring from consumer driver instead of allocating a new buffer. - Correctly check clock/reset errors while probing. - Switch to live DM live tree. v9: introduce dma_prepare_rcv_buf dma op: - bcm6348_iudma_chan_stop: switch to mdelay when resetting channel. - bcm6348_iudma_receive: track dirty dma descriptors and no longer trigger dma rx channel. - bcm6348_iudma_send: reorder to properly flush cache and set dma descriptor config. - bcm6348_iudma_prepare_rcv_buf: implemented to clear dirty dma descriptors. v8: Introduce changes from Grygorii Strashko v5: Several fixes and improvements: - Remove unused defines. - Increment rx descriptors. - Fix flow control issues. - Error checking now depends on hw. - Remove unneeded interrupts. v4: Fix issues reported by Grygorii Strashko and other fixes: - Remove usage of net_rx_packets as buffer. - Allocate dynamic rx buffer. - Check dma errors and discard invalid packets. v3: no changes v2: Fix dma rx burst config and select DMA_CHANNELS. drivers/dma/Kconfig | 9 + drivers/dma/Makefile | 1 + drivers/dma/bcm6348-iudma.c | 642 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 652 insertions(+) create mode 100644 drivers/dma/bcm6348-iudma.c diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 8a4162eccd..1820676d7a 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -26,6 +26,15 @@ config SANDBOX_DMA Enable support for a test DMA uclass implementation. It stimulates DMA transfer by simple copying data between channels. +config BCM6348_IUDMA + bool "BCM6348 IUDMA driver" + depends on ARCH_BMIPS + select DMA_CHANNELS + help + Enable the BCM6348 IUDMA driver. + This driver support data transfer from devices to + memory and from memory to devices. + config TI_EDMA3 bool "TI EDMA3 driver" help diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile index aff31f986a..b5f9147e0a 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_DMA) += dma-uclass.o obj-$(CONFIG_FSLDMAFEC) += MCD_tasksInit.o MCD_dmaApi.o MCD_tasks.o obj-$(CONFIG_APBH_DMA) += apbh_dma.o +obj-$(CONFIG_BCM6348_IUDMA) += bcm6348-iudma.o obj-$(CONFIG_FSL_DMA) += fsl_dma.o obj-$(CONFIG_SANDBOX_DMA) += sandbox-dma-test.o obj-$(CONFIG_TI_KSNAV) += keystone_nav.o keystone_nav_cfg.o diff --git a/drivers/dma/bcm6348-iudma.c b/drivers/dma/bcm6348-iudma.c new file mode 100644 index 0000000000..1d3c192cfe --- /dev/null +++ b/drivers/dma/bcm6348-iudma.c @@ -0,0 +1,642 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/dma/bcm63xx-iudma.c: + * Copyright (C) 2015 Simon Arlott + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c: + * Copyright (C) 2008 Maxime Bizon + * + * Derived from bcm963xx_4.12L.06B_consumer/shared/opensource/include/bcm963xx/63268_map_part.h: + * Copyright (C) 2000-2010 Broadcom Corporation + * + * Derived from bcm963xx_4.12L.06B_consumer/bcmdrivers/opensource/net/enet/impl4/bcmenet.c: + * Copyright (C) 2010 Broadcom Corporation + */ + +#include +#include +#include +#include +#include +#include +#include + +#define DMA_RX_DESC 6 +#define DMA_TX_DESC 1 + +/* DMA Channels */ +#define DMA_CHAN_FLOWC(x) ((x) >> 1) +#define DMA_CHAN_MAX 16 +#define DMA_CHAN_SIZE 0x10 +#define DMA_CHAN_TOUT 500 + +/* DMA Global Configuration register */ +#define DMA_CFG_REG 0x00 +#define DMA_CFG_ENABLE_SHIFT 0 +#define DMA_CFG_ENABLE_MASK (1 << DMA_CFG_ENABLE_SHIFT) +#define DMA_CFG_FLOWC_ENABLE(x) BIT(DMA_CHAN_FLOWC(x) + 1) +#define DMA_CFG_NCHANS_SHIFT 24 +#define DMA_CFG_NCHANS_MASK (0xf << DMA_CFG_NCHANS_SHIFT) + +/* DMA Global Flow Control registers */ +#define DMA_FLOWC_THR_LO_REG(x) (0x04 + DMA_CHAN_FLOWC(x) * 0x0c) +#define DMA_FLOWC_THR_HI_REG(x) (0x08 + DMA_CHAN_FLOWC(x) * 0x0c) +#define DMA_FLOWC_ALLOC_REG(x) (0x0c + DMA_CHAN_FLOWC(x) * 0x0c) +#define DMA_FLOWC_ALLOC_FORCE_SHIFT 31 +#define DMA_FLOWC_ALLOC_FORCE_MASK (1 << DMA_FLOWC_ALLOC_FORCE_SHIFT) + +/* DMA Global Reset register */ +#define DMA_RST_REG 0x34 +#define DMA_RST_CHAN_SHIFT 0 +#define DMA_RST_CHAN_MASK(x) (1 << x) + +/* DMA Channel Configuration register */ +#define DMAC_CFG_REG(x) (DMA_CHAN_SIZE * (x) + 0x00) +#define DMAC_CFG_ENABLE_SHIFT 0 +#define DMAC_CFG_ENABLE_MASK (1 << DMAC_CFG_ENABLE_SHIFT) +#define DMAC_CFG_PKT_HALT_SHIFT 1 +#define DMAC_CFG_PKT_HALT_MASK (1 << DMAC_CFG_PKT_HALT_SHIFT) +#define DMAC_CFG_BRST_HALT_SHIFT 2 +#define DMAC_CFG_BRST_HALT_MASK (1 << DMAC_CFG_BRST_HALT_SHIFT) + +/* DMA Channel Max Burst Length register */ +#define DMAC_BURST_REG(x) (DMA_CHAN_SIZE * (x) + 0x0c) + +/* DMA SRAM Descriptor Ring Start register */ +#define DMAS_RSTART_REG(x) (DMA_CHAN_SIZE * (x) + 0x00) + +/* DMA SRAM State/Bytes done/ring offset register */ +#define DMAS_STATE_DATA_REG(x) (DMA_CHAN_SIZE * (x) + 0x04) + +/* DMA SRAM Buffer Descriptor status and length register */ +#define DMAS_DESC_LEN_STATUS_REG(x) (DMA_CHAN_SIZE * (x) + 0x08) + +/* DMA SRAM Buffer Descriptor status and length register */ +#define DMAS_DESC_BASE_BUFPTR_REG(x) (DMA_CHAN_SIZE * (x) + 0x0c) + +/* DMA Descriptor Status */ +#define DMAD_ST_CRC_SHIFT 8 +#define DMAD_ST_CRC_MASK (1 << DMAD_ST_CRC_SHIFT) +#define DMAD_ST_WRAP_SHIFT 12 +#define DMAD_ST_WRAP_MASK (1 << DMAD_ST_WRAP_SHIFT) +#define DMAD_ST_SOP_SHIFT 13 +#define DMAD_ST_SOP_MASK (1 << DMAD_ST_SOP_SHIFT) +#define DMAD_ST_EOP_SHIFT 14 +#define DMAD_ST_EOP_MASK (1 << DMAD_ST_EOP_SHIFT) +#define DMAD_ST_OWN_SHIFT 15 +#define DMAD_ST_OWN_MASK (1 << DMAD_ST_OWN_SHIFT) + +#define DMAD6348_ST_OV_ERR_SHIFT 0 +#define DMAD6348_ST_OV_ERR_MASK (1 << DMAD6348_ST_OV_ERR_SHIFT) +#define DMAD6348_ST_CRC_ERR_SHIFT 1 +#define DMAD6348_ST_CRC_ERR_MASK (1 << DMAD6348_ST_CRC_ERR_SHIFT) +#define DMAD6348_ST_RX_ERR_SHIFT 2 +#define DMAD6348_ST_RX_ERR_MASK (1 << DMAD6348_ST_RX_ERR_SHIFT) +#define DMAD6348_ST_OS_ERR_SHIFT 4 +#define DMAD6348_ST_OS_ERR_MASK (1 << DMAD6348_ST_OS_ERR_SHIFT) +#define DMAD6348_ST_UN_ERR_SHIFT 9 +#define DMAD6348_ST_UN_ERR_MASK (1 << DMAD6348_ST_UN_ERR_SHIFT) + +struct bcm6348_dma_desc { + uint16_t length; + uint16_t status; + uint32_t address; +}; + +struct bcm6348_chan_priv { + void __iomem *dma_ring; + uint8_t dma_ring_size; + uint8_t desc_id; + uint8_t desc_cnt; + bool *busy_desc; + bool running; +}; + +struct bcm6348_iudma_hw { + uint16_t err_mask; +}; + +struct bcm6348_iudma_priv { + const struct bcm6348_iudma_hw *hw; + void __iomem *base; + void __iomem *chan; + void __iomem *sram; + struct bcm6348_chan_priv **ch_priv; + uint8_t n_channels; +}; + +static inline bool bcm6348_iudma_chan_is_rx(uint8_t ch) +{ + return !(ch & 1); +} + +static inline void bcm6348_iudma_fdc(void *ptr, ulong size) +{ + ulong start = (ulong) ptr; + + flush_dcache_range(start, start + size); +} + +static inline void bcm6348_iudma_idc(void *ptr, ulong size) +{ + ulong start = (ulong) ptr; + + invalidate_dcache_range(start, start + size); +} + +static void bcm6348_iudma_chan_stop(struct bcm6348_iudma_priv *priv, + uint8_t ch) +{ + unsigned int timeout = DMA_CHAN_TOUT; + + do { + uint32_t cfg, halt; + + if (timeout > DMA_CHAN_TOUT / 2) + halt = DMAC_CFG_PKT_HALT_MASK; + else + halt = DMAC_CFG_BRST_HALT_MASK; + + /* try to stop dma channel */ + writel_be(halt, priv->chan + DMAC_CFG_REG(ch)); + mb(); + + /* check if channel was stopped */ + cfg = readl_be(priv->chan + DMAC_CFG_REG(ch)); + if (!(cfg & DMAC_CFG_ENABLE_MASK)) + break; + + udelay(1); + } while (--timeout); + + if (!timeout) + pr_err("unable to stop channel %u\n", ch); + + /* reset dma channel */ + setbits_be32(priv->base + DMA_RST_REG, DMA_RST_CHAN_MASK(ch)); + mb(); + clrbits_be32(priv->base + DMA_RST_REG, DMA_RST_CHAN_MASK(ch)); +} + +static int bcm6348_iudma_disable(struct dma *dma) +{ + struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + struct bcm6348_chan_priv *ch_priv = priv->ch_priv[dma->id]; + + /* stop dma channel */ + bcm6348_iudma_chan_stop(priv, dma->id); + + /* dma flow control */ + if (bcm6348_iudma_chan_is_rx(dma->id)) + writel_be(DMA_FLOWC_ALLOC_FORCE_MASK, + DMA_FLOWC_ALLOC_REG(dma->id)); + + /* init channel config */ + ch_priv->running = false; + ch_priv->desc_id = 0; + if (bcm6348_iudma_chan_is_rx(dma->id)) + ch_priv->desc_cnt = 0; + else + ch_priv->desc_cnt = ch_priv->dma_ring_size; + + return 0; +} + +static int bcm6348_iudma_enable(struct dma *dma) +{ + const struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + struct bcm6348_chan_priv *ch_priv = priv->ch_priv[dma->id]; + struct bcm6348_dma_desc *dma_desc = ch_priv->dma_ring; + uint8_t i; + + /* dma ring init */ + for (i = 0; i < ch_priv->desc_cnt; i++) { + if (bcm6348_iudma_chan_is_rx(dma->id)) { + ch_priv->busy_desc[i] = false; + dma_desc->status |= DMAD_ST_OWN_MASK; + } else { + dma_desc->status = 0; + dma_desc->length = 0; + dma_desc->address = 0; + } + + if (i == ch_priv->desc_cnt - 1) + dma_desc->status |= DMAD_ST_WRAP_MASK; + + dma_desc++; + } + + /* init to first descriptor */ + ch_priv->desc_id = 0; + + /* force cache writeback */ + bcm6348_iudma_fdc(ch_priv->dma_ring, + sizeof(*dma_desc) * ch_priv->desc_cnt); + + /* clear sram */ + writel_be(0, priv->sram + DMAS_STATE_DATA_REG(dma->id)); + writel_be(0, priv->sram + DMAS_DESC_LEN_STATUS_REG(dma->id)); + writel_be(0, priv->sram + DMAS_DESC_BASE_BUFPTR_REG(dma->id)); + + /* set dma ring start */ + writel_be(virt_to_phys(ch_priv->dma_ring), + priv->sram + DMAS_RSTART_REG(dma->id)); + + /* set flow control */ + if (bcm6348_iudma_chan_is_rx(dma->id)) { + u32 val; + + setbits_be32(priv->base + DMA_CFG_REG, + DMA_CFG_FLOWC_ENABLE(dma->id)); + + val = ch_priv->desc_cnt / 3; + writel_be(val, priv->base + DMA_FLOWC_THR_LO_REG(dma->id)); + + val = (ch_priv->desc_cnt * 2) / 3; + writel_be(val, priv->base + DMA_FLOWC_THR_HI_REG(dma->id)); + + writel_be(0, priv->base + DMA_FLOWC_ALLOC_REG(dma->id)); + } + + /* set dma max burst */ + writel_be(ch_priv->desc_cnt, + priv->chan + DMAC_BURST_REG(dma->id)); + + /* kick rx dma channel */ + if (bcm6348_iudma_chan_is_rx(dma->id)) + setbits_be32(priv->chan + DMAC_CFG_REG(dma->id), + DMAC_CFG_ENABLE_MASK); + + /* channel is now enabled */ + ch_priv->running = true; + + return 0; +} + +static int bcm6348_iudma_request(struct dma *dma) +{ + const struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + struct bcm6348_chan_priv *ch_priv; + + /* check if channel is valid */ + if (dma->id >= priv->n_channels) + return -ENODEV; + + /* alloc channel private data */ + priv->ch_priv[dma->id] = calloc(1, sizeof(struct bcm6348_chan_priv)); + if (!priv->ch_priv[dma->id]) + return -ENOMEM; + ch_priv = priv->ch_priv[dma->id]; + + /* alloc dma ring */ + if (bcm6348_iudma_chan_is_rx(dma->id)) + ch_priv->dma_ring_size = DMA_RX_DESC; + else + ch_priv->dma_ring_size = DMA_TX_DESC; + + ch_priv->dma_ring = + malloc_cache_aligned(sizeof(struct bcm6348_dma_desc) * + ch_priv->dma_ring_size); + if (!ch_priv->dma_ring) + return -ENOMEM; + + /* init channel config */ + ch_priv->running = false; + ch_priv->desc_id = 0; + if (bcm6348_iudma_chan_is_rx(dma->id)) { + ch_priv->desc_cnt = 0; + ch_priv->busy_desc = calloc(ch_priv->desc_cnt, sizeof(bool)); + } else { + ch_priv->desc_cnt = ch_priv->dma_ring_size; + ch_priv->busy_desc = NULL; + } + + return 0; +} + +static int bcm6348_iudma_receive(struct dma *dma, void **dst, void *metadata) +{ + const struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + const struct bcm6348_iudma_hw *hw = priv->hw; + struct bcm6348_chan_priv *ch_priv = priv->ch_priv[dma->id]; + struct bcm6348_dma_desc *dma_desc = dma_desc = ch_priv->dma_ring; + int ret; + + /* get dma ring descriptor address */ + dma_desc += ch_priv->desc_id; + + /* invalidate cache data */ + bcm6348_iudma_idc(dma_desc, sizeof(*dma_desc)); + + /* check dma own */ + if (dma_desc->status & DMAD_ST_OWN_MASK) + return -EAGAIN; + + /* check pkt */ + if (!(dma_desc->status & DMAD_ST_EOP_MASK) || + !(dma_desc->status & DMAD_ST_SOP_MASK) || + (dma_desc->status & hw->err_mask)) { + pr_err("invalid pkt received (ch=%ld desc=%u) (st=%04x)\n", + dma->id, ch_priv->desc_id, dma_desc->status); + ret = -EAGAIN; + } else { + /* set dma buffer address */ + *dst = phys_to_virt(dma_desc->address); + + /* invalidate cache data */ + bcm6348_iudma_idc(*dst, dma_desc->length); + + /* return packet length */ + ret = dma_desc->length; + } + + /* busy dma descriptor */ + ch_priv->busy_desc[ch_priv->desc_id] = true; + + /* increment dma descriptor */ + ch_priv->desc_id = (ch_priv->desc_id + 1) % ch_priv->desc_cnt; + + return ret; +} + +static int bcm6348_iudma_send(struct dma *dma, void *src, size_t len, + void *metadata) +{ + const struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + struct bcm6348_chan_priv *ch_priv = priv->ch_priv[dma->id]; + struct bcm6348_dma_desc *dma_desc; + uint16_t status; + + /* flush cache */ + bcm6348_iudma_fdc(src, len); + + /* get dma ring descriptor address */ + dma_desc = ch_priv->dma_ring; + dma_desc += ch_priv->desc_id; + + /* config dma descriptor */ + status = (DMAD_ST_OWN_MASK | + DMAD_ST_EOP_MASK | + DMAD_ST_CRC_MASK | + DMAD_ST_SOP_MASK); + if (ch_priv->desc_id == ch_priv->desc_cnt - 1) + status |= DMAD_ST_WRAP_MASK; + + /* set dma descriptor */ + dma_desc->address = virt_to_phys(src); + dma_desc->length = len; + dma_desc->status = status; + + /* flush cache */ + bcm6348_iudma_fdc(dma_desc, sizeof(*dma_desc)); + + /* kick tx dma channel */ + setbits_be32(priv->chan + DMAC_CFG_REG(dma->id), DMAC_CFG_ENABLE_MASK); + + /* poll dma status */ + do { + /* invalidate cache */ + bcm6348_iudma_idc(dma_desc, sizeof(*dma_desc)); + + if (!(dma_desc->status & DMAD_ST_OWN_MASK)) + break; + } while(1); + + /* increment dma descriptor */ + ch_priv->desc_id = (ch_priv->desc_id + 1) % ch_priv->desc_cnt; + + return 0; +} + +static int bcm6348_iudma_free_rcv_buf(struct dma *dma, void *dst, size_t size) +{ + const struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + struct bcm6348_chan_priv *ch_priv = priv->ch_priv[dma->id]; + struct bcm6348_dma_desc *dma_desc = ch_priv->dma_ring; + uint16_t status; + uint8_t i; + u32 cfg; + + /* get dirty dma descriptor */ + for (i = 0; i < ch_priv->desc_cnt; i++) { + if (phys_to_virt(dma_desc->address) == dst) + break; + + dma_desc++; + } + + /* dma descriptor not found */ + if (i == ch_priv->desc_cnt) { + pr_err("dirty dma descriptor not found\n"); + return -ENOENT; + } + + /* invalidate cache */ + bcm6348_iudma_idc(ch_priv->dma_ring, + sizeof(*dma_desc) * ch_priv->desc_cnt); + + /* free dma descriptor */ + ch_priv->busy_desc[i] = false; + + status = DMAD_ST_OWN_MASK; + if (i == ch_priv->desc_cnt - 1) + status |= DMAD_ST_WRAP_MASK; + + dma_desc->status |= status; + dma_desc->length = PKTSIZE_ALIGN; + + /* tell dma we allocated one buffer */ + writel_be(1, DMA_FLOWC_ALLOC_REG(dma->id)); + + /* flush cache */ + bcm6348_iudma_fdc(ch_priv->dma_ring, + sizeof(*dma_desc) * ch_priv->desc_cnt); + + /* kick rx dma channel if disabled */ + cfg = readl_be(priv->chan + DMAC_CFG_REG(dma->id)); + if (!(cfg & DMAC_CFG_ENABLE_MASK)) + setbits_be32(priv->chan + DMAC_CFG_REG(dma->id), + DMAC_CFG_ENABLE_MASK); + + return 0; +} + +static int bcm6348_iudma_add_rcv_buf(struct dma *dma, void *dst, size_t size) +{ + const struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + struct bcm6348_chan_priv *ch_priv = priv->ch_priv[dma->id]; + struct bcm6348_dma_desc *dma_desc = ch_priv->dma_ring; + + /* no more dma descriptors available */ + if (ch_priv->desc_cnt == ch_priv->dma_ring_size) { + pr_err("max number of buffers reached\n"); + return -EINVAL; + } + + /* get next dma descriptor */ + dma_desc += ch_priv->desc_cnt; + + /* init dma descriptor */ + dma_desc->address = virt_to_phys(dst); + dma_desc->length = size; + dma_desc->status = 0; + + /* flush cache */ + bcm6348_iudma_fdc(dma_desc, sizeof(*dma_desc)); + + /* increment dma descriptors */ + ch_priv->desc_cnt++; + + return 0; +} + +static int bcm6348_iudma_prepare_rcv_buf(struct dma *dma, void *dst, + size_t size) +{ + const struct bcm6348_iudma_priv *priv = dev_get_priv(dma->dev); + struct bcm6348_chan_priv *ch_priv = priv->ch_priv[dma->id]; + + /* only add new rx buffers if channel isn't running */ + if (ch_priv->running) + return bcm6348_iudma_free_rcv_buf(dma, dst, size); + else + return bcm6348_iudma_add_rcv_buf(dma, dst, size); +} + +static const struct dma_ops bcm6348_iudma_ops = { + .disable = bcm6348_iudma_disable, + .enable = bcm6348_iudma_enable, + .prepare_rcv_buf = bcm6348_iudma_prepare_rcv_buf, + .request = bcm6348_iudma_request, + .receive = bcm6348_iudma_receive, + .send = bcm6348_iudma_send, +}; + +static const struct bcm6348_iudma_hw bcm6348_hw = { + .err_mask = (DMAD6348_ST_OV_ERR_MASK | + DMAD6348_ST_CRC_ERR_MASK | + DMAD6348_ST_RX_ERR_MASK | + DMAD6348_ST_OS_ERR_MASK | + DMAD6348_ST_UN_ERR_MASK), +}; + +static const struct bcm6348_iudma_hw bcm6368_hw = { + .err_mask = 0, +}; + +static const struct udevice_id bcm6348_iudma_ids[] = { + { + .compatible = "brcm,bcm6348-iudma", + .data = (ulong)&bcm6348_hw, + }, { + .compatible = "brcm,bcm6368-iudma", + .data = (ulong)&bcm6368_hw, + }, { /* sentinel */ } +}; + +static int bcm6348_iudma_probe(struct udevice *dev) +{ + struct dma_dev_priv *uc_priv = dev_get_uclass_priv(dev); + struct bcm6348_iudma_priv *priv = dev_get_priv(dev); + const struct bcm6348_iudma_hw *hw = + (const struct bcm6348_iudma_hw *)dev_get_driver_data(dev); + uint8_t ch; + int i; + + uc_priv->supported = (DMA_SUPPORTS_DEV_TO_MEM | + DMA_SUPPORTS_MEM_TO_DEV); + priv->hw = hw; + + /* dma global base address */ + priv->base = dev_remap_addr_name(dev, "dma"); + if (!priv->base) + return -EINVAL; + + /* dma channels base address */ + priv->chan = dev_remap_addr_name(dev, "dma-channels"); + if (!priv->chan) + return -EINVAL; + + /* dma sram base address */ + priv->sram = dev_remap_addr_name(dev, "dma-sram"); + if (!priv->sram) + return -EINVAL; + + /* get number of channels */ + priv->n_channels = dev_read_u32_default(dev, "dma-channels", 8); + if (priv->n_channels > DMA_CHAN_MAX) + return -EINVAL; + + /* try to enable clocks */ + for (i = 0; ; i++) { + struct clk clk; + int ret; + + ret = clk_get_by_index(dev, i, &clk); + if (ret < 0) + break; + + ret = clk_enable(&clk); + if (ret < 0) { + pr_err("error enabling clock %d\n", i); + return ret; + } + + ret = clk_free(&clk); + if (ret < 0) { + pr_err("error freeing clock %d\n", i); + return ret; + } + } + + /* try to perform resets */ + for (i = 0; ; i++) { + struct reset_ctl reset; + int ret; + + ret = reset_get_by_index(dev, i, &reset); + if (ret < 0) + break; + + ret = reset_deassert(&reset); + if (ret < 0) { + pr_err("error deasserting reset %d\n", i); + return ret; + } + + ret = reset_free(&reset); + if (ret < 0) { + pr_err("error freeing reset %d\n", i); + return ret; + } + } + + /* disable dma controller */ + clrbits_be32(priv->base + DMA_CFG_REG, DMA_CFG_ENABLE_MASK); + + /* alloc channel private data pointers */ + priv->ch_priv = calloc(priv->n_channels, + sizeof(struct bcm6348_chan_priv*)); + if (!priv->ch_priv) + return -ENOMEM; + + /* stop dma channels */ + for (ch = 0; ch < priv->n_channels; ch++) + bcm6348_iudma_chan_stop(priv, ch); + + /* enable dma controller */ + setbits_be32(priv->base + DMA_CFG_REG, DMA_CFG_ENABLE_MASK); + + return 0; +} + +U_BOOT_DRIVER(bcm6348_iudma) = { + .name = "bcm6348_iudma", + .id = UCLASS_DMA, + .of_match = bcm6348_iudma_ids, + .ops = &bcm6348_iudma_ops, + .priv_auto_alloc_size = sizeof(struct bcm6348_iudma_priv), + .probe = bcm6348_iudma_probe, +}; From patchwork Sat Dec 1 18:00:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006374 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="mwL3Mpkj"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fHQ2BXTz9rxp for ; Sun, 2 Dec 2018 05:02:41 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 66769C22658; Sat, 1 Dec 2018 18:02:02 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 805E1C22654; Sat, 1 Dec 2018 18:00:56 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E6F68C2264F; Sat, 1 Dec 2018 18:00:51 +0000 (UTC) Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by lists.denx.de (Postfix) with ESMTPS id 016B0C22624 for ; Sat, 1 Dec 2018 18:00:48 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id a18so1926624wmj.1 for ; Sat, 01 Dec 2018 10:00:47 -0800 (PST) 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=CF8/r/ojSiFVFL5mtMsovC9N5En4lD3CvmS9O9190Zc=; b=mwL3Mpkjol2z4DNvs150lLuao+5+OGuhhQfX+DsGQEYLrJQ93TDQu1f7exlegW1xWo U2wzCcbwmcnhG4JvhcUa0gcJ/OpwyxJWaA16gKHg05Ic50H5YFdRPUkAnwerwRhEZ2ff ftrh3tY46bf/4R1H9DFdA0lO4O60MNGN4IA0056QE6q4Di2FrjRvx1sHReW/oJ77IALU P2nSISIHgHEaxQr7+J1K9+XvDL/rIhZHU56KMpdMfHkjJA4cTed+l2bnluTRoD6c7eM0 h9WguXdjByBBEEkq0UpOpLV9uKFhBsfJhRU78U1AD7SCUmBpbUd/mEU5mC8j7AyqNwTZ qLRQ== 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=CF8/r/ojSiFVFL5mtMsovC9N5En4lD3CvmS9O9190Zc=; b=SwO+mIRIkaqilS/kdhxJHWmlDKPhLzk4jKRjshdQ89ydaVjo32VWpV3vTrBfiHkILz Ua8Px+BOhEBoN4ijlY31eWWfVkjAr0KfXQNDkJUKR1Vx0udsrZO86MVQ9joBk8M0zU/k 4aabXTFI0JkBzJim2IiN5yRDNBveOtPW+IHXhracnqa5ewh+Lw9Erif+2zvnSvUH90/q YgQbavuECETDqBseASlk9YMPDsooig51I0V2HkV2WWf5PxWzZT4sDYD2b7udHvaBQzFl /8CAIrMjYCn9Tsqe+i55nAbewJTQloOR4JkQcTFbvTcHycpRrEavn2I1a4tdpXZbanom 40Pg== X-Gm-Message-State: AA+aEWYK/n+Dbud55rouixiH1V17f8tmDtohYRmWitQ3lcctys7qUPaS AjavBieGPJQdEIE41dRBdcCIn8ZY X-Google-Smtp-Source: AFSGD/Vh1n37eSHPndhsqZmzeKtchOA7oiR2fOtAETvgyMq9xZVHsbDNDlz72XZpR7NRvLDL/ErAJA== X-Received: by 2002:a1c:9dcc:: with SMTP id g195mr2765165wme.153.1543687247477; Sat, 01 Dec 2018 10:00:47 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:46 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:16 +0100 Message-Id: <20181201180042.23103-3-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 02/28] bmips: bcm6338: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/brcm,bcm6338.dtsi | 14 ++++++++++++++ include/dt-bindings/dma/bcm6338-dma.h | 14 ++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 include/dt-bindings/dma/bcm6338-dma.h diff --git a/arch/mips/dts/brcm,bcm6338.dtsi b/arch/mips/dts/brcm,bcm6338.dtsi index bbd58cf803..990355481c 100644 --- a/arch/mips/dts/brcm,bcm6338.dtsi +++ b/arch/mips/dts/brcm,bcm6338.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include "skeleton.dtsi" @@ -130,5 +131,18 @@ reg = <0xfffe3100 0x38>; u-boot,dm-pre-reloc; }; + + iudma: dma-controller@fffe2400 { + compatible = "brcm,bcm6348-iudma"; + reg = <0xfffe2400 0x1c>, + <0xfffe2500 0x60>, + <0xfffe2600 0x60>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <6>; + resets = <&periph_rst BCM6338_RST_DMAMEM>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm6338-dma.h b/include/dt-bindings/dma/bcm6338-dma.h new file mode 100644 index 0000000000..f2e0b20444 --- /dev/null +++ b/include/dt-bindings/dma/bcm6338-dma.h @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM6338_H +#define __DT_BINDINGS_DMA_BCM6338_H + +#define BCM6338_DMA_ENET_RX 0 +#define BCM6338_DMA_ENET_TX 1 + +#endif /* __DT_BINDINGS_DMA_BCM6338_H */ From patchwork Sat Dec 1 18:00:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006386 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="TaUmvw19"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fSn5YZLz9rxp for ; Sun, 2 Dec 2018 05:10:49 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 21D53C2264F; Sat, 1 Dec 2018 18:02:57 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 CA934C2265F; Sat, 1 Dec 2018 18:01:00 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6ECA3C22624; Sat, 1 Dec 2018 18:00:53 +0000 (UTC) Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by lists.denx.de (Postfix) with ESMTPS id 45339C22639 for ; Sat, 1 Dec 2018 18:00:49 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id s14so1947824wmh.1 for ; Sat, 01 Dec 2018 10:00:49 -0800 (PST) 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=JWoW4ufDcMcsQJuXU94qLBMCNKWQwoRYW7IW0srSpnI=; b=TaUmvw19/p7M2F+A98d+tDNPsodvqRXvsyYwtZAXJg0UgEtsS/3/t8OMnHkUEaGvLr disgZP9MkyLKthAOANUwnmYm/6dcPmkDftE5VzDlNoVkBhdr7vl3BpU5vExPo0qdqr6A YNSF5OqBBgEQYiVKsujviIfrKZxcen9V3TgOTWo77wcB2nTgpbNtdes5jc7GqdvK+4i+ GAutgiLoULSbvaLl5eTBVlaSIb4Z8vykqnbd7IiNJWwUVFRTVA3VzI1KuO5Hzf06g7XZ g69N22pvDSzbWIRLOBJ6kQ6B9KmEjavgqaxRe/8cbJpENIHyjcF5ktVUAhCYQo7ai2yP Sk3g== 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=JWoW4ufDcMcsQJuXU94qLBMCNKWQwoRYW7IW0srSpnI=; b=pZahuGXUWiH1qas3JVrUIvg9ZQNiOub6I+Dwzf6mfmPKTrSauoZ1ae3H4csvrOfHpf 9cywcB9QSap7M5F+I+AWpE5yztwSEzAZdJe/PaAwrPhlICVIjKKQkLrmn6gny96dnIDt qG6DX0SXXg2rHpgegc1X1sQprf1lqFA5cndmyjCTrVN/5F3M1J1XCrMp2PW2T2X/K/pU Dvcuu3xdvwsi4bT8tLfNfR6nhNPka7fKl9+LXDgEp0JOhDAVOL4EDT6fWfxGIf/G15vp 36gU7T1Yf0vEfXEKfJTcQwwjScN0zCs0pAQCcWjAUWWHVaX6FTFDLBVLcWX9HSlHQagP Uaxw== X-Gm-Message-State: AA+aEWb/fneme50GdQmYF91cUgyDPAxy/HhPDoxR4o+Z31tWHN27lzgE GDVQ4e84YFxEEckxMWpKNJKELp7b X-Google-Smtp-Source: AFSGD/V0wCT4XLB9FucqC++/O+u4FZ7yfwIlhW7YwY/Q6/0/Xld93ONc+50i8c0W1guSLMxnb8lKFg== X-Received: by 2002:a1c:c148:: with SMTP id r69mr2837032wmf.147.1543687248706; Sat, 01 Dec 2018 10:00:48 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:48 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:17 +0100 Message-Id: <20181201180042.23103-4-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 03/28] bmips: bcm6348: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/brcm,bcm6348.dtsi | 16 ++++++++++++++++ include/dt-bindings/dma/bcm6348-dma.h | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 include/dt-bindings/dma/bcm6348-dma.h diff --git a/arch/mips/dts/brcm,bcm6348.dtsi b/arch/mips/dts/brcm,bcm6348.dtsi index cc80bbc808..875de232ca 100644 --- a/arch/mips/dts/brcm,bcm6348.dtsi +++ b/arch/mips/dts/brcm,bcm6348.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include "skeleton.dtsi" @@ -159,5 +160,20 @@ reg = <0xfffe2300 0x38>; u-boot,dm-pre-reloc; }; + + iudma: dma-controller@fffe7000 { + compatible = "brcm,bcm6348-iudma"; + reg = <0xfffe7000 0x1c>, + <0xfffe7100 0x40>, + <0xfffe7200 0x40>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <4>; + clocks = <&periph_clk BCM6348_CLK_ENET>; + resets = <&periph_rst BCM6348_RST_ENET>, + <&periph_rst BCM6348_RST_DMAMEM>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm6348-dma.h b/include/dt-bindings/dma/bcm6348-dma.h new file mode 100644 index 0000000000..36c2ffd412 --- /dev/null +++ b/include/dt-bindings/dma/bcm6348-dma.h @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM6348_H +#define __DT_BINDINGS_DMA_BCM6348_H + +#define BCM6348_DMA_ENET0_RX 0 +#define BCM6348_DMA_ENET0_TX 1 +#define BCM6348_DMA_ENET1_RX 2 +#define BCM6348_DMA_ENET1_TX 3 + +#endif /* __DT_BINDINGS_DMA_BCM6348_H */ From patchwork Sat Dec 1 18:00:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006375 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="QGJxyJZO"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fJ85bPJz9rxp for ; Sun, 2 Dec 2018 05:03:20 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 718C4C22639; Sat, 1 Dec 2018 18:02:40 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 0E643C22657; Sat, 1 Dec 2018 18:01:00 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 55906C22632; Sat, 1 Dec 2018 18:00:54 +0000 (UTC) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by lists.denx.de (Postfix) with ESMTPS id 162E8C22630 for ; Sat, 1 Dec 2018 18:00:50 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id v6so8191711wrr.12 for ; Sat, 01 Dec 2018 10:00:50 -0800 (PST) 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=GE5qnxXvS2xaIIAZw6xG4/Ai2cyjhKFs4sCIG0PgaKs=; b=QGJxyJZOh5LA/GedRpvXaMJ1zM3bAWaPhkwYhYYhWuTX9XTKeYjmHBadFQ6a0MWQ/v VbTFO5KB3xOSWd97mCKNYbo2ITcRfT/0lHfNaFyyEyhu/SYS7W+/JzmIu65Wy+Ks4g5G +HVNYUxUuYE9YrSDMVh4O9OTaJBeo3wB4kvLeSUFeZMDE3kzg4kd+tmYrxT5J0UPnb/s WEhnszvf9Dxj5BbawvOd5nIdeaS4n0UI+3DDAuLUe4mW8exLY3P7zF5gAiJzcZBPEy3l QO0UbO0EcPSNuqeN/BodZFcMr6siUngRpqEnaQWSAjeeoKGAnTG9PHHhKgPkGXb4v4F2 IK5g== 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=GE5qnxXvS2xaIIAZw6xG4/Ai2cyjhKFs4sCIG0PgaKs=; b=HV319Ef8XhJsklYVu4RNEsZKnqEAQ6klZBRaRFAxXxmuGiLwWhmPLfRW2jP3/q3j30 RuEZjX7Ca7J9DRH3S/RL+TYN7JsUWCYKIY78jDjT1+ORiX3KPjJ/JlHlbsAxMigmX7Wx CLJtAGgfDTzMa3hpBR4WAlLT3l63kKSC13xzVGTG/LsXToF+w91VRW54WWAXqfY3Efit RjVpQE5koCsazKrtAdO1meujbb6RLkC/sbu1y3pVNjQ2iFEk2jw3Mr4MPA5BbSEc71ma x6Cki39DamFz53G61yIPzQxTORMpwbCTJ0mWM+VNCGjaIta8ZziNPPfU5q/Ge66PREaM tDrQ== X-Gm-Message-State: AA+aEWbCEVwm+p3w2g5cBCBP4nyE7vKnVRZFckxklZJQcfwtBZDed/c8 oV2gUb7vm/pghz6P0cEKGBmmV1ze X-Google-Smtp-Source: AFSGD/Vhi1zu1jwqyeGp+UHaGr90tGBjJ6BoFi5o29AjJET/womztrCf7q2VTCC0zz6U99DTX3RtkA== X-Received: by 2002:adf:f189:: with SMTP id h9mr8636151wro.35.1543687249526; Sat, 01 Dec 2018 10:00:49 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:49 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:18 +0100 Message-Id: <20181201180042.23103-5-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 04/28] bmips: bcm6358: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/brcm,bcm6358.dtsi | 18 ++++++++++++++++++ include/dt-bindings/dma/bcm6358-dma.h | 16 ++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 include/dt-bindings/dma/bcm6358-dma.h diff --git a/arch/mips/dts/brcm,bcm6358.dtsi b/arch/mips/dts/brcm,bcm6358.dtsi index 0617b46e92..5605723e83 100644 --- a/arch/mips/dts/brcm,bcm6358.dtsi +++ b/arch/mips/dts/brcm,bcm6358.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include "skeleton.dtsi" @@ -190,5 +191,22 @@ status = "disabled"; }; + + iudma: dma-controller@fffe5000 { + compatible = "brcm,bcm6348-iudma"; + reg = <0xfffe5000 0x24>, + <0xfffe5100 0x80>, + <0xfffe5200 0x80>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <8>; + clocks = <&periph_clk BCM6358_CLK_EMUSB>, + <&periph_clk BCM6358_CLK_USBSU>, + <&periph_clk BCM6358_CLK_EPHY>; + resets = <&periph_rst BCM6358_RST_ENET>, + <&periph_rst BCM6358_RST_EPHY>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm6358-dma.h b/include/dt-bindings/dma/bcm6358-dma.h new file mode 100644 index 0000000000..3118b9da0a --- /dev/null +++ b/include/dt-bindings/dma/bcm6358-dma.h @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM6358_H +#define __DT_BINDINGS_DMA_BCM6358_H + +#define BCM6358_DMA_ENET0_RX 0 +#define BCM6358_DMA_ENET0_TX 1 +#define BCM6358_DMA_ENET1_RX 2 +#define BCM6358_DMA_ENET1_TX 3 + +#endif /* __DT_BINDINGS_DMA_BCM6358_H */ From patchwork Sat Dec 1 18:00:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006376 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="DmYrt4YV"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fJr12WSz9sB7 for ; Sun, 2 Dec 2018 05:03:55 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 70165C22624; Sat, 1 Dec 2018 18:02:22 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 49B31C22661; Sat, 1 Dec 2018 18:00:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B0005C2264B; Sat, 1 Dec 2018 18:00:55 +0000 (UTC) Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by lists.denx.de (Postfix) with ESMTPS id 142A1C22650 for ; Sat, 1 Dec 2018 18:00:51 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id z18so1935827wmc.4 for ; Sat, 01 Dec 2018 10:00:51 -0800 (PST) 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=nfLfsswdbW5RZIbWPP0A0DNgyOqz2iblOAiKDBTrzwE=; b=DmYrt4YVh+kx7u+Dd8VRhVZAoWfXoKXpyVHJ5xPugPOm2CK0XxySRxj74r6w7on/m2 cPSrl0A8REhKikUSE+fQjgKp+O+O8uQK/LDsFmtDjFbnPaVu+XmQKG7xR2AmqJXJ3e33 2WtSZb0xY9/TGKoDcMMfsURlbdO9BGl8gW6EFQzukG+fE8OFJxB5X+Qy7zNPt+IQsnYy Ya1jrSi2MXXe/RLeDinSg4w4hmGpoxSlyj0MnjvfombTl0OGdi0n5H/03RsNVV+WLqjg WF6CWw5n4pA0bhMgLr2TtFy0h4O/6MpYNnvL32SP3yyJ4JVWdBoKJZ8ghiJCogx5ro5w t/Ag== 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=nfLfsswdbW5RZIbWPP0A0DNgyOqz2iblOAiKDBTrzwE=; b=sb6uDWtQkH+tCAppsokBxoIAfu6wLLHDCqW1QelriZB1yNxg4d6Nb9p/bXQPUmWv7E ++7Wroi8b9DWwUYFZBAso//lHZ0JnaF5X/UZc7LnMSgXulThzz+1GzBOykB89wRwM9Tl xymCL5PF5VNYjQp9v2Z4SnqVwbujR0+i0WtVy2h578f/QgJGc8H+Lg6WDww13uOvn6mp sRc3SvDk7D5oooXmQVzeaAJ+R7G5JmjjnSKSdtXubfxs5ToaXtN4+A8h7UiLnqbB89wn P1XtmtnkZUss19pvHAMXCjhhL5UgQOE5gCaHedV5MdD3DkQsWpzCUQ0vl1bdx+BZI2N9 zvAA== X-Gm-Message-State: AA+aEWbnwlMSS7EU3Veon02r1Ij/lMtqMUtRHUYlIeaXjRVMy87BOCNs 8b1naft3Oog/zfWVcuVj6UM4tVdl X-Google-Smtp-Source: AFSGD/VVQPrY18dylmgINMFf5EXURn//JBCuXMSIFTfqN+xRhC4XHAZ6Mvo56YiyiZqy31IOhcgl8g== X-Received: by 2002:a7b:c8d7:: with SMTP id f23mr2772558wml.121.1543687250479; Sat, 01 Dec 2018 10:00:50 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:49 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:19 +0100 Message-Id: <20181201180042.23103-6-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 05/28] bmips: bcm6368: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6368.dtsi | 13 +++++++++++++ include/dt-bindings/dma/bcm6368-dma.h | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/dt-bindings/dma/bcm6368-dma.h diff --git a/arch/mips/dts/brcm,bcm6368.dtsi b/arch/mips/dts/brcm,bcm6368.dtsi index 65d769ab4f..30047f6360 100644 --- a/arch/mips/dts/brcm,bcm6368.dtsi +++ b/arch/mips/dts/brcm,bcm6368.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include "skeleton.dtsi" @@ -192,5 +193,17 @@ status = "disabled"; }; + + iudma: dma-controller@10006800 { + compatible = "brcm,bcm6368-iudma"; + reg = <0x10006800 0x80>, + <0x10006a00 0x80>, + <0x10006c00 0x80>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <8>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm6368-dma.h b/include/dt-bindings/dma/bcm6368-dma.h new file mode 100644 index 0000000000..36c6caa0e1 --- /dev/null +++ b/include/dt-bindings/dma/bcm6368-dma.h @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM6368_H +#define __DT_BINDINGS_DMA_BCM6368_H + +#define BCM6368_DMA_ENETSW_RX 0 +#define BCM6368_DMA_ENETSW_TX 1 + +#endif /* __DT_BINDINGS_DMA_BCM6368_H */ From patchwork Sat Dec 1 18:00:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006383 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="LmEZ55g8"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fPD3cHlz9sB7 for ; Sun, 2 Dec 2018 05:07:44 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 271C7C22661; Sat, 1 Dec 2018 18:03:14 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 872DDC2266C; Sat, 1 Dec 2018 18:01:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 05550C22659; Sat, 1 Dec 2018 18:00:56 +0000 (UTC) Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by lists.denx.de (Postfix) with ESMTPS id 46C0FC22624 for ; Sat, 1 Dec 2018 18:00:52 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id y139so1920986wmc.5 for ; Sat, 01 Dec 2018 10:00:52 -0800 (PST) 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=pAE2+EE8/HCbUwgGq6t0uBZ9HWTBw00S7qCqewFZ00I=; b=LmEZ55g81fqBRjPNEJzFdbBpXgxB35K66T5QG11bzhvVw2Pi1BXhlyYu4oNgkYjEJ1 wjPnn7ywEGJGPJ5IYrKqgO94xEDGrZbJv7jSHRFhMxCm8yiMh8gx9V7en5zDBab4YoYG L5uohtJDzTLCFOcnoMvSGCsQucMec70EjmHNA31cpEI4TfKRE7gLuTE6EGWVul1SSFHF E5/jDwapetCyPXgROUi80W3xTP30Z87LwOaQ4ds2KzqqqnLag1InzwSFFR+cGwQOwBLW +ha6SPIJDaQsW+0Mm3GQwM4gZktLwkwRKBLr/7tiFAu5x+zWfQAAj66E52RADWhwCOtK jzPw== 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=pAE2+EE8/HCbUwgGq6t0uBZ9HWTBw00S7qCqewFZ00I=; b=aPSe6f45LMxzPbxpi9WPdj/6xpVMowifIRXFsErhIzBG8D/dvCrQsn+TuIYi9rUeAt PbDchUHqrcCHLA2oSsBrBM5cAzatkfhjfbWVtsFsj6sObGTjsq+pEhnbqHKz3x3tzaOA uqN7l4NUWCh/KKeTgEBrrcTpL3tVJ+VtiJxEy2DwYiOpoP1E2t3wzixEFYq7jBNtVy6S s9S1JxZwsZ7aDZZ6O2pOSNCcN1B7+RW6EdNl5pA7SILAzhvfX3MY2UrQW5as0perN+e1 /6Uh2PB8rZHuG9E2jfg+iFN9PsfHJjFfE1DqaY5907iZy7PvCu+lCM0rfggo8uOfmp2L E/0Q== X-Gm-Message-State: AA+aEWan4sPptb1zio3sXXoIN2EjbtSAEIY0UKDsAim+sAT6FyoWZ3AZ zjdgB+onbtZde5aIZ4FYd5OOlRLz X-Google-Smtp-Source: AFSGD/UGChYgxqybXgy+zk1PtAByfOucvEgOxnAaPmyqeMNjT5RhGip3G8h1eQsUFe1ioRHmNJRQ5g== X-Received: by 2002:a1c:b189:: with SMTP id a131mr2995956wmf.38.1543687251717; Sat, 01 Dec 2018 10:00:51 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:51 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:20 +0100 Message-Id: <20181201180042.23103-7-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 06/28] bmips: bcm6328: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6328.dtsi | 13 +++++++++++++ include/dt-bindings/dma/bcm6328-dma.h | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/dt-bindings/dma/bcm6328-dma.h diff --git a/arch/mips/dts/brcm,bcm6328.dtsi b/arch/mips/dts/brcm,bcm6328.dtsi index e00a2950e2..6fa49e22bb 100644 --- a/arch/mips/dts/brcm,bcm6328.dtsi +++ b/arch/mips/dts/brcm,bcm6328.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -187,5 +188,17 @@ reg = <0x10003000 0x864>; u-boot,dm-pre-reloc; }; + + iudma: dma-controller@1000d800 { + compatible = "brcm,bcm6368-iudma"; + reg = <0x1000d800 0x80>, + <0x1000da00 0x80>, + <0x1000dc00 0x80>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <8>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm6328-dma.h b/include/dt-bindings/dma/bcm6328-dma.h new file mode 100644 index 0000000000..7494df2feb --- /dev/null +++ b/include/dt-bindings/dma/bcm6328-dma.h @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM6328_H +#define __DT_BINDINGS_DMA_BCM6328_H + +#define BCM6328_DMA_ENETSW_RX 0 +#define BCM6328_DMA_ENETSW_TX 1 + +#endif /* __DT_BINDINGS_DMA_BCM6328_H */ From patchwork Sat Dec 1 18:00:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006384 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="UXTfZeZQ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fQV4F0Tz9rxp for ; Sun, 2 Dec 2018 05:08:50 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 4159BC2265E; Sat, 1 Dec 2018 18:05:56 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 8620DC2269C; Sat, 1 Dec 2018 18:01:21 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 17E87C22665; Sat, 1 Dec 2018 18:00:57 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id 0A0A4C22634 for ; Sat, 1 Dec 2018 18:00:53 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id g67so1919152wmd.2 for ; Sat, 01 Dec 2018 10:00:53 -0800 (PST) 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=6eIYHwjmPD9WTPvNfqCT4CoBydITyDlurkl9EO6r7xE=; b=UXTfZeZQDVQ76VyqygaPWFbvAeMzTgps1hgRWlb+d5Wjq9vyzFrODiKbM8DOfK6HOE 6SfaD9brcqm7GTiNtwcChklFKd8X741DfBkcSTw4Z/NP3guq/5Sl001RyxB4c1UtUupn R699WU/A/fiTqEZY0LiW53XYBT21Mg4W78aHRN0lvYy87E3gH2yWAhQPTjGRaBE0q3XY WlDXA3X8tD1Fn/suaUlJw7V0iz+Xbpd0spPOg4RL1J/RUk/HR0ZG9QzeSYD1ySuPr1Nr RS3pTv53JK0KSEzc9Ftc9lrVNhG/fdQwB/SDhDw/hFWMbpbUJaCpu1r7G0GW78jC1SUP 7yRA== 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=6eIYHwjmPD9WTPvNfqCT4CoBydITyDlurkl9EO6r7xE=; b=Gu/uHChhVjh7mO8rua4UfoQ7QCt5crxjVqzu92PBrc/bz/Dy50g84WRaCYPeF7pW9J O5Fu6bkp30DnldfLf3CvZpNccKkIIkzQFDqpYqlWs9f163rpwrIsK+agwT//frfMiZMg uKvafJ8r9FwV2Xz9+DEVfCB0R18RtxcavNbGp+BbTt/vAAm1pOypS0k+hb8vYR8tZvLl sdE4OU8TTMNZYeutPRiwl0DgsyG6N65KTlfxVLtkMuW3Z6BuRIS6jnEfXDrMNQAvm21Y gRDjtD/zTGfrgdL9I02eMAyrSS3X1szA8oRyuRT7VfZsmRTz/7yYnW1FXIyXsrrGk/cV SJlw== X-Gm-Message-State: AA+aEWbrQuyQ6y5M4bNuCbrp3wLKUni6QFqfbfvB1M4ewX9p3TcDvO8O z2AacX7qO9F9zaS6xTJeXvvoym0G X-Google-Smtp-Source: AFSGD/X5/UC4mG3qvp3NjtWWLYNZCsUxtVD+WQkAWlDxjjeUf13NqXanXXtzYUcIez5zP3wtQv83oQ== X-Received: by 2002:a7b:c003:: with SMTP id c3-v6mr2599196wmb.133.1543687252535; Sat, 01 Dec 2018 10:00:52 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:52 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:21 +0100 Message-Id: <20181201180042.23103-8-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 07/28] bmips: bcm6362: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6362.dtsi | 13 +++++++++++++ include/dt-bindings/dma/bcm6362-dma.h | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/dt-bindings/dma/bcm6362-dma.h diff --git a/arch/mips/dts/brcm,bcm6362.dtsi b/arch/mips/dts/brcm,bcm6362.dtsi index 3047b82b21..94e7de096d 100644 --- a/arch/mips/dts/brcm,bcm6362.dtsi +++ b/arch/mips/dts/brcm,bcm6362.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -211,5 +212,17 @@ reg = <0x10003000 0x864>; u-boot,dm-pre-reloc; }; + + iudma: dma-controller@1000d800 { + compatible = "brcm,bcm6368-iudma"; + reg = <0x1000d800 0x80>, + <0x1000da00 0x80>, + <0x1000dc00 0x80>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <8>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm6362-dma.h b/include/dt-bindings/dma/bcm6362-dma.h new file mode 100644 index 0000000000..1e62236daa --- /dev/null +++ b/include/dt-bindings/dma/bcm6362-dma.h @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM6362_H +#define __DT_BINDINGS_DMA_BCM6362_H + +#define BCM6362_DMA_ENETSW_RX 0 +#define BCM6362_DMA_ENETSW_TX 1 + +#endif /* __DT_BINDINGS_DMA_BCM6362_H */ From patchwork Sat Dec 1 18:00:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006382 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="K+YA2K4G"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fNd1VVfz9sB7 for ; Sun, 2 Dec 2018 05:07:13 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C99BEC22669; Sat, 1 Dec 2018 18:05:23 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 EC1D5C2262D; Sat, 1 Dec 2018 18:01:18 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 60AA9C22679; Sat, 1 Dec 2018 18:00:57 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id E940AC22655 for ; Sat, 1 Dec 2018 18:00:53 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id z18so1935954wmc.4 for ; Sat, 01 Dec 2018 10:00:53 -0800 (PST) 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=SKWtHLxnX6ql5GMpQbID5ojfHbutJqC0Z4FtQPWoLKs=; b=K+YA2K4GNy5ShznV/bxI1oNIQo9lUo2B1u0Hce9ienhvSyesI9HC+VDH29eop3BbIu 7ET2mRBGHLMtboKn0I3Du5ZZ3ZgraZpfl9lT2NmcPbHFs8RI5saM4oPBrbtM53jNwdZj SxeZMK69fbfLw3i1iHGJG2u+1/OuK3KNiyYhM4KgmKAT649K8b6MVT0PnTwsE33v4hNU RHbMwNm73QX2WIQqyKdd4TNbuwkh23h7JSpfYlkNQpnboPRnHACkMGBLXjrLEKINZfO7 ZoC5FaO9BzVrmL2TITfX8B3Zx4g7XDPhNESx+BFXe6YLvKp2f2wtlXBMFEYJIM8+vE8m 0JtQ== 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=SKWtHLxnX6ql5GMpQbID5ojfHbutJqC0Z4FtQPWoLKs=; b=PczfbqijJZJU/MMlJTPEfbGfzJ562e7fVrtC4Q0JN9+PDLxHMT3rQYEFuAqwRY360j rEnpJSTjMnkvNo412OjtLaRtUXzxLo9EFM8YPEZUmlB0vl2Z2P1DB48bSei4K/HT58qu vRvu9zYKsvCUB4vTKMyLeFS9wb5XQai0PfKV7GJsUekyCdM3Y6prubbiYNsupbe28MRA AeF5xeXCE0+zRYQ/XjYT+6tpKLOynoXdlZvAaHK7+bmHWlhotQwZaC4MaZjzpZT/4AzE eJBPFaX4BmH9BiCHKv3E+O4P+reZCc3vp6TUE4ZaK1YwCoTgAD8+5uFxjZePJJSVB5Hl WMBA== X-Gm-Message-State: AA+aEWasUs/pLgGCsvCmj/dwopewDLFdPdWgPv8m5Ivkv12M8NVEDIGy 1aX2VGbdJTBDxsZz5+o36WH/x0sJ X-Google-Smtp-Source: AFSGD/VafQi0O2fo1spx4IgB/lteW8UCDmfrtF/G7YvlYnzEtrkyxeR9MAv0Jm4j6aNWqMCJnisSEg== X-Received: by 2002:a1c:6382:: with SMTP id x124-v6mr3011791wmb.145.1543687253402; Sat, 01 Dec 2018 10:00:53 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:52 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:22 +0100 Message-Id: <20181201180042.23103-9-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 08/28] bmips: bcm63268: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm63268.dtsi | 13 +++++++++++++ include/dt-bindings/dma/bcm63268-dma.h | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/dt-bindings/dma/bcm63268-dma.h diff --git a/arch/mips/dts/brcm,bcm63268.dtsi b/arch/mips/dts/brcm,bcm63268.dtsi index 62c440e675..c7ad83c306 100644 --- a/arch/mips/dts/brcm,bcm63268.dtsi +++ b/arch/mips/dts/brcm,bcm63268.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -217,5 +218,17 @@ reg = <0x10003000 0x894>; u-boot,dm-pre-reloc; }; + + iudma: dma-controller@1000d800 { + compatible = "brcm,bcm6368-iudma"; + reg = <0x1000d800 0x80>, + <0x1000da00 0x80>, + <0x1000dc00 0x80>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <8>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm63268-dma.h b/include/dt-bindings/dma/bcm63268-dma.h new file mode 100644 index 0000000000..7d027119e6 --- /dev/null +++ b/include/dt-bindings/dma/bcm63268-dma.h @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM63268_H +#define __DT_BINDINGS_DMA_BCM63268_H + +#define BCM63268_DMA_ENETSW_RX 0 +#define BCM63268_DMA_ENETSW_TX 1 + +#endif /* __DT_BINDINGS_DMA_BCM63268_H */ From patchwork Sat Dec 1 18:00:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006378 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="kW1el62c"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fMd6L6dz9rxp for ; Sun, 2 Dec 2018 05:06:21 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 7E913C22289; Sat, 1 Dec 2018 18:04:12 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 057DAC2267E; Sat, 1 Dec 2018 18:01:08 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 9E49CC2265B; Sat, 1 Dec 2018 18:00:58 +0000 (UTC) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by lists.denx.de (Postfix) with ESMTPS id D15BEC22639 for ; Sat, 1 Dec 2018 18:00:54 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id n133so1910941wmd.4 for ; Sat, 01 Dec 2018 10:00:54 -0800 (PST) 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=GIoNWKRqWAef0kHbKXfPrV6szaPlKZc8s4DPwjqGy54=; b=kW1el62czj5B0yzIC2IE/1NwI5t30VnVtgKtLz6FJf7nl82U1tJ7AySaENGbWS5XYp zuznLxL0ZVbpUCheyT8qeKg2D87N6hjun8HfPuiaP5H8aDcyld1o6OXgZJVvnmksQfpu rwnmLk3hy434el+C9IFpYMbDrLTmQYko4jByj360uXouWZL9i4TJB/USsedhHzdprOB5 +RCyXTQj454L3UfELDLpojX2xBYUpiGLxD+XMTtD48snOZYMkdKNqBmeDzd1x+Fu8zrJ TBAFHzsvwZSfSh7xTqj3tsPLqK+UE+TEu8wDC8YAX6jXfEDiWWXcqePeVFb1YmSIjMDV hw2A== 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=GIoNWKRqWAef0kHbKXfPrV6szaPlKZc8s4DPwjqGy54=; b=Lau46ju19930UTdLlrgIaY6Ar9NmwU6nHxvPwww63uSHjeKZIw3lKWQ+kNbADtmZ5I /4vn6MCN9z/6kibZNu/YyUNdkekgSVRLCWmBOZBsqWE4Pt03gfOy0FtopeXLBiQ648Ev lvgREW9k8IdwCEGzf8IjJCAjfXmo+4dgRfYhYf0wEBOBL006Z04rcFR3NbnJIjiHFfZJ feut4B+scNDrPz/KyFoXacPWP197qetPRGPSm8DPIBws6JRqNUODcPu0mdSkxuVce6sM 6H5iubSrq7cWjM8PMATfDO5W1qmoZsG/DUshoHE41HT5LQcRy/Bu7CbPyKUH06GfDBh0 ksYA== X-Gm-Message-State: AA+aEWY+keDg+ms3XqlOwyGipVwku1XvB4Rt4ZNxNxla6F2mdPxDJWtb xFR+i2/6HSZij2J//oHOFUei1EeO X-Google-Smtp-Source: AFSGD/UB1he2RWH8mu6nPcoHaLFo6QStN9oPY/m2I9xRbrM17cS1NK4mhAKMV8sDfEeCcb1a4GMxzw== X-Received: by 2002:a1c:cec1:: with SMTP id e184mr2974126wmg.75.1543687254300; Sat, 01 Dec 2018 10:00:54 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:53 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:23 +0100 Message-Id: <20181201180042.23103-10-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 09/28] bmips: bcm6318: add bcm6348-iudma support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: fix license identifiers v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6318.dtsi | 19 +++++++++++++++++++ include/dt-bindings/dma/bcm6318-dma.h | 14 ++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 include/dt-bindings/dma/bcm6318-dma.h diff --git a/arch/mips/dts/brcm,bcm6318.dtsi b/arch/mips/dts/brcm,bcm6318.dtsi index f75988be12..d04b7cbb01 100644 --- a/arch/mips/dts/brcm,bcm6318.dtsi +++ b/arch/mips/dts/brcm,bcm6318.dtsi @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -54,6 +55,12 @@ reg = <0x10000004 0x4>; #clock-cells = <1>; }; + + ubus_clk: ubus-clk { + compatible = "brcm,bcm6345-clk"; + reg = <0x10000008 0x4>; + #clock-cells = <1>; + }; }; ubus { @@ -182,5 +189,17 @@ status = "disabled"; }; + + iudma: dma-controller@10088000 { + compatible = "brcm,bcm6368-iudma"; + reg = <0x10088000 0x80>, + <0x10088200 0x80>, + <0x10088400 0x80>; + reg-names = "dma", + "dma-channels", + "dma-sram"; + #dma-cells = <1>; + dma-channels = <8>; + }; }; }; diff --git a/include/dt-bindings/dma/bcm6318-dma.h b/include/dt-bindings/dma/bcm6318-dma.h new file mode 100644 index 0000000000..ad7c5ac2df --- /dev/null +++ b/include/dt-bindings/dma/bcm6318-dma.h @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c + */ + +#ifndef __DT_BINDINGS_DMA_BCM6318_H +#define __DT_BINDINGS_DMA_BCM6318_H + +#define BCM6318_DMA_ENETSW_RX 0 +#define BCM6318_DMA_ENETSW_TX 1 + +#endif /* __DT_BINDINGS_DMA_BCM6318_H */ From patchwork Sat Dec 1 18:00:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006380 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="J1CEFh68"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fN12Z4fz9rxp for ; Sun, 2 Dec 2018 05:06:41 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 045A1C22623; Sat, 1 Dec 2018 18:03:34 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 39169C22653; Sat, 1 Dec 2018 18:01:06 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B09ADC2264F; Sat, 1 Dec 2018 18:01:00 +0000 (UTC) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by lists.denx.de (Postfix) with ESMTPS id 0AC79C2261C for ; Sat, 1 Dec 2018 18:00:56 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id n133so1910970wmd.4 for ; Sat, 01 Dec 2018 10:00:56 -0800 (PST) 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=dvlY+1eWnanfR1oaoqd1gRogjiEjJuq1XPQTjaomnis=; b=J1CEFh68y5FawI12bv4/D+r2r4KKVjr/R1C6qvRt+UtfL7+OC/xUBO4oI+wrIzkYbF JlEPKCaiuJKhL/viwI7vFNV/5FSkODMzZELRu0AALi/4n7RmInd+z6ynlFJ1CV8fz1GR 1X0mWA9nurRlmtEqj34XJRyOHbGgNwbjXmrNcCcEzrF3U1gjmUmleQAWr+5h9uQw5Jnu nzUbyHXEFLAqEtAdDk7TOF4/es1UNf90if91ZdqsmkUUFnBJR/aoxHlJ0HJv7G9/V7KK XbG/PN4OSI3oyJqO9u5XPTP2nEMstp4ctQjcgenOSH9DxbapbSYIV0d0D/rwB3LsPphW MyOQ== 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=dvlY+1eWnanfR1oaoqd1gRogjiEjJuq1XPQTjaomnis=; b=ilipHK8dTaUR+s+dCbpPPrOn/VRWoYzLQOjqaEauQZ/yAwGMyprV14nvtgBwx0TlkE IDUUblw+htUH8Fv+o699n18YVvNvMEZduj1vFW+L219tLyMPpxGB10Laxrl7dAP8Ri8e yVLoeOQKs+NJxX12SLIB+ZsPxAG34yfb0SbEoGdSC+MwzuUA3OVAPMncOop4isB70jOa vzyLf2gRhBHzl0PoGkmz6QOMucZnbPGb/tiGXKW/M3U/+SHQnvAvFS/A6/ynH+hU4NkA ph7YATx4R28LJzlNkjTioED/4CvN7y75C80GoyrTa14orYRg21ITOMC/Au7fxFiuuMEF VBvQ== X-Gm-Message-State: AA+aEWauewpofyBX53RzgeYcPK0fiwQZWHx5Oku9auzknDMHzfe9+TnQ CtGDK2np/LqbAQ2akTUmWa7p+rd5 X-Google-Smtp-Source: AFSGD/UTcnWj/ZNMpUxfwvnuvLgTQiXBIV6fQeSvEkdvCun/mIJKOHIQSP+9YsqQFweIxfJaXWXCig== X-Received: by 2002:a1c:8c05:: with SMTP id o5mr2691450wmd.29.1543687255227; Sat, 01 Dec 2018 10:00:55 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:54 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:24 +0100 Message-Id: <20181201180042.23103-11-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 10/28] net: add support for bcm6348-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas Reviewed-by: Daniel Schwierzeck --- v11: no changes v10: Introduce changes suggested by Daniel Schwierzeck: - Fix license identifiers. - Remove packet queue. - Move dma_prepare_rcv_buf to free_pkt. - Switch to live DM live tree. v9: use dma_prepare_rcv_buf and remove dma rx channel reset: - bcm6348_eth_recv: clear dirty dma descriptors only when packets are copied from rx dma. - bcm6348_eth_send: remove dma rx channel reset when sending packet. v8: Introduce changes from Grygorii Strashko v5: Receive as much packets as possible from bcm6348-eth and cache them in net_rx_packets. This is needed in order to fix flow control issues. v4: Fix issues reported by Grygorii Strashko and other fixes: - Copy received dma buffer to net_rx_packets in order to avoid possible dma overwrites. - Reset dma rx channel when sending a new packet to prevent flow control issues. - Fix packet casting on bcm6348_eth_recv/send. v3: no changes v2: select DMA_CHANNELS. drivers/net/Kconfig | 10 + drivers/net/Makefile | 1 + drivers/net/bcm6348-eth.c | 537 +++++++++++++++++++++++++++++++++++++++++ include/configs/bmips_common.h | 6 +- 4 files changed, 553 insertions(+), 1 deletion(-) create mode 100644 drivers/net/bcm6348-eth.c diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 8fb365fc5d..2b7cec8804 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -72,6 +72,16 @@ config BCM_SF2_ETH_GMAC by the BCM_SF2_ETH driver. Say Y to any bcmcygnus based platforms. +config BCM6348_ETH + bool "BCM6348 EMAC support" + depends on DM_ETH && ARCH_BMIPS + select DMA + select DMA_CHANNELS + select MII + select PHYLIB + help + This driver supports the BCM6348 Ethernet MAC. + config DWC_ETH_QOS bool "Synopsys DWC Ethernet QOS device support" depends on DM_ETH diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 99056aa041..2647d4dd23 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_ALTERA_TSE) += altera_tse.o obj-$(CONFIG_AG7XXX) += ag7xxx.o obj-$(CONFIG_ARMADA100_FEC) += armada100_fec.o +obj-$(CONFIG_BCM6348_ETH) += bcm6348-eth.o obj-$(CONFIG_DRIVER_AT91EMAC) += at91_emac.o obj-$(CONFIG_DRIVER_AX88180) += ax88180.o obj-$(CONFIG_BCM_SF2_ETH) += bcm-sf2-eth.o diff --git a/drivers/net/bcm6348-eth.c b/drivers/net/bcm6348-eth.c new file mode 100644 index 0000000000..7100e68bd2 --- /dev/null +++ b/drivers/net/bcm6348-eth.c @@ -0,0 +1,537 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c: + * Copyright (C) 2008 Maxime Bizon + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define ETH_RX_DESC PKTBUFSRX +#define ETH_MAX_MTU_SIZE 1518 +#define ETH_TIMEOUT 100 +#define ETH_TX_WATERMARK 32 + +/* ETH Receiver Configuration register */ +#define ETH_RXCFG_REG 0x00 +#define ETH_RXCFG_ENFLOW_SHIFT 5 +#define ETH_RXCFG_ENFLOW_MASK (1 << ETH_RXCFG_ENFLOW_SHIFT) + +/* ETH Receive Maximum Length register */ +#define ETH_RXMAXLEN_REG 0x04 +#define ETH_RXMAXLEN_SHIFT 0 +#define ETH_RXMAXLEN_MASK (0x7ff << ETH_RXMAXLEN_SHIFT) + +/* ETH Transmit Maximum Length register */ +#define ETH_TXMAXLEN_REG 0x08 +#define ETH_TXMAXLEN_SHIFT 0 +#define ETH_TXMAXLEN_MASK (0x7ff << ETH_TXMAXLEN_SHIFT) + +/* MII Status/Control register */ +#define MII_SC_REG 0x10 +#define MII_SC_MDCFREQDIV_SHIFT 0 +#define MII_SC_MDCFREQDIV_MASK (0x7f << MII_SC_MDCFREQDIV_SHIFT) +#define MII_SC_PREAMBLE_EN_SHIFT 7 +#define MII_SC_PREAMBLE_EN_MASK (1 << MII_SC_PREAMBLE_EN_SHIFT) + +/* MII Data register */ +#define MII_DAT_REG 0x14 +#define MII_DAT_DATA_SHIFT 0 +#define MII_DAT_DATA_MASK (0xffff << MII_DAT_DATA_SHIFT) +#define MII_DAT_TA_SHIFT 16 +#define MII_DAT_TA_MASK (0x3 << MII_DAT_TA_SHIFT) +#define MII_DAT_REG_SHIFT 18 +#define MII_DAT_REG_MASK (0x1f << MII_DAT_REG_SHIFT) +#define MII_DAT_PHY_SHIFT 23 +#define MII_DAT_PHY_MASK (0x1f << MII_DAT_PHY_SHIFT) +#define MII_DAT_OP_SHIFT 28 +#define MII_DAT_OP_WRITE (0x5 << MII_DAT_OP_SHIFT) +#define MII_DAT_OP_READ (0x6 << MII_DAT_OP_SHIFT) + +/* ETH Interrupts Mask register */ +#define ETH_IRMASK_REG 0x18 + +/* ETH Interrupts register */ +#define ETH_IR_REG 0x1c +#define ETH_IR_MII_SHIFT 0 +#define ETH_IR_MII_MASK (1 << ETH_IR_MII_SHIFT) + +/* ETH Control register */ +#define ETH_CTL_REG 0x2c +#define ETH_CTL_ENABLE_SHIFT 0 +#define ETH_CTL_ENABLE_MASK (1 << ETH_CTL_ENABLE_SHIFT) +#define ETH_CTL_DISABLE_SHIFT 1 +#define ETH_CTL_DISABLE_MASK (1 << ETH_CTL_DISABLE_SHIFT) +#define ETH_CTL_RESET_SHIFT 2 +#define ETH_CTL_RESET_MASK (1 << ETH_CTL_RESET_SHIFT) +#define ETH_CTL_EPHY_SHIFT 3 +#define ETH_CTL_EPHY_MASK (1 << ETH_CTL_EPHY_SHIFT) + +/* ETH Transmit Control register */ +#define ETH_TXCTL_REG 0x30 +#define ETH_TXCTL_FD_SHIFT 0 +#define ETH_TXCTL_FD_MASK (1 << ETH_TXCTL_FD_SHIFT) + +/* ETH Transmit Watermask register */ +#define ETH_TXWMARK_REG 0x34 +#define ETH_TXWMARK_WM_SHIFT 0 +#define ETH_TXWMARK_WM_MASK (0x3f << ETH_TXWMARK_WM_SHIFT) + +/* MIB Control register */ +#define MIB_CTL_REG 0x38 +#define MIB_CTL_RDCLEAR_SHIFT 0 +#define MIB_CTL_RDCLEAR_MASK (1 << MIB_CTL_RDCLEAR_SHIFT) + +/* ETH Perfect Match registers */ +#define ETH_PM_CNT 4 +#define ETH_PML_REG(x) (0x58 + (x) * 0x8) +#define ETH_PMH_REG(x) (0x5c + (x) * 0x8) +#define ETH_PMH_VALID_SHIFT 16 +#define ETH_PMH_VALID_MASK (1 << ETH_PMH_VALID_SHIFT) + +/* MIB Counters registers */ +#define MIB_REG_CNT 55 +#define MIB_REG(x) (0x200 + (x) * 4) + +/* ETH data */ +struct bcm6348_eth_priv { + void __iomem *base; + /* DMA */ + struct dma rx_dma; + struct dma tx_dma; + /* PHY */ + int phy_id; + struct phy_device *phy_dev; +}; + +static void bcm6348_eth_mac_disable(struct bcm6348_eth_priv *priv) +{ + /* disable emac */ + clrsetbits_be32(priv->base + ETH_CTL_REG, ETH_CTL_ENABLE_MASK, + ETH_CTL_DISABLE_MASK); + + /* wait until emac is disabled */ + if (wait_for_bit_be32(priv->base + ETH_CTL_REG, + ETH_CTL_DISABLE_MASK, false, + ETH_TIMEOUT, false)) + pr_err("%s: error disabling emac\n", __func__); +} + +static void bcm6348_eth_mac_enable(struct bcm6348_eth_priv *priv) +{ + setbits_be32(priv->base + ETH_CTL_REG, ETH_CTL_ENABLE_MASK); +} + +static void bcm6348_eth_mac_reset(struct bcm6348_eth_priv *priv) +{ + /* reset emac */ + writel_be(ETH_CTL_RESET_MASK, priv->base + ETH_CTL_REG); + wmb(); + + /* wait until emac is reset */ + if (wait_for_bit_be32(priv->base + ETH_CTL_REG, + ETH_CTL_RESET_MASK, false, + ETH_TIMEOUT, false)) + pr_err("%s: error resetting emac\n", __func__); +} + +static int bcm6348_eth_free_pkt(struct udevice *dev, uchar *packet, int len) +{ + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + + return dma_prepare_rcv_buf(&priv->rx_dma, packet, len); +} + +static int bcm6348_eth_recv(struct udevice *dev, int flags, uchar **packetp) +{ + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + + return dma_receive(&priv->rx_dma, (void**)packetp, NULL); +} + +static int bcm6348_eth_send(struct udevice *dev, void *packet, int length) +{ + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + + return dma_send(&priv->tx_dma, packet, length, NULL); +} + +static int bcm6348_eth_adjust_link(struct udevice *dev, + struct phy_device *phydev) +{ + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + + /* mac duplex parameters */ + if (phydev->duplex) + setbits_be32(priv->base + ETH_TXCTL_REG, ETH_TXCTL_FD_MASK); + else + clrbits_be32(priv->base + ETH_TXCTL_REG, ETH_TXCTL_FD_MASK); + + /* rx flow control (pause frame handling) */ + if (phydev->pause) + setbits_be32(priv->base + ETH_RXCFG_REG, + ETH_RXCFG_ENFLOW_MASK); + else + clrbits_be32(priv->base + ETH_RXCFG_REG, + ETH_RXCFG_ENFLOW_MASK); + + return 0; +} + +static int bcm6348_eth_start(struct udevice *dev) +{ + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + int ret, i; + + /* prepare rx dma buffers */ + for (i = 0; i < ETH_RX_DESC; i++) { + ret = dma_prepare_rcv_buf(&priv->rx_dma, net_rx_packets[i], + PKTSIZE_ALIGN); + if (ret < 0) + break; + } + + /* enable dma rx channel */ + dma_enable(&priv->rx_dma); + + /* enable dma tx channel */ + dma_enable(&priv->tx_dma); + + ret = phy_startup(priv->phy_dev); + if (ret) { + pr_err("%s: could not initialize phy\n", __func__); + return ret; + } + + if (!priv->phy_dev->link) { + pr_err("%s: no phy link\n", __func__); + return -EIO; + } + + bcm6348_eth_adjust_link(dev, priv->phy_dev); + + /* zero mib counters */ + for (i = 0; i < MIB_REG_CNT; i++) + writel_be(0, MIB_REG(i)); + + /* enable rx flow control */ + setbits_be32(priv->base + ETH_RXCFG_REG, ETH_RXCFG_ENFLOW_MASK); + + /* set max rx/tx length */ + writel_be((ETH_MAX_MTU_SIZE << ETH_RXMAXLEN_SHIFT) & + ETH_RXMAXLEN_MASK, priv->base + ETH_RXMAXLEN_REG); + writel_be((ETH_MAX_MTU_SIZE << ETH_TXMAXLEN_SHIFT) & + ETH_TXMAXLEN_MASK, priv->base + ETH_TXMAXLEN_REG); + + /* set correct transmit fifo watermark */ + writel_be((ETH_TX_WATERMARK << ETH_TXWMARK_WM_SHIFT) & + ETH_TXWMARK_WM_MASK, priv->base + ETH_TXWMARK_REG); + + /* enable emac */ + bcm6348_eth_mac_enable(priv); + + /* clear interrupts */ + writel_be(0, priv->base + ETH_IRMASK_REG); + + return 0; +} + +static void bcm6348_eth_stop(struct udevice *dev) +{ + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + + /* disable dma rx channel */ + dma_disable(&priv->rx_dma); + + /* disable dma tx channel */ + dma_disable(&priv->tx_dma); + + /* disable emac */ + bcm6348_eth_mac_disable(priv); +} + +static int bcm6348_eth_write_hwaddr(struct udevice *dev) +{ + struct eth_pdata *pdata = dev_get_platdata(dev); + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + bool running = false; + + /* check if emac is running */ + if (readl_be(priv->base + ETH_CTL_REG) & ETH_CTL_ENABLE_MASK) + running = true; + + /* disable emac */ + if (running) + bcm6348_eth_mac_disable(priv); + + /* set mac address */ + writel_be((pdata->enetaddr[2] << 24) | (pdata->enetaddr[3]) << 16 | + (pdata->enetaddr[4]) << 8 | (pdata->enetaddr[5]), + priv->base + ETH_PML_REG(0)); + writel_be((pdata->enetaddr[1]) | (pdata->enetaddr[0] << 8) | + ETH_PMH_VALID_MASK, priv->base + ETH_PMH_REG(0)); + + /* enable emac */ + if (running) + bcm6348_eth_mac_enable(priv); + + return 0; +} + +static const struct eth_ops bcm6348_eth_ops = { + .free_pkt = bcm6348_eth_free_pkt, + .recv = bcm6348_eth_recv, + .send = bcm6348_eth_send, + .start = bcm6348_eth_start, + .stop = bcm6348_eth_stop, + .write_hwaddr = bcm6348_eth_write_hwaddr, +}; + +static const struct udevice_id bcm6348_eth_ids[] = { + { .compatible = "brcm,bcm6348-enet", }, + { /* sentinel */ } +}; + +static int bcm6348_mdio_op(void __iomem *base, uint32_t data) +{ + /* make sure mii interrupt status is cleared */ + writel_be(ETH_IR_MII_MASK, base + ETH_IR_REG); + + /* issue mii op */ + writel_be(data, base + MII_DAT_REG); + + /* wait until emac is disabled */ + return wait_for_bit_be32(base + ETH_IR_REG, + ETH_IR_MII_MASK, true, + ETH_TIMEOUT, false); +} + +static int bcm6348_mdio_read(struct mii_dev *bus, int addr, int devaddr, + int reg) +{ + void __iomem *base = bus->priv; + uint32_t val; + + val = MII_DAT_OP_READ; + val |= (reg << MII_DAT_REG_SHIFT) & MII_DAT_REG_MASK; + val |= (0x2 << MII_DAT_TA_SHIFT) & MII_DAT_TA_MASK; + val |= (addr << MII_DAT_PHY_SHIFT) & MII_DAT_PHY_MASK; + + if (bcm6348_mdio_op(base, val)) { + pr_err("%s: timeout\n", __func__); + return -EINVAL; + } + + val = readl_be(base + MII_DAT_REG) & MII_DAT_DATA_MASK; + val >>= MII_DAT_DATA_SHIFT; + + return val; +} + +static int bcm6348_mdio_write(struct mii_dev *bus, int addr, int dev_addr, + int reg, u16 value) +{ + void __iomem *base = bus->priv; + uint32_t val; + + val = MII_DAT_OP_WRITE; + val |= (reg << MII_DAT_REG_SHIFT) & MII_DAT_REG_MASK; + val |= (0x2 << MII_DAT_TA_SHIFT) & MII_DAT_TA_MASK; + val |= (addr << MII_DAT_PHY_SHIFT) & MII_DAT_PHY_MASK; + val |= (value << MII_DAT_DATA_SHIFT) & MII_DAT_DATA_MASK; + + if (bcm6348_mdio_op(base, val)) { + pr_err("%s: timeout\n", __func__); + return -EINVAL; + } + + return 0; +} + +static int bcm6348_mdio_init(const char *name, void __iomem *base) +{ + struct mii_dev *bus; + + bus = mdio_alloc(); + if (!bus) { + pr_err("%s: failed to allocate MDIO bus\n", __func__); + return -ENOMEM; + } + + bus->read = bcm6348_mdio_read; + bus->write = bcm6348_mdio_write; + bus->priv = base; + snprintf(bus->name, sizeof(bus->name), "%s", name); + + return mdio_register(bus); +} + +static int bcm6348_phy_init(struct udevice *dev) +{ + struct eth_pdata *pdata = dev_get_platdata(dev); + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + struct mii_dev *bus; + + /* get mii bus */ + bus = miiphy_get_dev_by_name(dev->name); + + /* phy connect */ + priv->phy_dev = phy_connect(bus, priv->phy_id, dev, + pdata->phy_interface); + if (!priv->phy_dev) { + pr_err("%s: no phy device\n", __func__); + return -ENODEV; + } + + priv->phy_dev->supported = (SUPPORTED_10baseT_Half | + SUPPORTED_10baseT_Full | + SUPPORTED_100baseT_Half | + SUPPORTED_100baseT_Full | + SUPPORTED_Autoneg | + SUPPORTED_Pause | + SUPPORTED_MII); + priv->phy_dev->advertising = priv->phy_dev->supported; + + /* phy config */ + phy_config(priv->phy_dev); + + return 0; +} + +static int bcm6348_eth_probe(struct udevice *dev) +{ + struct eth_pdata *pdata = dev_get_platdata(dev); + struct bcm6348_eth_priv *priv = dev_get_priv(dev); + struct ofnode_phandle_args phy; + const char *phy_mode; + int ret, i; + + /* get base address */ + priv->base = dev_remap_addr(dev); + if (!priv->base) + return -EINVAL; + pdata->iobase = (phys_addr_t) priv->base; + + /* get phy mode */ + pdata->phy_interface = PHY_INTERFACE_MODE_NONE; + phy_mode = dev_read_string(dev, "phy-mode"); + if (phy_mode) + pdata->phy_interface = phy_get_interface_by_name(phy_mode); + if (pdata->phy_interface == PHY_INTERFACE_MODE_NONE) + return -ENODEV; + + /* get phy */ + if (dev_read_phandle_with_args(dev, "phy", NULL, 0, 0, &phy)) + return -ENOENT; + priv->phy_id = ofnode_read_u32_default(phy.node, "reg", -1); + + /* get dma channels */ + ret = dma_get_by_name(dev, "tx", &priv->tx_dma); + if (ret) + return -EINVAL; + + ret = dma_get_by_name(dev, "rx", &priv->rx_dma); + if (ret) + return -EINVAL; + + /* try to enable clocks */ + for (i = 0; ; i++) { + struct clk clk; + int ret; + + ret = clk_get_by_index(dev, i, &clk); + if (ret < 0) + break; + + ret = clk_enable(&clk); + if (ret < 0) { + pr_err("%s: error enabling clock %d\n", __func__, i); + return ret; + } + + ret = clk_free(&clk); + if (ret < 0) { + pr_err("%s: error freeing clock %d\n", __func__, i); + return ret; + } + } + + /* try to perform resets */ + for (i = 0; ; i++) { + struct reset_ctl reset; + int ret; + + ret = reset_get_by_index(dev, i, &reset); + if (ret < 0) + break; + + ret = reset_deassert(&reset); + if (ret < 0) { + pr_err("%s: error deasserting reset %d\n", __func__, i); + return ret; + } + + ret = reset_free(&reset); + if (ret < 0) { + pr_err("%s: error freeing reset %d\n", __func__, i); + return ret; + } + } + + /* disable emac */ + bcm6348_eth_mac_disable(priv); + + /* reset emac */ + bcm6348_eth_mac_reset(priv); + + /* select correct mii interface */ + if (pdata->phy_interface == PHY_INTERFACE_MODE_INTERNAL) + clrbits_be32(priv->base + ETH_CTL_REG, ETH_CTL_EPHY_MASK); + else + setbits_be32(priv->base + ETH_CTL_REG, ETH_CTL_EPHY_MASK); + + /* turn on mdc clock */ + writel_be((0x1f << MII_SC_MDCFREQDIV_SHIFT) | + MII_SC_PREAMBLE_EN_MASK, priv->base + MII_SC_REG); + + /* set mib counters to not clear when read */ + clrbits_be32(priv->base + MIB_CTL_REG, MIB_CTL_RDCLEAR_MASK); + + /* initialize perfect match registers */ + for (i = 0; i < ETH_PM_CNT; i++) { + writel_be(0, priv->base + ETH_PML_REG(i)); + writel_be(0, priv->base + ETH_PMH_REG(i)); + } + + /* init mii bus */ + ret = bcm6348_mdio_init(dev->name, priv->base); + if (ret) + return ret; + + /* init phy */ + ret = bcm6348_phy_init(dev); + if (ret) + return ret; + + return 0; +} + +U_BOOT_DRIVER(bcm6348_eth) = { + .name = "bcm6348_eth", + .id = UCLASS_ETH, + .of_match = bcm6348_eth_ids, + .ops = &bcm6348_eth_ops, + .platdata_auto_alloc_size = sizeof(struct eth_pdata), + .priv_auto_alloc_size = sizeof(struct bcm6348_eth_priv), + .probe = bcm6348_eth_probe, +}; diff --git a/include/configs/bmips_common.h b/include/configs/bmips_common.h index 39ca2e0bf3..788f4af70d 100644 --- a/include/configs/bmips_common.h +++ b/include/configs/bmips_common.h @@ -6,6 +6,10 @@ #ifndef __CONFIG_BMIPS_COMMON_H #define __CONFIG_BMIPS_COMMON_H +/* ETH */ +#define CONFIG_PHY_RESET_DELAY 20 +#define CONFIG_SYS_RX_ETH_BUFFER 6 + /* UART */ #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \ 230400, 500000, 1500000 } @@ -16,7 +20,7 @@ /* Memory usage */ #define CONFIG_SYS_MAXARGS 24 -#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) +#define CONFIG_SYS_MALLOC_LEN (2 * 1024 * 1024) #define CONFIG_SYS_BOOTPARAMS_LEN (128 * 1024) #define CONFIG_SYS_CBSIZE 512 From patchwork Sat Dec 1 18:00:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006379 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="JvCNEg3M"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fMg2CWKz9sB7 for ; Sun, 2 Dec 2018 05:06:23 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B03EAC2266D; Sat, 1 Dec 2018 18:04:47 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 69F63C22634; Sat, 1 Dec 2018 18:01:14 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D65DDC2268B; Sat, 1 Dec 2018 18:01:00 +0000 (UTC) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by lists.denx.de (Postfix) with ESMTPS id 7BE67C22637 for ; Sat, 1 Dec 2018 18:00:56 +0000 (UTC) Received: by mail-wr1-f67.google.com with SMTP id t27so8225127wra.6 for ; Sat, 01 Dec 2018 10:00:56 -0800 (PST) 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=Xu8oWBfcQHnLf7OlWxXtHnEKK6NLt4U4JNpRWA/yBts=; b=JvCNEg3MJs7AFuOIUUBVEa1TyveuGElwWrN2zmC/tkhOCHq71ulcc8IXACx7/v2u7g sFvnXvZ/cQW5A291keDRQmRfo5fvKzFjLrO/VPCRiquvHwTGXMoQBJXR2NCLbFCzmrjr eLAkLr5TWyrwqWgtPK25rASO1lVAVULYHJGKdINMj+ldm3QHhSYPOpsTiNvI6PPlltEy 4ppuJkvcs7zh0vYcz/zA5JYvi9Rryw+CyAOoWb89tDEsOEDVXxzRwhoi36ti4CdszkSh 3x0iDr8tADmmLI5FLWvZZuPZe/yMoCa//LauC6wxOLlyhBG4lzocBvBuAUbUSw+96+tl hHkA== 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=Xu8oWBfcQHnLf7OlWxXtHnEKK6NLt4U4JNpRWA/yBts=; b=tvUC2/9k0+bjtI0TCdWOa/yZGPdSVsf8OnnPCdf7QX2GasJft3zl+dm+tpKpEuH2v9 1iQA+FSWvtXQQVyyxV+lSQNfUCp2GzmiaEojpkW+evWfxRSaVq7r7cZOqGWe0XYMz0I2 zRZODHXYDOeLjXq5JU1RvKKmutQcUQG3AKzJubraj8TEFyFAcoRgxEje/wF0CV9QK7hV ZgWogej5y8eEtUczUmKi98S1XkSbWHCtjMsM9VLQg4CPknob3l4cRC73YedSg6z8CK+1 1l/c93aiMeAJUKZyb+IT7Go2l6eRP7VmL1+ajBXf+mUAvzl1rmnSQAbzdlUvJXJ7CI6m 0shw== X-Gm-Message-State: AA+aEWamSuIOqhZB0dgPj9DDsjjPtYTUHuvJpuH5KFxS2ZukU4p1mFWw 95FgPsxqLMzgVEaT9oGptI+WrHX5 X-Google-Smtp-Source: AFSGD/WTYc3P3qG6nvNTDDq3536eBDmU5Qz4HdUp12EESjv95ZNS+v2UfBEF+wxBIcGD/CHv3fWPQw== X-Received: by 2002:a5d:570c:: with SMTP id a12mr8362614wrv.161.1543687256027; Sat, 01 Dec 2018 10:00:56 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:55 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:25 +0100 Message-Id: <20181201180042.23103-12-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 11/28] bmips: bcm6338: add support for bcm6348-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/brcm,bcm6338.dtsi | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/arch/mips/dts/brcm,bcm6338.dtsi b/arch/mips/dts/brcm,bcm6338.dtsi index 990355481c..c547e949dd 100644 --- a/arch/mips/dts/brcm,bcm6338.dtsi +++ b/arch/mips/dts/brcm,bcm6338.dtsi @@ -144,5 +144,20 @@ dma-channels = <6>; resets = <&periph_rst BCM6338_RST_DMAMEM>; }; + + enet: ethernet@fffe2800 { + compatible = "brcm,bcm6348-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffe2800 0x2dc>; + clocks = <&periph_clk BCM6338_CLK_ENET>; + resets = <&periph_rst BCM6338_RST_ENET>; + dmas = <&iudma BCM6338_DMA_ENET_RX>, + <&iudma BCM6338_DMA_ENET_TX>; + dma-names = "rx", + "tx"; + + status = "disabled"; + }; }; }; From patchwork Sat Dec 1 18:00:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006377 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="SKVAtAJa"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fLl1bD3z9rxp for ; Sun, 2 Dec 2018 05:05:35 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B328BC22659; Sat, 1 Dec 2018 18:04:29 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 AA57EC22685; Sat, 1 Dec 2018 18:01:08 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 5C497C2267C; Sat, 1 Dec 2018 18:01:01 +0000 (UTC) Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by lists.denx.de (Postfix) with ESMTPS id 6158BC2265A for ; Sat, 1 Dec 2018 18:00:57 +0000 (UTC) Received: by mail-wm1-f45.google.com with SMTP id y1so1931105wmi.3 for ; Sat, 01 Dec 2018 10:00:57 -0800 (PST) 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=qWku1EIxvAsbV8ludojQExhk55RWH5TkKwjIVMpC0dE=; b=SKVAtAJa3G4O8t9/NUaMLtAWlO6iqcgxT5yMjaC9UJbEMxNJ+CEr6oCvAkpLsDTgAA zzivoRf4MXyPVn3kcTaOnNzG5KOnuJFEgP3u9Csl3gJ07dhTg99ljIHZ4oZmP8Q13FpC NCCKLZop7nUeZvHzcGfv2T93G/MayAKy7gvBhfcOPeZQjN9dtwYUOtAK159qoDsvM+zS ebGeNdlwqJK5CllTz28kAaPzMniCvUjNz/jv5iQDYeEv66eZIkxZvh6XMDq9HNhqDNsA qpmqy0Xel/JG92KaAEi+bdc9nk86UsZtPq8wk8urzB3lXRL3ksl0PGwVAU4KcKsup8C7 wNgg== 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=qWku1EIxvAsbV8ludojQExhk55RWH5TkKwjIVMpC0dE=; b=SeZhkQQaUOlL96g5MuObAc9LAwVAKpbaiBSCgEeGK1AXrGys9pS8euzMPfS4XsYLus 7mmMbAMejtBt+DDNJ4AuAYDv/uSMStZD+cO1Docl8/n5STE2Ncc3jksZjPNn0NSMGuUh wBDRXk4CfKOLhaBoVTiRimbgyGobPGadAqOLU8HeyamzaRV6KHAOccT2rtqm4ZsRgEif ZB+Pbxpmii63nhXS200XHTPmo3CUvk9aH6/oyMJET3HpyDC1mzA36xOeEMxo7HNV1Re8 mpnszbxrEFD4nX6PPu88MnYqGMuXMxKWasJZuJ3w9ZHaC1NR5+Nkc9/OPxbO9S6UoxAG iTlw== X-Gm-Message-State: AA+aEWYkDzBHypLKnpXi85cOkkVXBJpQtm7xdmz2wASYW5PNED9Zpfwy S8z2+GAt6YWwVp1MGgUQprsFIP1X X-Google-Smtp-Source: AFSGD/VpEodg9E0NSR0x8V0cTnufY0O9rbcr8gReHfQO0OIckCwNFzKOE1MRYk1Cm5fNAHnevqFwaw== X-Received: by 2002:a1c:5604:: with SMTP id k4mr2769779wmb.107.1543687256851; Sat, 01 Dec 2018 10:00:56 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:56 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:26 +0100 Message-Id: <20181201180042.23103-13-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 12/28] bmips: enable f@st1704 enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/sagem,f@st1704.dts | 12 ++++++++++++ configs/sagem_f@st1704_ram_defconfig | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/sagem,f@st1704.dts b/arch/mips/dts/sagem,f@st1704.dts index 5300f8b6df..ec6846dd9f 100644 --- a/arch/mips/dts/sagem,f@st1704.dts +++ b/arch/mips/dts/sagem,f@st1704.dts @@ -39,6 +39,18 @@ }; }; +&enet { + status = "okay"; + phy = <&enetphy>; + phy-mode = "mii"; + + enetphy: fixed-link { + reg = <1>; + speed = <100>; + full-duplex; + }; +}; + &gpio { status = "okay"; }; diff --git a/configs/sagem_f@st1704_ram_defconfig b/configs/sagem_f@st1704_ram_defconfig index 91a966327a..8c36f5dbf8 100644 --- a/configs/sagem_f@st1704_ram_defconfig +++ b/configs/sagem_f@st1704_ram_defconfig @@ -27,11 +27,14 @@ CONFIG_CMD_MEMINFO=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_SF=y CONFIG_CMD_SPI=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="sagem,f@st1704" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_BCM6345_GPIO=y CONFIG_LED=y @@ -40,6 +43,9 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_MTD=y +CONFIG_PHY_FIXED=y +CONFIG_DM_ETH=y +CONFIG_BCM6348_ETH=y CONFIG_DM_RESET=y CONFIG_RESET_BCM6345=y # CONFIG_SPL_SERIAL_PRESENT is not set From patchwork Sat Dec 1 18:00:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006387 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="l6C1zd5b"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fWT4gsCz9rxp for ; Sun, 2 Dec 2018 05:13:04 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 8A343C22645; Sat, 1 Dec 2018 18:05:40 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 AB585C22697; Sat, 1 Dec 2018 18:01:20 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D2BC0C2264F; Sat, 1 Dec 2018 18:01:02 +0000 (UTC) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by lists.denx.de (Postfix) with ESMTPS id 56890C2265E for ; Sat, 1 Dec 2018 18:00:58 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id t27so8225176wra.6 for ; Sat, 01 Dec 2018 10:00:58 -0800 (PST) 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=qxxixHLrtUGmgjtf87F8XPpCkvoEc0wDIyJ23Psb++c=; b=l6C1zd5buFcINX2zLFA2pObuOei4fTjvL2I5ylfjJDrA1WyhpMRKPhj17rd49TSku8 qqWRwy7SlWS4yoe9ks7GqCklq2svyiBQ5RNt2SkS4tTjJk1orJ+meDYniPKoY/ITfkyt iG90iO6tPqGXiWnjsaQ++Rwlr9Bm4dS7klR352MmrPWUiZLWfSdypuCXStYBIvqmXv+J wkkDz9KtbODfhjCvq6XIf78tYFkqHfP2PNGqLO/wY46tru232NnSPl1VZQ3uy7FUEWfx 5a2l+p262S10ShMkFQbvsq0ULTPK+z68iMxok6hTGEGmzss0KZ1tjlKw4E2i7/rVMkrN Qi7A== 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=qxxixHLrtUGmgjtf87F8XPpCkvoEc0wDIyJ23Psb++c=; b=Mng42NV26NWEKX9wBonmfFkODGEv0g2+yVrnlzRJknYTP4gBxctCIdfMMda4+aKGVy FOcUqBcBwf5ws/mK2+KIgKa7mV2sPg06vJluX2SS8MDWNMBhNsr1AqSbGEnRGQrqzcfl lglTZyXZ/DDfoU64j1EnT+OfrbTIZk5kb41aFIdPxjdTWsT/87ULSFp/2oncRpMq9lzj h4HYe2zwL6jPyAEE60prjKXnpmRWIK61vi7PJDOJZDsaRR7QhOpfZQqfYgLFxnliZEDa avKfPYqoShGA6Wv28FNtA5bbusl8ZlMH7hyyIgVR1tDWtIaIA4sARz99ruKHMpTVIgTl CDPw== X-Gm-Message-State: AA+aEWYVoaYbe+qRYYSmITbDehbVYs3ry+AhLnLjqDWT/FVl5aJFQHSN 3bNaBzxblv4NTnQ5WVSMAYyFHo3f X-Google-Smtp-Source: AFSGD/WMMQwWbLNKPrlFdiz3bpSnWKP30ytdsJgozFYEp+izh+P4n4rz3xTEBaP8OtC3jk24oL6KpA== X-Received: by 2002:adf:f401:: with SMTP id g1mr8945957wro.103.1543687257694; Sat, 01 Dec 2018 10:00:57 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:57 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:27 +0100 Message-Id: <20181201180042.23103-14-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 13/28] bmips: bcm6348: add support for bcm6348-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/brcm,bcm6348.dtsi | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/arch/mips/dts/brcm,bcm6348.dtsi b/arch/mips/dts/brcm,bcm6348.dtsi index 875de232ca..79e7bd892b 100644 --- a/arch/mips/dts/brcm,bcm6348.dtsi +++ b/arch/mips/dts/brcm,bcm6348.dtsi @@ -161,6 +161,32 @@ u-boot,dm-pre-reloc; }; + enet0: ethernet@fffe6000 { + compatible = "brcm,bcm6348-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffe6000 0x2dc>; + dmas = <&iudma BCM6348_DMA_ENET0_RX>, + <&iudma BCM6348_DMA_ENET0_TX>; + dma-names = "rx", + "tx"; + + status = "disabled"; + }; + + enet1: ethernet@fffe6800 { + compatible = "brcm,bcm6348-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffe6800 0x2dc>; + dmas = <&iudma BCM6348_DMA_ENET1_RX>, + <&iudma BCM6348_DMA_ENET1_TX>; + dma-names = "rx", + "tx"; + + status = "disabled"; + }; + iudma: dma-controller@fffe7000 { compatible = "brcm,bcm6348-iudma"; reg = <0xfffe7000 0x1c>, From patchwork Sat Dec 1 18:00:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006394 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="rBus0+nW"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fcQ1wd4z9rxp for ; Sun, 2 Dec 2018 05:17:25 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 95B4BC22677; Sat, 1 Dec 2018 18:05:05 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 17E25C22660; Sat, 1 Dec 2018 18:01:18 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CFE61C22289; Sat, 1 Dec 2018 18:01:03 +0000 (UTC) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by lists.denx.de (Postfix) with ESMTPS id 6202BC22653 for ; Sat, 1 Dec 2018 18:00:59 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id z5so8211702wrt.11 for ; Sat, 01 Dec 2018 10:00:59 -0800 (PST) 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=y8vaB4fQe0WY5ld9QrHt7hjNyajjVFw51fBRzQfERPI=; b=rBus0+nW/Kp68h9+k+46svJPyOH/LDDDQnhOTiv0CPgqcAP76tBCu2oaJU8nGcQMuw tz7/46muQPtlG+6r3jze5QpKAxKzY8Ui4Inejc4S8Yly7rg903X4ukK2wxyAFb3mw+5t RC1Dui9ISr7aoXZeQOPingVI2NdtPySvNVqhD6c0SzGXdXxazxZnvnQ5gNNLXYdf/IEJ 6YSGdx+ajPAUhhW07jbyzFMu5ITdBjzvH2i4PtyFpKDxExfmi/sZyprkVSSEKVFNJI9i 7LbpYarXtdA/aW+6W5v/Wpe9Irkx8Rx68zSkDrMK6XxQBk11lOOh/v6NhHjYWyTH4GlT leuA== 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=y8vaB4fQe0WY5ld9QrHt7hjNyajjVFw51fBRzQfERPI=; b=nD2xQhWRsPnOt6GPrxFUE+VtdNwuc9CRoeZvdVya+gjLatG6grFYED6J7dfcVeF+uw wMBy78pgjm0rZ7O3865fdOSRuP6n7e91mm4gJISDOqHeayKI46DD9N8WSH5Dzyw/yz7i gpCZcI8ZLyfeo480twBfuqidNDB/g2UMbt1orECKvqwcs+MnCK4KT2moaLhGNquHtvyC Vt+zvtZav7ACES7ba082GrtgmOknVqQFN0uBqrs3i1hBf4z1EE6YbWPmv/17nsRWrUTO I1mUbp57PFSjXV/jkIal2Vs/FjOppadW0n0oJN2KbUO/myA3U1SjD4VrXKfT529EFaOV Fq1w== X-Gm-Message-State: AA+aEWYYuneAkcWCGS37yJVOLwHBZnyedfuDy7kfY+thm8vja1+BqhYd HevJs5FqLAy1br/SisibwmPa+63n X-Google-Smtp-Source: AFSGD/VIsVgoRccroOLi4TfzL+AAVIfoLqEZiUaSmiK2DXYUF1lhp2KCwMXRD32fBPGF6HxWB6x21w== X-Received: by 2002:a05:6000:100f:: with SMTP id a15mr9063297wrx.298.1543687258940; Sat, 01 Dec 2018 10:00:58 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:58 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:28 +0100 Message-Id: <20181201180042.23103-15-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 14/28] bmips: enable ct-5361 enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/comtrend,ct-5361.dts | 12 ++++++++++++ configs/comtrend_ct5361_ram_defconfig | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/comtrend,ct-5361.dts b/arch/mips/dts/comtrend,ct-5361.dts index 25747ca95d..f6b8a94e25 100644 --- a/arch/mips/dts/comtrend,ct-5361.dts +++ b/arch/mips/dts/comtrend,ct-5361.dts @@ -34,6 +34,18 @@ }; }; +&enet1 { + status = "okay"; + phy = <&enet1phy>; + phy-mode = "mii"; + + enet1phy: fixed-link { + reg = <1>; + speed = <100>; + full-duplex; + }; +}; + &gpio0 { status = "okay"; }; diff --git a/configs/comtrend_ct5361_ram_defconfig b/configs/comtrend_ct5361_ram_defconfig index 82f2070713..6297e78fd9 100644 --- a/configs/comtrend_ct5361_ram_defconfig +++ b/configs/comtrend_ct5361_ram_defconfig @@ -25,11 +25,14 @@ CONFIG_CMD_LICENSE=y CONFIG_CMD_MEMINFO=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_USB=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="comtrend,ct-5361" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_BCM6345_GPIO=y CONFIG_LED=y @@ -40,6 +43,9 @@ CONFIG_FLASH_CFI_DRIVER=y CONFIG_CFI_FLASH=y CONFIG_SYS_FLASH_PROTECTION=y CONFIG_SYS_FLASH_CFI=y +CONFIG_PHY_FIXED=y +CONFIG_DM_ETH=y +CONFIG_BCM6348_ETH=y CONFIG_PHY=y CONFIG_BCM6348_USBH_PHY=y CONFIG_DM_RESET=y From patchwork Sat Dec 1 18:00:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006391 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="GepFkYrK"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fZd3WGLz9rxp for ; Sun, 2 Dec 2018 05:15:53 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 166D2C22673; Sat, 1 Dec 2018 18:06:12 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 316FCC2269F; Sat, 1 Dec 2018 18:01:22 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6F315C22665; Sat, 1 Dec 2018 18:01:04 +0000 (UTC) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by lists.denx.de (Postfix) with ESMTPS id 33111C22667 for ; Sat, 1 Dec 2018 18:01:00 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id z5so8211723wrt.11 for ; Sat, 01 Dec 2018 10:01:00 -0800 (PST) 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=LjUNiuYh4VCYWOCyldOEabaiYxGzzeUdcMxRi8Vn1V8=; b=GepFkYrK16dJ6fx7YyFxua8PxkxCaUMxLmP9+n2hAVaN7gFoqaGZ0bp7DZFe5GMH58 EUpR4rSaRY6gjv092qJjQZAo67sgdL7hFwTdXp/+cmSdhqePFD7zahtX2gLJ9cCcMDMQ E7O8rNRDpcumLT46dNRPf8MA5LLPwGFWQCnieA01iIcnmVaHVYpUJfIrL4I2UaL4YnGg 5veItwpPvO/scqkKfD3o1VwHIZqZFi6EMncNQ4UTZqlWoJp2ywEHxNK9WD4/dubfHu5m O3WQRYmQDzsCxgcGOKLLvfPweXXkywbUENDozr2u5PqD4rDAgbXKGtCoRSOkMjVC8313 JVgw== 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=LjUNiuYh4VCYWOCyldOEabaiYxGzzeUdcMxRi8Vn1V8=; b=ezxSooPDjATRRo+w/mSgfSTsHKcwzSJvnVQJ1Krq6eqELleHwCydqUqBJPtSXu/cEP TvKnnadDmKOzyGzzOEHJuebBjNOD7IZoje5OjTAbXz4WAJuKUyjv7akizXFGwnDRlKqE R/u9134suWXjULkbCGFaPWooeXQ2ZWocujx9zEdR0C9KqQHBs+NqIJyXMfhtSh3l/A1O zAS3M3ci6Ov2apj/bpEj0TXrycJilG1bDf/mv84jQm4XKVt5IHR4JRsmS+CoYxMZoGJk MSaFqvsMRIK2gfcUxLY5W0O4Hpy6fmWn3DxlU9C8HgYXtn6Oft3biFGuE+Kaz6ZqyH0y UGTA== X-Gm-Message-State: AA+aEWZwgRNdIjX9G3r+aD1sPAqcSfcX5HTja0oxynSvlTxpL1sNWPbo 1VMXbB7wFvBFFwqh3aVri+4WZYqX X-Google-Smtp-Source: AFSGD/XNTeUvaO5p2FNmRTwiwLoaA5IoXsWtsnrPGoEQZQ7QBQHMTQfgycZXp/zIt5csk4GLVEINpw== X-Received: by 2002:a5d:4e82:: with SMTP id e2mr8460982wru.291.1543687259762; Sat, 01 Dec 2018 10:00:59 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:00:59 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:29 +0100 Message-Id: <20181201180042.23103-16-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 15/28] bmips: bcm6358: add support for bcm6348-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/brcm,bcm6358.dtsi | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arch/mips/dts/brcm,bcm6358.dtsi b/arch/mips/dts/brcm,bcm6358.dtsi index 5605723e83..5e9c9ad769 100644 --- a/arch/mips/dts/brcm,bcm6358.dtsi +++ b/arch/mips/dts/brcm,bcm6358.dtsi @@ -192,6 +192,34 @@ status = "disabled"; }; + enet0: ethernet@fffe4000 { + compatible = "brcm,bcm6348-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffe4000 0x2dc>; + clocks = <&periph_clk BCM6358_CLK_ENET0>; + dmas = <&iudma BCM6358_DMA_ENET0_RX>, + <&iudma BCM6358_DMA_ENET0_TX>; + dma-names = "rx", + "tx"; + + status = "disabled"; + }; + + enet1: ethernet@fffe4800 { + compatible = "brcm,bcm6348-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffe4800 0x2dc>; + clocks = <&periph_clk BCM6358_CLK_ENET1>; + dmas = <&iudma BCM6358_DMA_ENET1_RX>, + <&iudma BCM6358_DMA_ENET1_TX>; + dma-names = "rx", + "tx"; + + status = "disabled"; + }; + iudma: dma-controller@fffe5000 { compatible = "brcm,bcm6348-iudma"; reg = <0xfffe5000 0x24>, From patchwork Sat Dec 1 18:00:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006393 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="N1uBAGT7"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fZv3jPXz9rxp for ; Sun, 2 Dec 2018 05:16:07 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 22012C22673; Sat, 1 Dec 2018 18:07:33 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 E5040C226B5; Sat, 1 Dec 2018 18:01:33 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2499CC22693; Sat, 1 Dec 2018 18:01:05 +0000 (UTC) Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by lists.denx.de (Postfix) with ESMTPS id 4F4FCC22639 for ; Sat, 1 Dec 2018 18:01:01 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id z18so1936134wmc.4 for ; Sat, 01 Dec 2018 10:01:01 -0800 (PST) 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=g3V49gElVPKZM33WxBBZaxcZ2maTOE9HaWeaUK+3h/s=; b=N1uBAGT7tx6XYetjnZe477KT0xH2nNotDWfLnrP1E4Q8OEmhVAmpg3p9S72btdyEwz abg+tictxvQIq8m2qJhl/zLSpQKqw9hLBLQFIC4Hu6h8BNA8l4nTjiTqLvvL5L2TTkym SLm9Cg0HHNrnjju0ISLxhknXUQDaLderO3L4bYNDfScmcqo8oCedcn5oIFAcCcCfJyGG PldLEwJwBXw02WldM0DSPfAFcci32tRGvCIgmTX6X8UTRT6k5qXiYT87E2qw7LhdhHSc 1sFkb0UpVAyk+tOQGz4h1bAl/hr0bpZveVFlV+N+5qc63o/UchhDm2GYF9IbyaX7kciF e73g== 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=g3V49gElVPKZM33WxBBZaxcZ2maTOE9HaWeaUK+3h/s=; b=NqBEzar0LI7QlBz2w6BhSnoR+UeCYwXKPUdfy6DKbBDLNyIWvtoSkb3g90ZdrTh7al Zy5PjvsK0dbL0rrnKljWOBgbiJiRjtupc5+40k6LiawF/PHUqNt7ned6ta2o+zSuDA5e Apr++Cd5j0IU11iNUfXRDIEuhfwtKWc1t9iloDayvzWRpdjmOkRBWBszxGTCKmTnyCHg WdsjW9bgRI2vK0HlbuM6Yvlno9vWfqZG5Q/3dQ+COo+rrHDjKCOo8rguaaMGsENSD+2x WJOB7tWXPjCmM9SM2qsdkUs/1GU+fsmhUhnRwtGO5AvblPZpbMsUSPkdfyWvfaFuQHeV QNEQ== X-Gm-Message-State: AA+aEWYOIybQ7v8u0P10D2vc4d4mArihd16KVvpg0RqwVc9mmtMGp6VS pyq75SMaNEDIVQ3PpTb2qWM+I7Xh X-Google-Smtp-Source: AFSGD/VBNOqyU2D0gPzpqBVuNdm/VqQk10HoPGLYS8YmdFI3I4H6zIbUK+SUiuQalp0vanQqjHmHoQ== X-Received: by 2002:a7b:c852:: with SMTP id c18mr2708486wml.49.1543687260830; Sat, 01 Dec 2018 10:01:00 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.00.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:00 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:30 +0100 Message-Id: <20181201180042.23103-17-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 16/28] bmips: enable hg556a enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/huawei,hg556a.dts | 12 ++++++++++++ configs/huawei_hg556a_ram_defconfig | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/huawei,hg556a.dts b/arch/mips/dts/huawei,hg556a.dts index 60455c2ff8..6a7fc1df4b 100644 --- a/arch/mips/dts/huawei,hg556a.dts +++ b/arch/mips/dts/huawei,hg556a.dts @@ -93,6 +93,18 @@ status = "okay"; }; +&enet1 { + status = "okay"; + phy = <&enet1phy>; + phy-mode = "mii"; + + enet1phy: fixed-link { + reg = <1>; + speed = <100>; + full-duplex; + }; +}; + &gpio0 { status = "okay"; }; diff --git a/configs/huawei_hg556a_ram_defconfig b/configs/huawei_hg556a_ram_defconfig index 6bb14ba736..d4e6144319 100644 --- a/configs/huawei_hg556a_ram_defconfig +++ b/configs/huawei_hg556a_ram_defconfig @@ -25,11 +25,14 @@ CONFIG_CMD_LICENSE=y CONFIG_CMD_MEMINFO=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_USB=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="huawei,hg556a" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_BCM6345_GPIO=y CONFIG_LED=y @@ -40,6 +43,9 @@ CONFIG_FLASH_CFI_DRIVER=y CONFIG_CFI_FLASH=y CONFIG_SYS_FLASH_PROTECTION=y CONFIG_SYS_FLASH_CFI=y +CONFIG_PHY_FIXED=y +CONFIG_DM_ETH=y +CONFIG_BCM6348_ETH=y CONFIG_PHY=y CONFIG_BCM6358_USBH_PHY=y CONFIG_DM_RESET=y From patchwork Sat Dec 1 18:00:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006398 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="AAMec1xi"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436ff06W3mz9sB7 for ; Sun, 2 Dec 2018 05:18:48 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 8C39BC226BE; Sat, 1 Dec 2018 18:07:01 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 CA272C226B0; Sat, 1 Dec 2018 18:01:30 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id C20BAC22691; Sat, 1 Dec 2018 18:01:07 +0000 (UTC) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by lists.denx.de (Postfix) with ESMTPS id 3B0F4C2265A for ; Sat, 1 Dec 2018 18:01:02 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id u3so8220339wrs.3 for ; Sat, 01 Dec 2018 10:01:02 -0800 (PST) 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=xy7as4+odPMKHz0itA6de7HAcIxl7ifIdRX3Hjn+dW8=; b=AAMec1xiFuZQ0a5JAUww6V0BwDXUG6TUaEf4U1pajrtl7gd23OR8TK46kelKuywrwr JZyNFAUekgTR3wmOyqvjDRdMe9SYqLbPYGA3Em5SXF+zIHMXrDPsscIzQ2fAst3LX9dj dABjrtdww4vla8yAbFJNjakYu6kQmQQPxO3bjUP6qL+tgubzY6q8ph0KmAGc5gT5N8Ag Bqwclnf5EAf1pAyU7NbRhvYCOmXF20PIDbA2NMINb4XpTWciHGYx4pmJAvcCZHIfju8h 8Col3F3gCDZ0PElLVYegwaVM4k+eKp/P1tPBeL5HpqTuwUZx2baheXWHF8rJdpgQw1KC imPg== 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=xy7as4+odPMKHz0itA6de7HAcIxl7ifIdRX3Hjn+dW8=; b=Zp3x5v3z4zDm+rKEvhIw7HE0acihehvIb3PBu888glif4EtFjMO0wwpQiDGcZi3ens Ess8oLdWuLvnFrfe8kGMqOtSyMTwrOOBSdPIkTCqVsHv2NJOYQj3KfPk7g6YF2mFvucS gAxfXHq+L3janPFjcsW8gdt+f6dEBgS0T158IFXls/qJDoKt9XQ34w0i4foeLjuNgx5i JGXxdAUBoUPcVeSXNLpIvMgr8ypQdhw1DZso+8J7mIYTMVxvrY87TfouJKGWyqVMT1An DUI9ire4gVsFdoJrS2YuYOQTfelvv6iivGXbD/y98GShVsJTt5DXHbASqN/fWNUyAPrG 1t9g== X-Gm-Message-State: AA+aEWYIUwxyYbA1JG/wNCRjW2A/dWmkEMrnmCT6B5aGeF678FaD53aC 71ugm0iIZcjha1QbL0xnjF66xVIn X-Google-Smtp-Source: AFSGD/Wkk6h4upGgp+4F81aauHZzy8LUwPfaCH3nU1QNxg6kbtnQ2aUwqdaH2EqPPngUHda3J/Cy6Q== X-Received: by 2002:a5d:524b:: with SMTP id p11mr8368005wrv.147.1543687261738; Sat, 01 Dec 2018 10:01:01 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:01 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:31 +0100 Message-Id: <20181201180042.23103-18-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 17/28] bmips: enable nb4-ser enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: no changes arch/mips/dts/sfr,nb4-ser.dts | 24 ++++++++++++++++++++++++ configs/sfr_nb4-ser_ram_defconfig | 8 +++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/sfr,nb4-ser.dts b/arch/mips/dts/sfr,nb4-ser.dts index bdc6f8ae45..dfbc4148dc 100644 --- a/arch/mips/dts/sfr,nb4-ser.dts +++ b/arch/mips/dts/sfr,nb4-ser.dts @@ -53,6 +53,30 @@ status = "okay"; }; +&enet0 { + status = "okay"; + phy = <&enet0phy>; + phy-mode = "internal"; + + enet0phy: fixed-link { + reg = <1>; + speed = <100>; + full-duplex; + }; +}; + +&enet1 { + status = "okay"; + phy = <&enet1phy>; + phy-mode = "mii"; + + enet1phy: fixed-link { + reg = <1>; + speed = <100>; + full-duplex; + }; +}; + &gpio0 { status = "okay"; }; diff --git a/configs/sfr_nb4-ser_ram_defconfig b/configs/sfr_nb4-ser_ram_defconfig index 12adfb01e7..39622875b1 100644 --- a/configs/sfr_nb4-ser_ram_defconfig +++ b/configs/sfr_nb4-ser_ram_defconfig @@ -26,11 +26,14 @@ CONFIG_CMD_LICENSE=y CONFIG_CMD_MEMINFO=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_USB=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="sfr,nb4-ser" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_BCM6345_GPIO=y CONFIG_LED=y @@ -42,6 +45,9 @@ CONFIG_FLASH_CFI_DRIVER=y CONFIG_CFI_FLASH=y CONFIG_SYS_FLASH_PROTECTION=y CONFIG_SYS_FLASH_CFI=y +CONFIG_PHY_FIXED=y +CONFIG_DM_ETH=y +CONFIG_BCM6348_ETH=y CONFIG_PHY=y CONFIG_BCM6358_USBH_PHY=y CONFIG_DM_RESET=y From patchwork Sat Dec 1 18:00:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006399 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="aC/idd38"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436ffR1vPzz9s1c for ; Sun, 2 Dec 2018 05:19:11 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id CCF68C226B8; Sat, 1 Dec 2018 18:08:27 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 53E0EC226C8; Sat, 1 Dec 2018 18:01:37 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 43A39C226A4; Sat, 1 Dec 2018 18:01:13 +0000 (UTC) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by lists.denx.de (Postfix) with ESMTPS id ABE30C22668 for ; Sat, 1 Dec 2018 18:01:03 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id c14so8243449wrr.0 for ; Sat, 01 Dec 2018 10:01:03 -0800 (PST) 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=vs003zpNvWfV4tHyPQLImOr+JBR9zjkXbrr3uLEXJbI=; b=aC/idd380TNSNQXcgSv138ulPevovITuW69ktWQfN9nxAJQM7A8ZCKF+88HnBkum5c jaNo8UxMdL8oCFPLJW3q+QSg8DW0q8fVJSvzXqWKuazCvGEITsrYx2eVdfwNlc4iqT6A NXcLPRPiM4bW+1Y5MIGK6IXiswnSvL1vDSzPGjZ0Tjofg8UlI6i/OjIhgMIuUCqOOFWY Hvee7wUkPR0DJJQmi04qURVUKKLLphMQMvuQubhKM4i6ZM6DSEw74JXtlUz0eci47oZY I4eRFipFSNEtd9Vo/EfOEO4Lx/pQM2BCSdsGOfLyTfZDbMuXxCyi9qoPu0xqy21ZJNAD 6N7w== 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=vs003zpNvWfV4tHyPQLImOr+JBR9zjkXbrr3uLEXJbI=; b=oBXfJnnmgvy8raLZ97tBHw0EhJTtiFc7A8rvvnXcYTFM7ZRLv+s9uvUwfS58jZQrN5 r/8ORuIwmgoqelFDarc1IMylJc5oOY50WuQmfsVUl9v8keUsPk+yyvZG64XVxzt8udgu BPPZqgFFTrmnfP8GeU8SdHEL+A9qZvHcs6lmgX8vBWnGJJ4yPLReW0GSye0XNfDgUnuf uzKBlwviL+f//fYNSxWV55QB5SS/kphjqDLwZoQlcukICVX2ZfI248RqtorfzJ/OlpEc qDW10S5lHzQ/8t9gBqT1HuQK4AUWQ0RKiIUGNlQD5E3dBNDDEelF0toYdVgLtKay+64M v9hg== X-Gm-Message-State: AA+aEWYEZ/nn3og63jrIy92YO4CLzd847ITXDFCoDyMa7BzyFAC8fx6k qJCERsdkTOdJoApO1Z0Nt7YmE1lS X-Google-Smtp-Source: AFSGD/X1yohNBcedn8pf13SPD+xBVoe184My/MqjUY/4GW54Q7t5++Jpm3aXO5v5Ol4Ltp9aCNfvWA== X-Received: by 2002:a5d:6aca:: with SMTP id u10mr8420364wrw.310.1543687262707; Sat, 01 Dec 2018 10:01:02 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:02 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:32 +0100 Message-Id: <20181201180042.23103-19-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 18/28] net: add support for bcm6368-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas Reviewed-by: Daniel Schwierzeck --- v11: no changes v10: Introduce changes suggested by Daniel Schwierzeck: - Fix license identifiers. - Remove packet queue. - Move dma_prepare_rcv_buf to free_pkt. - Pad packets smaller than ETH_ZLEN. - Switch to live DM live tree. v9: introduce flow control improvements from bcm6348-eth: - introduce rx packets caching functionality from bcm6348-eth to fix flow control issues. - code style fixes. v8: introduce bcm6368-enet driver drivers/net/Kconfig | 8 + drivers/net/Makefile | 1 + drivers/net/bcm6368-eth.c | 625 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 634 insertions(+) create mode 100644 drivers/net/bcm6368-eth.c diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 2b7cec8804..7044c6adf3 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -82,6 +82,14 @@ config BCM6348_ETH help This driver supports the BCM6348 Ethernet MAC. +config BCM6368_ETH + bool "BCM6368 EMAC support" + depends on DM_ETH && ARCH_BMIPS + select DMA + select MII + help + This driver supports the BCM6368 Ethernet MAC. + config DWC_ETH_QOS bool "Synopsys DWC Ethernet QOS device support" depends on DM_ETH diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 2647d4dd23..0dbfa03306 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_ALTERA_TSE) += altera_tse.o obj-$(CONFIG_AG7XXX) += ag7xxx.o obj-$(CONFIG_ARMADA100_FEC) += armada100_fec.o obj-$(CONFIG_BCM6348_ETH) += bcm6348-eth.o +obj-$(CONFIG_BCM6368_ETH) += bcm6368-eth.o obj-$(CONFIG_DRIVER_AT91EMAC) += at91_emac.o obj-$(CONFIG_DRIVER_AX88180) += ax88180.o obj-$(CONFIG_BCM_SF2_ETH) += bcm-sf2-eth.o diff --git a/drivers/net/bcm6368-eth.c b/drivers/net/bcm6368-eth.c new file mode 100644 index 0000000000..a31efba9d1 --- /dev/null +++ b/drivers/net/bcm6368-eth.c @@ -0,0 +1,625 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Álvaro Fernández Rojas + * + * Derived from linux/drivers/net/ethernet/broadcom/bcm63xx_enet.c: + * Copyright (C) 2008 Maxime Bizon + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define ETH_PORT_STR "brcm,enetsw-port" + +#define ETH_RX_DESC PKTBUFSRX +#define ETH_ZLEN 60 +#define ETH_TIMEOUT 100 + +#define ETH_MAX_PORT 8 +#define ETH_RGMII_PORT0 4 + +/* Port traffic control */ +#define ETH_PTCTRL_REG(x) (0x0 + (x)) +#define ETH_PTCTRL_RXDIS_SHIFT 0 +#define ETH_PTCTRL_RXDIS_MASK (1 << ETH_PTCTRL_RXDIS_SHIFT) +#define ETH_PTCTRL_TXDIS_SHIFT 1 +#define ETH_PTCTRL_TXDIS_MASK (1 << ETH_PTCTRL_TXDIS_SHIFT) + +/* Switch mode register */ +#define ETH_SWMODE_REG 0xb +#define ETH_SWMODE_FWD_EN_SHIFT 1 +#define ETH_SWMODE_FWD_EN_MASK (1 << ETH_SWMODE_FWD_EN_SHIFT) + +/* IMP override Register */ +#define ETH_IMPOV_REG 0xe +#define ETH_IMPOV_LINKUP_SHIFT 0 +#define ETH_IMPOV_LINKUP_MASK (1 << ETH_IMPOV_LINKUP_SHIFT) +#define ETH_IMPOV_FDX_SHIFT 1 +#define ETH_IMPOV_FDX_MASK (1 << ETH_IMPOV_FDX_SHIFT) +#define ETH_IMPOV_100_SHIFT 2 +#define ETH_IMPOV_100_MASK (1 << ETH_IMPOV_100_SHIFT) +#define ETH_IMPOV_1000_SHIFT 3 +#define ETH_IMPOV_1000_MASK (1 << ETH_IMPOV_1000_SHIFT) +#define ETH_IMPOV_RXFLOW_SHIFT 4 +#define ETH_IMPOV_RXFLOW_MASK (1 << ETH_IMPOV_RXFLOW_SHIFT) +#define ETH_IMPOV_TXFLOW_SHIFT 5 +#define ETH_IMPOV_TXFLOW_MASK (1 << ETH_IMPOV_TXFLOW_SHIFT) +#define ETH_IMPOV_FORCE_SHIFT 7 +#define ETH_IMPOV_FORCE_MASK (1 << ETH_IMPOV_FORCE_SHIFT) + +/* Port override Register */ +#define ETH_PORTOV_REG(x) (0x58 + (x)) +#define ETH_PORTOV_LINKUP_SHIFT 0 +#define ETH_PORTOV_LINKUP_MASK (1 << ETH_PORTOV_LINKUP_SHIFT) +#define ETH_PORTOV_FDX_SHIFT 1 +#define ETH_PORTOV_FDX_MASK (1 << ETH_PORTOV_FDX_SHIFT) +#define ETH_PORTOV_100_SHIFT 2 +#define ETH_PORTOV_100_MASK (1 << ETH_PORTOV_100_SHIFT) +#define ETH_PORTOV_1000_SHIFT 3 +#define ETH_PORTOV_1000_MASK (1 << ETH_PORTOV_1000_SHIFT) +#define ETH_PORTOV_RXFLOW_SHIFT 4 +#define ETH_PORTOV_RXFLOW_MASK (1 << ETH_PORTOV_RXFLOW_SHIFT) +#define ETH_PORTOV_TXFLOW_SHIFT 5 +#define ETH_PORTOV_TXFLOW_MASK (1 << ETH_PORTOV_TXFLOW_SHIFT) +#define ETH_PORTOV_ENABLE_SHIFT 6 +#define ETH_PORTOV_ENABLE_MASK (1 << ETH_PORTOV_ENABLE_SHIFT) + +/* Port RGMII control register */ +#define ETH_RGMII_CTRL_REG(x) (0x60 + (x)) +#define ETH_RGMII_CTRL_GMII_CLK_EN (1 << 7) +#define ETH_RGMII_CTRL_MII_OVERRIDE_EN (1 << 6) +#define ETH_RGMII_CTRL_MII_MODE_MASK (3 << 4) +#define ETH_RGMII_CTRL_RGMII_MODE (0 << 4) +#define ETH_RGMII_CTRL_MII_MODE (1 << 4) +#define ETH_RGMII_CTRL_RVMII_MODE (2 << 4) +#define ETH_RGMII_CTRL_TIMING_SEL_EN (1 << 0) + +/* Port RGMII timing register */ +#define ENETSW_RGMII_TIMING_REG(x) (0x68 + (x)) + +/* MDIO control register */ +#define MII_SC_REG 0xb0 +#define MII_SC_EXT_SHIFT 16 +#define MII_SC_EXT_MASK (1 << MII_SC_EXT_SHIFT) +#define MII_SC_REG_SHIFT 20 +#define MII_SC_PHYID_SHIFT 25 +#define MII_SC_RD_SHIFT 30 +#define MII_SC_RD_MASK (1 << MII_SC_RD_SHIFT) +#define MII_SC_WR_SHIFT 31 +#define MII_SC_WR_MASK (1 << MII_SC_WR_SHIFT) + +/* MDIO data register */ +#define MII_DAT_REG 0xb4 + +/* Global Management Configuration Register */ +#define ETH_GMCR_REG 0x200 +#define ETH_GMCR_RST_MIB_SHIFT 0 +#define ETH_GMCR_RST_MIB_MASK (1 << ETH_GMCR_RST_MIB_SHIFT) + +/* Jumbo control register port mask register */ +#define ETH_JMBCTL_PORT_REG 0x4004 + +/* Jumbo control mib good frame register */ +#define ETH_JMBCTL_MAXSIZE_REG 0x4008 + +/* ETH port data */ +struct bcm_enetsw_port { + bool used; + const char *name; + /* Config */ + bool bypass_link; + int force_speed; + bool force_duplex_full; + /* PHY */ + int phy_id; +}; + +/* ETH data */ +struct bcm6368_eth_priv { + void __iomem *base; + /* DMA */ + struct dma rx_dma; + struct dma tx_dma; + /* Ports */ + uint8_t num_ports; + struct bcm_enetsw_port used_ports[ETH_MAX_PORT]; + int sw_port_link[ETH_MAX_PORT]; + bool rgmii_override; + bool rgmii_timing; + /* PHY */ + int phy_id; +}; + +static inline bool bcm_enet_port_is_rgmii(int portid) +{ + return portid >= ETH_RGMII_PORT0; +} + +static int bcm6368_mdio_read(struct bcm6368_eth_priv *priv, uint8_t ext, + int phy_id, int reg) +{ + uint32_t val; + + writel_be(0, priv->base + MII_SC_REG); + + val = MII_SC_RD_MASK | + (phy_id << MII_SC_PHYID_SHIFT) | + (reg << MII_SC_REG_SHIFT); + + if (ext) + val |= MII_SC_EXT_MASK; + + writel_be(val, priv->base + MII_SC_REG); + udelay(50); + + return readw_be(priv->base + MII_DAT_REG); +} + +static int bcm6368_mdio_write(struct bcm6368_eth_priv *priv, uint8_t ext, + int phy_id, int reg, u16 data) +{ + uint32_t val; + + writel_be(0, priv->base + MII_SC_REG); + + val = MII_SC_WR_MASK | + (phy_id << MII_SC_PHYID_SHIFT) | + (reg << MII_SC_REG_SHIFT); + + if (ext) + val |= MII_SC_EXT_MASK; + + val |= data; + + writel_be(val, priv->base + MII_SC_REG); + udelay(50); + + return 0; +} + +static int bcm6368_eth_free_pkt(struct udevice *dev, uchar *packet, int len) +{ + struct bcm6368_eth_priv *priv = dev_get_priv(dev); + + return dma_prepare_rcv_buf(&priv->rx_dma, packet, len); +} + +static int bcm6368_eth_recv(struct udevice *dev, int flags, uchar **packetp) +{ + struct bcm6368_eth_priv *priv = dev_get_priv(dev); + + return dma_receive(&priv->rx_dma, (void**)packetp, NULL); +} + +static int bcm6368_eth_send(struct udevice *dev, void *packet, int length) +{ + struct bcm6368_eth_priv *priv = dev_get_priv(dev); + + /* pad packets smaller than ETH_ZLEN */ + if (length < ETH_ZLEN) { + memset(packet + length, 0, ETH_ZLEN - length); + length = ETH_ZLEN; + } + + return dma_send(&priv->tx_dma, packet, length, NULL); +} + +static int bcm6368_eth_adjust_link(struct udevice *dev) +{ + struct bcm6368_eth_priv *priv = dev_get_priv(dev); + unsigned int i; + + for (i = 0; i < priv->num_ports; i++) { + struct bcm_enetsw_port *port; + int val, j, up, adv, lpa, speed, duplex, media; + int external_phy = bcm_enet_port_is_rgmii(i); + u8 override; + + port = &priv->used_ports[i]; + if (!port->used) + continue; + + if (port->bypass_link) + continue; + + /* dummy read to clear */ + for (j = 0; j < 2; j++) + val = bcm6368_mdio_read(priv, external_phy, + port->phy_id, MII_BMSR); + + if (val == 0xffff) + continue; + + up = (val & BMSR_LSTATUS) ? 1 : 0; + if (!(up ^ priv->sw_port_link[i])) + continue; + + priv->sw_port_link[i] = up; + + /* link changed */ + if (!up) { + dev_info(&priv->pdev->dev, "link DOWN on %s\n", + port->name); + writeb_be(ETH_PORTOV_ENABLE_MASK, + priv->base + ETH_PORTOV_REG(i)); + writeb_be(ETH_PTCTRL_RXDIS_MASK | + ETH_PTCTRL_TXDIS_MASK, + priv->base + ETH_PTCTRL_REG(i)); + continue; + } + + adv = bcm6368_mdio_read(priv, external_phy, + port->phy_id, MII_ADVERTISE); + + lpa = bcm6368_mdio_read(priv, external_phy, port->phy_id, + MII_LPA); + + /* figure out media and duplex from advertise and LPA values */ + media = mii_nway_result(lpa & adv); + duplex = (media & ADVERTISE_FULL) ? 1 : 0; + + if (media & (ADVERTISE_100FULL | ADVERTISE_100HALF)) + speed = 100; + else + speed = 10; + + if (val & BMSR_ESTATEN) { + adv = bcm6368_mdio_read(priv, external_phy, + port->phy_id, MII_CTRL1000); + + lpa = bcm6368_mdio_read(priv, external_phy, + port->phy_id, MII_STAT1000); + + if ((adv & (ADVERTISE_1000FULL | ADVERTISE_1000HALF)) && + (lpa & (LPA_1000FULL | LPA_1000HALF))) { + speed = 1000; + duplex = (lpa & LPA_1000FULL); + } + } + + pr_alert("link UP on %s, %dMbps, %s-duplex\n", + port->name, speed, duplex ? "full" : "half"); + + override = ETH_PORTOV_ENABLE_MASK | + ETH_PORTOV_LINKUP_MASK; + + if (speed == 1000) + override |= ETH_PORTOV_1000_MASK; + else if (speed == 100) + override |= ETH_PORTOV_100_MASK; + if (duplex) + override |= ETH_PORTOV_FDX_MASK; + + writeb_be(override, priv->base + ETH_PORTOV_REG(i)); + writeb_be(0, priv->base + ETH_PTCTRL_REG(i)); + } + + return 0; +} + +static int bcm6368_eth_start(struct udevice *dev) +{ + struct bcm6368_eth_priv *priv = dev_get_priv(dev); + uint8_t i; + + /* prepare rx dma buffers */ + for (i = 0; i < ETH_RX_DESC; i++) { + int ret = dma_prepare_rcv_buf(&priv->rx_dma, net_rx_packets[i], + PKTSIZE_ALIGN); + if (ret < 0) + break; + } + + /* enable dma rx channel */ + dma_enable(&priv->rx_dma); + + /* enable dma tx channel */ + dma_enable(&priv->tx_dma); + + /* apply override config for bypass_link ports here. */ + for (i = 0; i < priv->num_ports; i++) { + struct bcm_enetsw_port *port; + u8 override; + + port = &priv->used_ports[i]; + if (!port->used) + continue; + + if (!port->bypass_link) + continue; + + override = ETH_PORTOV_ENABLE_MASK | + ETH_PORTOV_LINKUP_MASK; + + switch (port->force_speed) { + case 1000: + override |= ETH_PORTOV_1000_MASK; + break; + case 100: + override |= ETH_PORTOV_100_MASK; + break; + case 10: + break; + default: + pr_warn("%s: invalid forced speed on port %s\n", + __func__, port->name); + break; + } + + if (port->force_duplex_full) + override |= ETH_PORTOV_FDX_MASK; + + writeb_be(override, priv->base + ETH_PORTOV_REG(i)); + writeb_be(0, priv->base + ETH_PTCTRL_REG(i)); + } + + bcm6368_eth_adjust_link(dev); + + return 0; +} + +static void bcm6368_eth_stop(struct udevice *dev) +{ + struct bcm6368_eth_priv *priv = dev_get_priv(dev); + + /* disable dma rx channel */ + dma_disable(&priv->rx_dma); + + /* disable dma tx channel */ + dma_disable(&priv->tx_dma); +} + +static const struct eth_ops bcm6368_eth_ops = { + .free_pkt = bcm6368_eth_free_pkt, + .recv = bcm6368_eth_recv, + .send = bcm6368_eth_send, + .start = bcm6368_eth_start, + .stop = bcm6368_eth_stop, +}; + +static const struct udevice_id bcm6368_eth_ids[] = { + { .compatible = "brcm,bcm6368-enet", }, + { /* sentinel */ } +}; + +static bool bcm6368_phy_is_external(struct bcm6368_eth_priv *priv, int phy_id) +{ + uint8_t i; + + for (i = 0; i < priv->num_ports; ++i) { + if (!priv->used_ports[i].used) + continue; + if (priv->used_ports[i].phy_id == phy_id) + return bcm_enet_port_is_rgmii(i); + } + + return true; +} + +static int bcm6368_mii_mdio_read(struct mii_dev *bus, int addr, int devaddr, + int reg) +{ + struct bcm6368_eth_priv *priv = bus->priv; + bool ext = bcm6368_phy_is_external(priv, addr); + + return bcm6368_mdio_read(priv, ext, addr, reg); +} + +static int bcm6368_mii_mdio_write(struct mii_dev *bus, int addr, int devaddr, + int reg, u16 data) +{ + struct bcm6368_eth_priv *priv = bus->priv; + bool ext = bcm6368_phy_is_external(priv, addr); + + return bcm6368_mdio_write(priv, ext, addr, reg, data); +} + +static int bcm6368_mdio_init(const char *name, struct bcm6368_eth_priv *priv) +{ + struct mii_dev *bus; + + bus = mdio_alloc(); + if (!bus) { + pr_err("%s: failed to allocate MDIO bus\n", __func__); + return -ENOMEM; + } + + bus->read = bcm6368_mii_mdio_read; + bus->write = bcm6368_mii_mdio_write; + bus->priv = priv; + snprintf(bus->name, sizeof(bus->name), "%s", name); + + return mdio_register(bus); +} + +static int bcm6368_eth_probe(struct udevice *dev) +{ + struct eth_pdata *pdata = dev_get_platdata(dev); + struct bcm6368_eth_priv *priv = dev_get_priv(dev); + int num_ports, ret, i; + uint32_t val; + ofnode node; + + /* get base address */ + priv->base = dev_remap_addr(dev); + if (!priv->base) + return -EINVAL; + pdata->iobase = (phys_addr_t) priv->base; + + /* get number of ports */ + num_ports = dev_read_u32_default(dev, "brcm,num-ports", ETH_MAX_PORT); + if (!num_ports || num_ports > ETH_MAX_PORT) + return -EINVAL; + + /* get dma channels */ + ret = dma_get_by_name(dev, "tx", &priv->tx_dma); + if (ret) + return -EINVAL; + + ret = dma_get_by_name(dev, "rx", &priv->rx_dma); + if (ret) + return -EINVAL; + + /* try to enable clocks */ + for (i = 0; ; i++) { + struct clk clk; + int ret; + + ret = clk_get_by_index(dev, i, &clk); + if (ret < 0) + break; + + ret = clk_enable(&clk); + if (ret < 0) { + pr_err("%s: error enabling clock %d\n", __func__, i); + return ret; + } + + ret = clk_free(&clk); + if (ret < 0) { + pr_err("%s: error freeing clock %d\n", __func__, i); + return ret; + } + } + + /* try to perform resets */ + for (i = 0; ; i++) { + struct reset_ctl reset; + int ret; + + ret = reset_get_by_index(dev, i, &reset); + if (ret < 0) + break; + + ret = reset_deassert(&reset); + if (ret < 0) { + pr_err("%s: error deasserting reset %d\n", __func__, i); + return ret; + } + + ret = reset_free(&reset); + if (ret < 0) { + pr_err("%s: error freeing reset %d\n", __func__, i); + return ret; + } + } + + /* set priv data */ + priv->num_ports = num_ports; + if (dev_read_bool(dev, "brcm,rgmii-override")) + priv->rgmii_override = true; + if (dev_read_bool(dev, "brcm,rgmii-timing")) + priv->rgmii_timing = true; + + /* get ports */ + dev_for_each_subnode(node, dev) { + const char *comp; + const char *label; + unsigned int p; + int phy_id; + int speed; + + comp = ofnode_read_string(node, "compatible"); + if (!comp || memcmp(comp, ETH_PORT_STR, sizeof(ETH_PORT_STR))) + continue; + + p = ofnode_read_u32_default(node, "reg", ETH_MAX_PORT); + if (p >= num_ports) + return -EINVAL; + + label = ofnode_read_string(node, "label"); + if (!label) { + debug("%s: node %s has no label\n", __func__, + ofnode_get_name(node)); + return -EINVAL; + } + + phy_id = ofnode_read_u32_default(node, "brcm,phy-id", -1); + + priv->used_ports[p].used = true; + priv->used_ports[p].name = label; + priv->used_ports[p].phy_id = phy_id; + + if (ofnode_read_bool(node, "full-duplex")) + priv->used_ports[p].force_duplex_full = true; + if (ofnode_read_bool(node, "bypass-link")) + priv->used_ports[p].bypass_link = true; + speed = ofnode_read_u32_default(node, "speed", 0); + if (speed) + priv->used_ports[p].force_speed = speed; + } + + /* init mii bus */ + ret = bcm6368_mdio_init(dev->name, priv); + if (ret) + return ret; + + /* disable all ports */ + for (i = 0; i < priv->num_ports; i++) { + writeb_be(ETH_PORTOV_ENABLE_MASK, + priv->base + ETH_PORTOV_REG(i)); + writeb_be(ETH_PTCTRL_RXDIS_MASK | + ETH_PTCTRL_TXDIS_MASK, + priv->base + ETH_PTCTRL_REG(i)); + + priv->sw_port_link[i] = 0; + } + + /* enable external ports */ + for (i = ETH_RGMII_PORT0; i < priv->num_ports; i++) { + u8 rgmii_ctrl; + + if (!priv->used_ports[i].used) + continue; + + rgmii_ctrl = readb_be(priv->base + ETH_RGMII_CTRL_REG(i)); + rgmii_ctrl |= ETH_RGMII_CTRL_GMII_CLK_EN; + if (priv->rgmii_override) + rgmii_ctrl |= ETH_RGMII_CTRL_MII_OVERRIDE_EN; + if (priv->rgmii_timing) + rgmii_ctrl |= ETH_RGMII_CTRL_TIMING_SEL_EN; + writeb_be(rgmii_ctrl, priv->base + ETH_RGMII_CTRL_REG(i)); + } + + /* reset mib */ + val = readb_be(priv->base + ETH_GMCR_REG); + val |= ETH_GMCR_RST_MIB_MASK; + writeb_be(val, priv->base + ETH_GMCR_REG); + mdelay(1); + val &= ~ETH_GMCR_RST_MIB_MASK; + writeb_be(val, priv->base + ETH_GMCR_REG); + mdelay(1); + + /* force CPU port state */ + val = readb_be(priv->base + ETH_IMPOV_REG); + val |= ETH_IMPOV_FORCE_MASK | ETH_IMPOV_LINKUP_MASK; + writeb_be(val, priv->base + ETH_IMPOV_REG); + + /* enable switch forward engine */ + val = readb_be(priv->base + ETH_SWMODE_REG); + val |= ETH_SWMODE_FWD_EN_MASK; + writeb_be(val, priv->base + ETH_SWMODE_REG); + + /* enable jumbo on all ports */ + writel_be(0x1ff, priv->base + ETH_JMBCTL_PORT_REG); + writew_be(9728, priv->base + ETH_JMBCTL_MAXSIZE_REG); + + return 0; +} + +U_BOOT_DRIVER(bcm6368_eth) = { + .name = "bcm6368_eth", + .id = UCLASS_ETH, + .of_match = bcm6368_eth_ids, + .ops = &bcm6368_eth_ops, + .platdata_auto_alloc_size = sizeof(struct eth_pdata), + .priv_auto_alloc_size = sizeof(struct bcm6368_eth_priv), + .probe = bcm6368_eth_probe, +}; From patchwork Sat Dec 1 18:00:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006385 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="r242TDWg"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fRC4Btvz9rxp for ; Sun, 2 Dec 2018 05:09:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 00755C22627; Sat, 1 Dec 2018 18:08:08 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 24F68C226C2; Sat, 1 Dec 2018 18:01:36 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6DD5EC22668; Sat, 1 Dec 2018 18:01:13 +0000 (UTC) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by lists.denx.de (Postfix) with ESMTPS id 2AF7CC22655 for ; Sat, 1 Dec 2018 18:01:04 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id y139so1921332wmc.5 for ; Sat, 01 Dec 2018 10:01:04 -0800 (PST) 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=OR0Z8CivIaJ+KA0GSSiAchzomEMTEK1wvyUciusaXF8=; b=r242TDWg1gHbO/HVHQchLsGw3t5VRWavfHnvroug0g9stY8KP4YnCC0pgWap8DlGgl k5kLP4VHOL9T7TmdgopDHWJKgzKFVxjdmJIugWVkBCT3QMrpHjq7uWBUeOchPiuNYKqB nDpbXtDw1Vo7Zqg0kc5OjL9Ae44+09JJNnZkb8fECfoR+5NQfQdOCWB7Khhf0d0bg4lH O7XgWTB7+NJPhr442eYYFQpc8Ka02fk3HrOJNsv9uZimiKJA83okj2fei179+ThW4NOh JatXa9IFlGK30n/Ry78sOLd0psSKcUMAGeP7iRLI+5rA0vNyH2U6TndVPy+OEOLRV8rt GrKg== 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=OR0Z8CivIaJ+KA0GSSiAchzomEMTEK1wvyUciusaXF8=; b=Wq+1gxee8qC2drJLyyTU111W9qE7LMNSpJ7yubMhbvGdoe0Jo0OcsQgPjfZZNzMdvb BcqB5JkmwvowY/EgFWJdWKDSPDex7/XuOX/AAiaYWzu9dGbJ0uEqhq4fGKZELajeDqHd DGS9bOYRZZdRFP2v5mIEhCb4IvHgOiJKZ7Z1TXFr5kLPrv8UeULkeo4GruK2Zg3qqu+D vDfoZS75SiLIOzgpfigZvoaDePAurKsoJNyEIrfsijcpidND/gLE6DIO+WZxV5U5W+cD cZfnjhyyFbycT/LHgthvh//LlA1EfJY29shJwXDmk0DvRCWX9pFSl7fw7BPBs0gDoZwy 7n4A== X-Gm-Message-State: AA+aEWbifoL6fPk6zxhq7Qm0aYsYTDtpAKUJTIVhzh/uhEgzK4SjUVSd U87YMwioGhG4N58cZkVkaAl6/ivp X-Google-Smtp-Source: AFSGD/WWF6js/nEAmaULm2uT0fwHIKctTV8v4d0Vw8Gc/ClZmtoXAcQcmbY9bK35yPu0ixZORScdUA== X-Received: by 2002:a1c:91d1:: with SMTP id t200mr2812343wmd.111.1543687263707; Sat, 01 Dec 2018 10:01:03 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:03 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:33 +0100 Message-Id: <20181201180042.23103-20-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 19/28] bmips: bcm6368: add support for bcm6368-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6368.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/mips/dts/brcm,bcm6368.dtsi b/arch/mips/dts/brcm,bcm6368.dtsi index 30047f6360..89590d6ff9 100644 --- a/arch/mips/dts/brcm,bcm6368.dtsi +++ b/arch/mips/dts/brcm,bcm6368.dtsi @@ -205,5 +205,24 @@ #dma-cells = <1>; dma-channels = <8>; }; + + enet: ethernet@10f00000 { + compatible = "brcm,bcm6368-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10f00000 0x10000>; + clocks = <&periph_clk BCM6368_CLK_SWPKT_USB>, + <&periph_clk BCM6368_CLK_SWPKT_SAR>, + <&periph_clk BCM6368_CLK_ROBOSW>; + resets = <&periph_rst BCM6368_RST_SWITCH>, + <&periph_rst BCM6368_RST_EPHY>; + dmas = <&iudma BCM6368_DMA_ENETSW_RX>, + <&iudma BCM6368_DMA_ENETSW_TX>; + dma-names = "rx", + "tx"; + brcm,num-ports = <6>; + + status = "disabled"; + }; }; }; From patchwork Sat Dec 1 18:00:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006388 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="JGdbLmxH"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fXN494tz9rxp for ; Sun, 2 Dec 2018 05:13:56 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 247FEC22697; Sat, 1 Dec 2018 18:09:19 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 6F4BDC226A1; Sat, 1 Dec 2018 18:01:41 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 68E87C226D5; Sat, 1 Dec 2018 18:01:14 +0000 (UTC) Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by lists.denx.de (Postfix) with ESMTPS id 0276BC2266E for ; Sat, 1 Dec 2018 18:01:05 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id a18so1927041wmj.1 for ; Sat, 01 Dec 2018 10:01:05 -0800 (PST) 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=aesADnMXB0DPtMruCuyhPGBA4VPMFfOsTOle2QfXkSo=; b=JGdbLmxHq9sIjaLj9Q6+SV6uD8kqGlsTZ6L/jjLlq9tikbAsD2dxEbHSf44gs8LW0y SfH/ZT85utoyxMYMfn66L8+oIdcb9Aw/IFLRn+urSpOwUcY4qpfzIvjwPgv0Lknm9wKh Zcoo6KU3Fj+cEjhsosWVP9EnS8v8MZJWTy4bHsZR76I+o/fZ78Ty+M4wEICjaSY6mzrp Tu5LyALLMLu3a86qhT9uxDx3Mf65RstL4uPSE2Cq51Z+rbFlr7MTEBFcg5LbuQqJmix4 VKzUDMSwTKck6HAnEJNKee8Cne9lx5KRsHzDNQaRD04kKw1udb1+I/pXGxplBBYQvmOC Md3g== 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=aesADnMXB0DPtMruCuyhPGBA4VPMFfOsTOle2QfXkSo=; b=lgP8zKEJWVsF3r7244hwAZEvE5BQaoPUn08PXHzeA9SIrji0hg+gQOgwnO1aTdr9nI Vr4+lDa6/WDGIAXh8QOHDSN8tTjZPvxpPwp45aqG6ehjuUocwhFSYCX4c1bUgyNwHzvo f/5HVYn3I8SZwW/ymg8Kt1i6qdvm0uPR4RTnOAkP35/s+ziWteAHflQgcPvU19YCirlN /5z3QiuA8PqFP4TqSTpXbNGG7JCktmCUylH/fwruBIXXbAiSrlEV6VK2MYq9bF7ClmPI kmN5xEAhWPyVmhGgfiG0PXEDcr/WH3zL01psmjFwogKbaMzN2lYwt1VTLq0sNhAMgT/2 q2TA== X-Gm-Message-State: AA+aEWafgYl1I8DmiL2pvrw0AYXLxZ+LgJd4DT+aAeNto9qHkxwXlgfP BdEoW11D9k+CFabk866OE9yYH31f X-Google-Smtp-Source: AFSGD/WXAevODUjujjds3MBmR8bx5x4WIRPo5M7WuaSn1PlL9mA9GBzbcnrZyF5eiOysNE3qIucjug== X-Received: by 2002:a1c:1f11:: with SMTP id f17mr2761962wmf.56.1543687264545; Sat, 01 Dec 2018 10:01:04 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:04 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:34 +0100 Message-Id: <20181201180042.23103-21-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 20/28] bmips: enable wap-5813n enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/comtrend,wap-5813n.dts | 14 ++++++++++++++ configs/comtrend_wap5813n_ram_defconfig | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/comtrend,wap-5813n.dts b/arch/mips/dts/comtrend,wap-5813n.dts index bd41dab9f8..7e835b28d2 100644 --- a/arch/mips/dts/comtrend,wap-5813n.dts +++ b/arch/mips/dts/comtrend,wap-5813n.dts @@ -54,6 +54,20 @@ status = "okay"; }; +&enet { + status = "okay"; + + port@4 { + compatible = "brcm,enetsw-port"; + reg = <4>; + label = "rgmii"; + brcm,phy-id = <0xff>; + speed = <1000>; + full-duplex; + bypass-link; + }; +}; + &gpio0 { status = "okay"; }; diff --git a/configs/comtrend_wap5813n_ram_defconfig b/configs/comtrend_wap5813n_ram_defconfig index 987e4c3fbc..fd5107bb7d 100644 --- a/configs/comtrend_wap5813n_ram_defconfig +++ b/configs/comtrend_wap5813n_ram_defconfig @@ -25,11 +25,14 @@ CONFIG_CMD_LICENSE=y CONFIG_CMD_MEMINFO=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_USB=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="comtrend,wap-5813n" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_BCM6345_GPIO=y CONFIG_LED=y @@ -40,6 +43,9 @@ CONFIG_FLASH_CFI_DRIVER=y CONFIG_CFI_FLASH=y CONFIG_SYS_FLASH_PROTECTION=y CONFIG_SYS_FLASH_CFI=y +CONFIG_DM_ETH=y +CONFIG_PHY_GIGE=y +CONFIG_BCM6368_ETH=y CONFIG_PHY=y CONFIG_BCM6368_USBH_PHY=y CONFIG_DM_RESET=y From patchwork Sat Dec 1 18:00:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006392 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="nSrGvDR5"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fZp6QZnz9rxp for ; Sun, 2 Dec 2018 05:16:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 7658EC22686; Sat, 1 Dec 2018 18:07:50 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 E8DB2C226A9; Sat, 1 Dec 2018 18:01:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3328EC22680; Sat, 1 Dec 2018 18:01:14 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id E6B67C22675 for ; Sat, 1 Dec 2018 18:01:05 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id r24so3917785wmh.0 for ; Sat, 01 Dec 2018 10:01:05 -0800 (PST) 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=Yfq7CpouYJqFu/9NgYJoDSZGE716Y4FEiJ9+cHj+SmM=; b=nSrGvDR5EV216TCAy/5GrwGlo/2JXZYbPzQ/QunO9NXnQEj7O/y74EmYko5sSKx8dN 8ov/GV1PYyMgSN5r7p8jSwER0SO/R8c6IBrXca4tl4Mc0ja3Q37Is2lrGXnXMyFDg6iN Aus1+H/9Vr4GXAC0xWNC9p+niQqRZuRxQwS53u8FeJI0D+eOFqbS05PmoQIdFqATKAoe y4/a8BnchiEdblERjLfjC9M6j+IWnGf9H/pCjJ/OQTL5fHpfawC1Rpmxof0boBI1txjb oLClgmNKpZHPZ+MaBirneuTGaiTep5nlXV/a3LfIJg8SjRxRHdVCUaSlAqv6mRuEq8kq Zwmw== 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=Yfq7CpouYJqFu/9NgYJoDSZGE716Y4FEiJ9+cHj+SmM=; b=bsxY5FNFkiciK5XB7GU0+e1siUPpMA114kB6BE5XIEW/v177/XWupDSK8+6AwnkewO 4f/lD1cyfdnH/rvCipMsaMxYzvxSPQ1Mu3suzSTcuNweKYhTemAyMfPJK1d3AOMifcSz 8MHffG97ObTEH+Op0l3weHYYczLXSAnav9i20iIVsZ69bUdmY7sy/IH49An96xe5nIQB MvPTqnQMIb1cSPS5CBtEUlTdx/j6qQZruskUc8V/75fUx8yntPhvzZZuKnMmxluzT2j6 3S4mBrDb6qRShCdILWDCBQr9CNF6cbEBsqTCUBskHoOEO/kvGBvNtcO75x7LJ/XPFWz+ PZJg== X-Gm-Message-State: AA+aEWZNTPZxAFpbayesGhx+i5w7mnLViBWBARZlgF3N7jWrVxKzRx3W Z3UYXE9E1ozzaLakyfPfc9pXLP6i X-Google-Smtp-Source: AFSGD/UoX1axywaaKBq1z8kBc3vTb+e2X+6e1XWCCkyoxUaMeyGc8XZD4qri8ww64k78GGCm4tOJ0A== X-Received: by 2002:a1c:c008:: with SMTP id q8mr2594455wmf.99.1543687265377; Sat, 01 Dec 2018 10:01:05 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:04 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:35 +0100 Message-Id: <20181201180042.23103-22-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 21/28] bmips: bcm6328: add support for bcm6368-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6328.dtsi | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/mips/dts/brcm,bcm6328.dtsi b/arch/mips/dts/brcm,bcm6328.dtsi index 6fa49e22bb..50beed4171 100644 --- a/arch/mips/dts/brcm,bcm6328.dtsi +++ b/arch/mips/dts/brcm,bcm6328.dtsi @@ -200,5 +200,22 @@ #dma-cells = <1>; dma-channels = <8>; }; + + enet: ethernet@10e00000 { + compatible = "brcm,bcm6368-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10e00000 0x10000>; + clocks = <&periph_clk BCM6328_CLK_ROBOSW>; + resets = <&periph_rst BCM6328_RST_ENETSW>, + <&periph_rst BCM6328_RST_EPHY>; + dmas = <&iudma BCM6328_DMA_ENETSW_RX>, + <&iudma BCM6328_DMA_ENETSW_TX>; + dma-names = "rx", + "tx"; + brcm,num-ports = <5>; + + status = "disabled"; + }; }; }; From patchwork Sat Dec 1 18:00:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006400 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="uqJFu25G"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436ffw2W1Jz9s1c for ; Sun, 2 Dec 2018 05:19:36 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 01F82C226C4; Sat, 1 Dec 2018 18:09:38 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 A0A1EC226CE; Sat, 1 Dec 2018 18:01:42 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id C6621C2264D; Sat, 1 Dec 2018 18:01:15 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id AA48FC22647 for ; Sat, 1 Dec 2018 18:01:06 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id z18so1936276wmc.4 for ; Sat, 01 Dec 2018 10:01:06 -0800 (PST) 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=WOqohqtS2D/CmgaQbJ3SSgJjaUYTWIgMyb7WF6MegrE=; b=uqJFu25GdDR1BRiZH7AByRzozKlk8jIh7ZroBIIKBT0axDSOIM2ceY+oCgFmzW/WF7 0lziXt72tW8ZZJ9dPp1uicp4rCSGC1snaKHl/Y7b8/Tm9heHySqsJyw2kxouMqrfitmC qDflJWXBPXgnqTWVmX+8Qx2zWCqOAEv3GhsAxQQ5HVFW/env4ax4hd7ZkAAWVXcXPrm3 OuQ6WhoGdmHaneOv9Zu70AjT/11akba1KxEFSqI9wZCS6QdTtoA4JntQynSVs29AaopB InRMZxdMrEF8qSSyYhHO9kKLWWBOvFwUwgMDqf9J9e0GSUItaqQQaCte52YqXVWzhUnM 0jHw== 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=WOqohqtS2D/CmgaQbJ3SSgJjaUYTWIgMyb7WF6MegrE=; b=M6Zq0DfM5DvECTxR6/pNEslw1e6UJF9mBCq67sSYqjPdy4O01hsDNaueZEYbuwUM1c WTA4y4oqEr3uEC3trXKMa5EZ3nIEYq9d68vw+1TikF574bKeSLWeN6G+whwgtLj88VFx lknGqyUOFh34mH1GUlPvMU/odA9oxT8T+nRDpd9QLc/+8T1mHH+BU2ShIAPckCCtWXQA lTwlhEVmKOUWDDErWT6ry0UVN0Wnvco8FSkCktD5CFeWcFvaDnzhOugsFTl2vW0vT4qD rRl7YmlkwcbKTX/7gfoumYDb1dyNM0y3PdOdkce9DJoRxGsGFJ89urRJHFLGNaVm9xYW uI+Q== X-Gm-Message-State: AA+aEWbqCExDQxulDA5IOwVzeRS4TtzAPLpj56kGE1uBkHJ7YqjYxEmi c4JFp2PaBqXnxYLvD3muUPKvQcuI X-Google-Smtp-Source: AFSGD/U04B5CHvs6Rp6kpEgrEEtQY2pmpVdOrPSG4al/RppSnuZQKHbiNyEQ3dCpaxuIiW/x/MVQrQ== X-Received: by 2002:a7b:c191:: with SMTP id y17mr2889206wmi.10.1543687266188; Sat, 01 Dec 2018 10:01:06 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:05 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:36 +0100 Message-Id: <20181201180042.23103-23-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 22/28] bmips: enable ar-5387un enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/comtrend,ar-5387un.dts | 32 ++++++++++++++++++++++++++++++++ configs/comtrend_ar5387un_ram_defconfig | 7 ++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/comtrend,ar-5387un.dts b/arch/mips/dts/comtrend,ar-5387un.dts index e993b5cd89..03e3851ab1 100644 --- a/arch/mips/dts/comtrend,ar-5387un.dts +++ b/arch/mips/dts/comtrend,ar-5387un.dts @@ -24,6 +24,38 @@ status = "okay"; }; +&enet { + status = "okay"; + + port@0 { + compatible = "brcm,enetsw-port"; + reg = <0>; + label = "fe1"; + brcm,phy-id = <1>; + }; + + port@1 { + compatible = "brcm,enetsw-port"; + reg = <1>; + label = "fe2"; + brcm,phy-id = <2>; + }; + + port@2 { + compatible = "brcm,enetsw-port"; + reg = <2>; + label = "fe3"; + brcm,phy-id = <3>; + }; + + port@3 { + compatible = "brcm,enetsw-port"; + reg = <3>; + label = "fe4"; + brcm,phy-id = <4>; + }; +}; + &leds { status = "okay"; diff --git a/configs/comtrend_ar5387un_ram_defconfig b/configs/comtrend_ar5387un_ram_defconfig index f129870ca0..5ba401a441 100644 --- a/configs/comtrend_ar5387un_ram_defconfig +++ b/configs/comtrend_ar5387un_ram_defconfig @@ -28,11 +28,14 @@ CONFIG_CMD_MEMINFO=y CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="comtrend,ar-5387un" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_LED=y CONFIG_LED_BCM6328=y @@ -41,6 +44,8 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_MTD=y +CONFIG_DM_ETH=y +CONFIG_BCM6368_ETH=y CONFIG_PHY=y CONFIG_BCM6368_USBH_PHY=y CONFIG_POWER_DOMAIN=y From patchwork Sat Dec 1 18:00:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006381 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="PbjrM3z+"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fNJ5gwPz9sB7 for ; Sun, 2 Dec 2018 05:06:56 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 584EBC22630; Sat, 1 Dec 2018 18:06:29 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 139A6C226AB; Sat, 1 Dec 2018 18:01:25 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id ABBA7C226A4; Sat, 1 Dec 2018 18:01:15 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id AC376C2265C for ; Sat, 1 Dec 2018 18:01:07 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id m22so1914323wml.3 for ; Sat, 01 Dec 2018 10:01:07 -0800 (PST) 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=5WkBkP1ial0PDRVSHf21aSqlitp2c876+GqkJBl6YM0=; b=PbjrM3z+cn4NjicY6i5ReGf3hQf5vXvQDCtj/Y6DWzigNMaazHEfCFJ6A+iOfEPVUg bhMnboWaa11oMDBQ0yUXrRm+oE1dkRNV0/uaLeZkduw+rJsLPBwTVh5XpxwTLuejoPA3 VNG3CkbHGd7NLiFfZV+/RMVSiHxTaBXXmmv2kNhO9BzS/NHuifT28zU5geBS6jZ06lLa Gqq0V64BPWlh/4PsBlAY+KiS24b1Yrz9VCCN9Rd8LoWtMKw8HSv1ttY1OHLbF4vG1t6X NwJ1ucTX42Q3KTl6UmBeq/HQ4A+iHyCafW0Yco1tAMUq7cDmbXkjfCYyOdsB80BiLb8h 0GJA== 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=5WkBkP1ial0PDRVSHf21aSqlitp2c876+GqkJBl6YM0=; b=tk9SQky8f1tSUKdLm5e4j7hC9XA6iZq7j54SsfELRPBSfEhMZdxnbOKqrxBRTkSqDZ yZ/6C6Xhe9ab9nwl9RNlRuvzFU1RLAwQYt/QSK+k4vmNfWBHRSK4Tac/CK+XPV2Uk67i Dy6UCshne8BDPBQ4WUP0VUCaag/rKF0WJKmOZSxARYhMm6u7eUTamh2ay2JvUtNfBFS1 H03Vp3gGFfQr8yNLncHGgYjhmlZ8c9l6lkl+xBv4MmLr7rSeMPubPTtv0ixlP8+iovhr xSMSl0/oz1OCqFEu7Z5Cg77vFB7NRQFjngJ0Iit8TbTdwWv/T1MKosehUiqlU8eFjayR d5Og== X-Gm-Message-State: AA+aEWbit61BMKkFFbgrK+pFn2p+U2LVrtkrpyT6QFi2in6eFC0v4Cej RmXCAy0LAz9Q8ujYBnnf4wvXXIsI X-Google-Smtp-Source: AFSGD/Wm2CKrHBz7SVYetfAJsG46IjLcqTXMwMVgWdeiHPXvGJzORr0HdswWYaUmcXl0sfFufVrLpQ== X-Received: by 2002:a1c:b456:: with SMTP id d83mr3015346wmf.115.1543687267111; Sat, 01 Dec 2018 10:01:07 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:06 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:37 +0100 Message-Id: <20181201180042.23103-24-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 23/28] bmips: bcm6362: add support for bcm6368-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6362.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/mips/dts/brcm,bcm6362.dtsi b/arch/mips/dts/brcm,bcm6362.dtsi index 94e7de096d..c77b80a4cc 100644 --- a/arch/mips/dts/brcm,bcm6362.dtsi +++ b/arch/mips/dts/brcm,bcm6362.dtsi @@ -224,5 +224,24 @@ #dma-cells = <1>; dma-channels = <8>; }; + + enet: ethernet@10e00000 { + compatible = "brcm,bcm6368-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10e00000 0x10000>; + clocks = <&periph_clk BCM6362_CLK_SWPKT_USB>, + <&periph_clk BCM6362_CLK_SWPKT_SAR>, + <&periph_clk BCM6362_CLK_ROBOSW>; + resets = <&periph_rst BCM6362_RST_ENETSW>, + <&periph_rst BCM6362_RST_EPHY>; + dmas = <&iudma BCM6362_DMA_ENETSW_RX>, + <&iudma BCM6362_DMA_ENETSW_TX>; + dma-names = "rx", + "tx"; + brcm,num-ports = <6>; + + status = "disabled"; + }; }; }; From patchwork Sat Dec 1 18:00:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006395 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="OOoETGWo"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fcm1DBLz9s1c for ; Sun, 2 Dec 2018 05:17:44 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id BF63BC226AC; Sat, 1 Dec 2018 18:06:45 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 DE194C2267A; Sat, 1 Dec 2018 18:01:29 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id F35BAC226B1; Sat, 1 Dec 2018 18:01:16 +0000 (UTC) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by lists.denx.de (Postfix) with ESMTPS id 87319C2267D for ; Sat, 1 Dec 2018 18:01:08 +0000 (UTC) Received: by mail-wr1-f67.google.com with SMTP id u3so8220515wrs.3 for ; Sat, 01 Dec 2018 10:01:08 -0800 (PST) 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=twIz6QATGhEGdJQrHxnGJ9SkFHgy/GO4pisLQZdt87w=; b=OOoETGWooeDFAFbOiI5MHI+i/sITthZgClaWTmTGrQ+g5suSVe775JLOiZjbBmYejD oo3LreAh36HbKF/hWxKrLWxPCCs7epoLyqz6SRmZc+vc5ulyahO03dcwB9yl5Jgq0msl BuO3skfQ+szi1i46/yOPT0XP4AhFWFcZNLgEAt1IpXHvFVMv9P2493wRQicLU7/rJOsk LzbbmjC5MUbIyG8KY5Qv6/kNaubsDpvrlUPZmwf/Hi64qmsvie9k+8M8gK8NQXOibDfl TWsVzq3ZOx3IRRXZCzd7B/sBeQ4G/R0ZBs+4g2r7TG3djGZqWKdkH4bEFaqYv1CXhigy extw== 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=twIz6QATGhEGdJQrHxnGJ9SkFHgy/GO4pisLQZdt87w=; b=mDqPASaa6E5Cdkq0UnqWP+FDBll15itFNDEldz98qpW+72I71MWS94VqUY/uk/suGi N5yvpG2oToM+rCmLVRtA7jWg8bnP3VwcfCBogzztLrbJsT0x3uMapprCfyECwXEHQal0 bpPWoChbd958lMfywwM7hI8GqTQGTd6507K3GI2Rkadf0vMPGQDoK3CVHgY8GBmtEEEp 4wMT3E+YliX3o3/Nw+V2Br4O1Vokw4ca8r1prGB3hVYhAilAE6v/B9pldyPZQ78jxNwt OR6JZR0p+Mw7u5YvoztFlIpOF/MTz6qORUWRInq4d/0oCQU2sPBkYGfCimMiIadugCx8 qdjw== X-Gm-Message-State: AA+aEWZCWASgsakWR5EunrvQ+QnNefjypnE0XPiK6HY5/R1mpZDJ1CdF ZXix1Khi1hWwnFPStlv9BQFrst89 X-Google-Smtp-Source: AFSGD/VtE/ztS70+VHPoNBURlcgISha7KJkEwLFV9wqNXx5b24jVzlxbo943g4Ub5POLpYRzoeqcUA== X-Received: by 2002:adf:f189:: with SMTP id h9mr8636776wro.35.1543687268045; Sat, 01 Dec 2018 10:01:08 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:07 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:38 +0100 Message-Id: <20181201180042.23103-25-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 24/28] bmips: enable dgnd3700v2 enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/netgear,dgnd3700v2.dts | 14 ++++++++++++++ configs/netgear_dgnd3700v2_ram_defconfig | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/netgear,dgnd3700v2.dts b/arch/mips/dts/netgear,dgnd3700v2.dts index 322d1567ff..2b72491f0b 100644 --- a/arch/mips/dts/netgear,dgnd3700v2.dts +++ b/arch/mips/dts/netgear,dgnd3700v2.dts @@ -43,6 +43,20 @@ status = "okay"; }; +&enet { + status = "okay"; + + port@4 { + compatible = "brcm,enetsw-port"; + reg = <4>; + label = "rgmii"; + brcm,phy-id = <0xff>; + speed = <1000>; + full-duplex; + bypass-link; + }; +}; + &gpio0 { status = "okay"; }; diff --git a/configs/netgear_dgnd3700v2_ram_defconfig b/configs/netgear_dgnd3700v2_ram_defconfig index 1abc869856..0f3914fe7e 100644 --- a/configs/netgear_dgnd3700v2_ram_defconfig +++ b/configs/netgear_dgnd3700v2_ram_defconfig @@ -27,17 +27,23 @@ CONFIG_CMD_MEMINFO=y # CONFIG_CMD_FLASH is not set # CONFIG_CMD_LOADS is not set CONFIG_CMD_USB=y -# CONFIG_CMD_NET is not set +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="netgear,dgnd3700v2" +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_BCM6345_GPIO=y CONFIG_LED=y CONFIG_LED_BCM6328=y CONFIG_LED_BLINK=y CONFIG_LED_GPIO=y +CONFIG_DM_ETH=y +CONFIG_PHY_GIGE=y +CONFIG_BCM6368_ETH=y CONFIG_PHY=y CONFIG_BCM6368_USBH_PHY=y CONFIG_POWER_DOMAIN=y From patchwork Sat Dec 1 18:00:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006390 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="ekNdkJ9F"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fY06pmQz9sB7 for ; Sun, 2 Dec 2018 05:14:28 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 9C904C22696; Sat, 1 Dec 2018 18:07:17 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 D17A1C22647; Sat, 1 Dec 2018 18:01:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 0CB6BC226B3; Sat, 1 Dec 2018 18:01:16 +0000 (UTC) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by lists.denx.de (Postfix) with ESMTPS id 6E027C2268A for ; Sat, 1 Dec 2018 18:01:09 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id l9so8211597wrt.13 for ; Sat, 01 Dec 2018 10:01:09 -0800 (PST) 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=aMC7rcwN6+DBNQJMqTwngO91X0W43fknupGusr5VUbM=; b=ekNdkJ9FXK9EPxWFcLa3n4K7m9vyS1ck5XkNIZF68H4Rysex/M4kemzI3PSTp+lPGR grvAT8KrpMXvjsjOj+NAfo4H7w7xSDrgfxuzqTbE6ONqvvXHepSRYEqSHGobVI/PjGm7 o/AK0FkFN3VEVKGKMJU0qszmjvhCEwPaJxfa7IjkKpFZBBLT2GyDKF0cnrRDuWY2CC9U AwlYX0x8+jZbNHoAfIKJp71s5xtoZXZQDEutnxmiD9NBOG2+5cPS1o/6jsaU7fJU6pUs pRIjBNLdm1fQAo68GX/UWz97iPqNqKAiHIicDmdzyU7BrBdPON6tn2GtWDrL3hUFHQ+5 Hnig== 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=aMC7rcwN6+DBNQJMqTwngO91X0W43fknupGusr5VUbM=; b=lKxaAG136edGHWaZWdP02B10RaWz+uzHcQFA0a1FSetqXvdabDiYVJ+MPPSRM5eP4k 4ygRM6Py+I2/mUOeYB40u6DCcrco9kGC/ZsNJgnsIYatO1S7L/HpsUY8B08q1XuS/l3R MGjB3h7Q+HNlSO63WCYmVGMRq32pH2BWwpF4uskmI0XBg/QyNzFQq8TPHZIr4Y+4zG5c pSG4Brsbf9axYO+utSiBPZqNTTLAnvWsqK6khetK5ZxonDFMaIWBo2kr4J1DDyG5o+wz tTeRwx+drdwn1WDG/Ljn0PB711CJ3cAPHvTYX2g3FIhBXmgYMVMXtoP9CEkNam9UU/H4 p4BQ== X-Gm-Message-State: AA+aEWYRpb0mCYnSza/lSq4OfvtdB3igdBue3ucWzYH7STZ0P9ubJ6X/ mbJSNDkjAlLTvvuxVKrTGzPVoQjW X-Google-Smtp-Source: AFSGD/W4PiLebnVDCeZphM/2peeuXVInrEi19p6gUQBDR+UpKa++tX9+a8o/hIjjv4nRNperbzjkhw== X-Received: by 2002:adf:900f:: with SMTP id h15mr8656087wrh.18.1543687268888; Sat, 01 Dec 2018 10:01:08 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:08 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:39 +0100 Message-Id: <20181201180042.23103-26-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 25/28] bmips: bcm63268: add support for bcm6368-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm63268.dtsi | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/mips/dts/brcm,bcm63268.dtsi b/arch/mips/dts/brcm,bcm63268.dtsi index c7ad83c306..f8a72ef535 100644 --- a/arch/mips/dts/brcm,bcm63268.dtsi +++ b/arch/mips/dts/brcm,bcm63268.dtsi @@ -230,5 +230,30 @@ #dma-cells = <1>; dma-channels = <8>; }; + + enet: ethernet@10700000 { + compatible = "brcm,bcm6368-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10700000 0x10000>; + clocks = <&periph_clk BCM63268_CLK_GMAC>, + <&periph_clk BCM63268_CLK_ROBOSW>, + <&periph_clk BCM63268_CLK_ROBOSW250>, + <&timer_clk BCM63268_TCLK_EPHY1>, + <&timer_clk BCM63268_TCLK_EPHY2>, + <&timer_clk BCM63268_TCLK_EPHY3>, + <&timer_clk BCM63268_TCLK_GPHY>; + resets = <&periph_rst BCM63268_RST_ENETSW>, + <&periph_rst BCM63268_RST_EPHY>, + <&periph_rst BCM63268_RST_GPHY>; + dmas = <&iudma BCM63268_DMA_ENETSW_RX>, + <&iudma BCM63268_DMA_ENETSW_TX>; + dma-names = "rx", + "tx"; + brcm,rgmii-override; + brcm,rgmii-timing; + + status = "disabled"; + }; }; }; From patchwork Sat Dec 1 18:00:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006389 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="qgmpp07p"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fXv3ZFkz9sB7 for ; Sun, 2 Dec 2018 05:14:23 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 297F6C2266F; Sat, 1 Dec 2018 18:09:02 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 730C9C226CF; Sat, 1 Dec 2018 18:01:38 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id C0D4EC226BD; Sat, 1 Dec 2018 18:01:17 +0000 (UTC) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by lists.denx.de (Postfix) with ESMTPS id 536FBC2268F for ; Sat, 1 Dec 2018 18:01:10 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id j2so8236586wrw.1 for ; Sat, 01 Dec 2018 10:01:10 -0800 (PST) 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=qijyy1xk1gI8tRbrnGqTrdNXr8f/kgJeaio++IoeN2A=; b=qgmpp07pEB7kNDaTYQ0SDlUF09bcrGhNRh0IHS9zTiy3ncs7jE7ntjlmuqAbkVNfIp PnvKhJ7POM2H+M8hkgdjwNTEMnJ4N9GN26uJa20VZYUXbmdx/sUzwrrRHi3sH4d2jqN/ QFHfN5OPNk0OOdOo0n8eU4lsO8ZdoArriiuyGgpYKdGw+SqKZZsTXuWVYs+HDALlqzdr Y/PMaH3xTpsHVzqkSFYUT7vYLasWflTnU++VFRsqPgHPte8DCEQmaS1Zmgsm/rGRqXlh VTnPymQV4kM4Aq1HFXOyZ0PSmVoSszLqwEEx+b3j4YVycsOIG3CyHClbsf6d78br5Zsr TOKA== 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=qijyy1xk1gI8tRbrnGqTrdNXr8f/kgJeaio++IoeN2A=; b=rnrnq5UyhQaysFPRNR4ehN+382bWS5C77bVbOm7D0NhSGhfF7MJgJikqM6ok1cwIfY 3ltwU+d51C4pshXJrk5pL4lZ6l/ci987kEr29JJuCnnBt/7gMSjBvdTBYubc+8S3S1LF y5RNhaWN9N0UAKekJ6OCQbLDWQw5Mm94THcly0c70aqW4T7d2kI6sdRchufosklRvC6t x4xNQiafFH7fuvB4sQwqFF3lvXGcUBe3PLnvssJSE18duFANNBvUZMIuLsWT+h54gei1 KbqTkquTLhSmPfDr57cgSQryGIBm1jKBQx8m2NX7O108VQA1wYo9WTtpRfMqFlT4Yfhs o/ag== X-Gm-Message-State: AA+aEWZlwQNgJKrJx9erfXci/PkzJSMSipaZ8Kao8GpfcylsThFi3UkH lbNQJxzNnrxc92AKSNRCkl1yX6jM X-Google-Smtp-Source: AFSGD/U7f761b/DOC3tu+X7Dde9pdHE9yP0f71g1V0tHSypWojQl/kAThIWZLzHzdZKsrkweemj5yg== X-Received: by 2002:a5d:4202:: with SMTP id n2mr8592552wrq.260.1543687269859; Sat, 01 Dec 2018 10:01:09 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:09 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:40 +0100 Message-Id: <20181201180042.23103-27-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 26/28] bmips: enable vr-3032u enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/comtrend,vr-3032u.dts | 32 ++++++++++++++++++++++++++++++++ configs/comtrend_vr3032u_ram_defconfig | 7 ++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/comtrend,vr-3032u.dts b/arch/mips/dts/comtrend,vr-3032u.dts index 8c6a4a1eac..512cb52de3 100644 --- a/arch/mips/dts/comtrend,vr-3032u.dts +++ b/arch/mips/dts/comtrend,vr-3032u.dts @@ -24,6 +24,38 @@ status = "okay"; }; +&enet { + status = "okay"; + + port@0 { + compatible = "brcm,enetsw-port"; + reg = <0>; + label = "fe2"; + brcm,phy-id = <1>; + }; + + port@1 { + compatible = "brcm,enetsw-port"; + reg = <1>; + label = "fe3"; + brcm,phy-id = <2>; + }; + + port@2 { + compatible = "brcm,enetsw-port"; + reg = <2>; + label = "fe4"; + brcm,phy-id = <3>; + }; + + port@3 { + compatible = "brcm,enetsw-port"; + reg = <3>; + label = "fe1"; + brcm,phy-id = <4>; + }; +}; + &leds { status = "okay"; brcm,serial-leds; diff --git a/configs/comtrend_vr3032u_ram_defconfig b/configs/comtrend_vr3032u_ram_defconfig index 1689eecec1..47f53998e1 100644 --- a/configs/comtrend_vr3032u_ram_defconfig +++ b/configs/comtrend_vr3032u_ram_defconfig @@ -26,15 +26,20 @@ CONFIG_CMD_MEMINFO=y # CONFIG_CMD_FLASH is not set # CONFIG_CMD_LOADS is not set CONFIG_CMD_USB=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="comtrend,vr-3032u" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_LED=y CONFIG_LED_BCM6328=y CONFIG_LED_BLINK=y +CONFIG_DM_ETH=y +CONFIG_BCM6368_ETH=y CONFIG_PHY=y CONFIG_BCM6368_USBH_PHY=y CONFIG_POWER_DOMAIN=y From patchwork Sat Dec 1 18:00:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006396 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="NYZPZb8L"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fdK4c4tz9sB7 for ; Sun, 2 Dec 2018 05:18:13 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 57D09C22686; Sat, 1 Dec 2018 18:10:12 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 1BC4DC226DD; Sat, 1 Dec 2018 18:01:51 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 4E0CBC226CA; Sat, 1 Dec 2018 18:01:21 +0000 (UTC) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by lists.denx.de (Postfix) with ESMTPS id 6BDA8C2265B for ; Sat, 1 Dec 2018 18:01:11 +0000 (UTC) Received: by mail-wr1-f67.google.com with SMTP id r10so8198280wrs.10 for ; Sat, 01 Dec 2018 10:01:11 -0800 (PST) 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=djC3AtCHsEAsOSe1QDBzNwQIwW1l7xfpv2/9u5l07FY=; b=NYZPZb8LvQwnJNq4ioIm1yrMESDcVcMuLNc1catvvXhtcnDMZB//qLYVtbAaKEFag+ x9uRhe6NqlQOydvXf+QlpXodE6/i1fwMqOtwTC1LG1Exe50Mq6Q0PJXtIdPEajm38i/b zteoghQDlQr2a9IZYEM8r5o0h/wyMYeY58Zk8W/+lH0zNSXtgNIQ9YTEN6k4X8J0Q2ZX Lkiq9oBLz/yigPJGYm2UmHTmGGhJFxKl2L+AbO0vnUe//E1F+RGFIfSNGsT/B5qLseQX z0nSk85rgh2zAvnO12/U2CgxaJIhlQrjn8jAJhURQikCyUzBZ3RnAmAad+KdM7uSDmQp z50w== 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=djC3AtCHsEAsOSe1QDBzNwQIwW1l7xfpv2/9u5l07FY=; b=NLpd6lWRRvkkJ0Kfpn4xi4cHExovoK3s8qeQeI8gkan6GfM9eIjVDaTllUKx/Q+KYt i1V9e5m4l74C46P0u9TesGxTVI9aOEQg2XKTkf3fABW14wPn6PxWdItG7PU9KbuaRKmx Qz96bLBfHhlvQdSD5Lybv1v91GQuB+wrEmBF2yj6+pnpjnXW2BXd9tSvdeqxGVA5SQoX +6c284yvcbeyMM4pjBATThtJoDU6pG7CCA78Byl3Uyc6JRzSLqBEvMJOpB8A3+s6BGL1 GkXbGCYFDAGz1yRxO5WpQ+lk0cRWzFzXQzGdWctykPm7OAv5oDRK9Gz3wwQX/MxT1vUh EyaA== X-Gm-Message-State: AA+aEWawy9TkSTjG2ghI/umffTxD/vrZSJOkkPhfc/AJ1zughdcjB6w0 92pqADsw0WThjnusaP+U7GRm2SOE X-Google-Smtp-Source: AFSGD/XLTeAxujFwKWqGuPkTokJ8ewFSiKN0+gQzM66elmNAPyM19SMl1eAZJmewG3gLGClEnvAuHg== X-Received: by 2002:adf:9484:: with SMTP id 4mr4253716wrr.98.1543687270728; Sat, 01 Dec 2018 10:01:10 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:10 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:41 +0100 Message-Id: <20181201180042.23103-28-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 27/28] bmips: bcm6318: add support for bcm6368-enet 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/brcm,bcm6318.dtsi | 19 +++++++++++++++++++ include/dt-bindings/clock/bcm6318-clock.h | 11 +++++++++++ 2 files changed, 30 insertions(+) diff --git a/arch/mips/dts/brcm,bcm6318.dtsi b/arch/mips/dts/brcm,bcm6318.dtsi index d04b7cbb01..d678dab242 100644 --- a/arch/mips/dts/brcm,bcm6318.dtsi +++ b/arch/mips/dts/brcm,bcm6318.dtsi @@ -190,6 +190,25 @@ status = "disabled"; }; + enet: ethernet@10080000 { + compatible = "brcm,bcm6368-enet"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x10080000 0x8000>; + clocks = <&periph_clk BCM6318_CLK_ROBOSW250>, + <&periph_clk BCM6318_CLK_ROBOSW025>, + <&ubus_clk BCM6318_UCLK_ROBOSW>; + resets = <&periph_rst BCM6318_RST_ENETSW>, + <&periph_rst BCM6318_RST_EPHY>; + dmas = <&iudma BCM6318_DMA_ENETSW_RX>, + <&iudma BCM6318_DMA_ENETSW_TX>; + dma-names = "rx", + "tx"; + brcm,num-ports = <5>; + + status = "disabled"; + }; + iudma: dma-controller@10088000 { compatible = "brcm,bcm6368-iudma"; reg = <0x10088000 0x80>, diff --git a/include/dt-bindings/clock/bcm6318-clock.h b/include/dt-bindings/clock/bcm6318-clock.h index d5e13c5c2d..3f10448cef 100644 --- a/include/dt-bindings/clock/bcm6318-clock.h +++ b/include/dt-bindings/clock/bcm6318-clock.h @@ -33,4 +33,15 @@ #define BCM6318_CLK_AFE 29 #define BCM6318_CLK_QPROC 30 +#define BCM6318_UCLK_ADSL 0 +#define BCM6318_UCLK_ARB 1 +#define BCM6318_UCLK_MIPS 2 +#define BCM6318_UCLK_PCIE 3 +#define BCM6318_UCLK_PERIPH 4 +#define BCM6318_UCLK_PHYMIPS 5 +#define BCM6318_UCLK_ROBOSW 6 +#define BCM6318_UCLK_SAR 7 +#define BCM6318_UCLK_SDR 8 +#define BCM6318_UCLK_USB 9 + #endif /* __DT_BINDINGS_CLOCK_BCM6318_H */ From patchwork Sat Dec 1 18:00:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1006397 X-Patchwork-Delegate: daniel.schwierzeck@googlemail.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=fail (p=none dis=none) header.from=gmail.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="VeMIneLO"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 436fdq5yKfz9sB7 for ; Sun, 2 Dec 2018 05:18:39 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 3C6A8C226BB; Sat, 1 Dec 2018 18:09:55 +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=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, 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 F4098C226E0; Sat, 1 Dec 2018 18:01:44 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 27FCFC2264D; Sat, 1 Dec 2018 18:01:26 +0000 (UTC) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by lists.denx.de (Postfix) with ESMTPS id 2014AC22680 for ; Sat, 1 Dec 2018 18:01:12 +0000 (UTC) Received: by mail-wr1-f52.google.com with SMTP id u3so8220648wrs.3 for ; Sat, 01 Dec 2018 10:01:12 -0800 (PST) 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=ugDdjYVeMc5cTQupi3fUgQeuOVQCzzfmAzkS+7/jSro=; b=VeMIneLOJVKTfaQNbHBtm7nTJMnvkrKZ76qAUhA5oT4IVMUw5kuqIRIwYnA+z0e5Xl 1PSJbUQtihc+tx4wCp/mH9OA63diBdJfOjCicb+dafS5NYT/Sr4/d6xIG7TRQrdCDvXw Mr7IgG0d7QdVsxCFb7j59DBz6lj0HroY1MlWmMnNcv0Ad9Mh/GU6KqeQ8s+HQeD29y+c tQNZ1esa13Fki0h4dwPFZzQ9wjPj/5VoWgosnghaiz9UyhmZj3hzxTiIuYTuCoJbHMmn cKX2IwARXv3SRizIwIdGtEvfD/sui/hD8/XHyfmnPw2PGwe2nTiy8aCk445Fca6gyLo1 6+gQ== 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=ugDdjYVeMc5cTQupi3fUgQeuOVQCzzfmAzkS+7/jSro=; b=P3gsGgXVUW53A1vmcyy1n8Qk8tyOhfjTSBw290wAPNLQWDdnhTl+WTmSWYAcYpMQUr DR1l2pnFBh1wg6nhge5YqoLYWfm55z/lGGnpMNQZfuI+pUO9sCLezvZ8JBGOQzm1euRJ c8T3knX/e99upKjrJa0tsywNjAhszKyFx2p8G7eIcyhVwuhdsM/p86JmPNn4EeKB7axP TcHBRLR5ki4q2REqAVxjEAWmpPKmm7zUeaqxPZXDjWDczdy4jXIgCOqz8C+X2+Ymb+Ir oLCxdk8VA1DzcXa+h6xjrbywwc0dWfuPjtC4frqx1rkSYbD+R81p8Dy5Dnt1GwNSIy6U D4bA== X-Gm-Message-State: AA+aEWZa1tK/b8IIet8F5CH+tJRgJcAHhGPuUhY4jk8C/0Txlk3MmJf6 xmvKUcNT2uGXlxzX2UfXIKu51bFd X-Google-Smtp-Source: AFSGD/VEQsKzXjsukwMJ5dPQkgUqu2JnzWCLwEIFtNZno0G+3+kxEuHhCZjSMPlrCqi/UmJkoh3OGA== X-Received: by 2002:a5d:5607:: with SMTP id l7mr8788718wrv.25.1543687271670; Sat, 01 Dec 2018 10:01:11 -0800 (PST) Received: from skynet.lan (8.red-88-1-21.dynamicip.rima-tde.net. [88.1.21.8]) by smtp.gmail.com with ESMTPSA id 5sm2277185wmr.37.2018.12.01.10.01.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Dec 2018 10:01:11 -0800 (PST) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: u-boot@lists.denx.de, grygorii.strashko@ti.com, joe.hershberger@ni.com, lokeshvutla@ti.com, trini@konsulko.com, sjg@chromium.org, jagan@openedev.com, daniel.schwierzeck@gmail.com, vigneshr@ti.com Date: Sat, 1 Dec 2018 19:00:42 +0100 Message-Id: <20181201180042.23103-29-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181201180042.23103-1-noltari@gmail.com> References: <20181129222546.24977-1-noltari@gmail.com> <20181201180042.23103-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v11 28/28] bmips: enable ar-5315u enet support 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Álvaro Fernández Rojas --- v11: no changes v10: no changes v9: no changes v8: introduce bcm6368-enet driver arch/mips/dts/comtrend,ar-5315u.dts | 32 ++++++++++++++++++++++++++++++++ configs/comtrend_ar5315u_ram_defconfig | 7 ++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/arch/mips/dts/comtrend,ar-5315u.dts b/arch/mips/dts/comtrend,ar-5315u.dts index 45570189d0..eb60aaa8d5 100644 --- a/arch/mips/dts/comtrend,ar-5315u.dts +++ b/arch/mips/dts/comtrend,ar-5315u.dts @@ -24,6 +24,38 @@ status = "okay"; }; +&enet { + status = "okay"; + + port@0 { + compatible = "brcm,enetsw-port"; + reg = <0>; + label = "fe4"; + brcm,phy-id = <1>; + }; + + port@1 { + compatible = "brcm,enetsw-port"; + reg = <1>; + label = "fe3"; + brcm,phy-id = <2>; + }; + + port@2 { + compatible = "brcm,enetsw-port"; + reg = <2>; + label = "fe2"; + brcm,phy-id = <3>; + }; + + port@3 { + compatible = "brcm,enetsw-port"; + reg = <3>; + label = "fe1"; + brcm,phy-id = <4>; + }; +}; + &leds { status = "okay"; diff --git a/configs/comtrend_ar5315u_ram_defconfig b/configs/comtrend_ar5315u_ram_defconfig index d9ef52e68d..1b8e4e43c4 100644 --- a/configs/comtrend_ar5315u_ram_defconfig +++ b/configs/comtrend_ar5315u_ram_defconfig @@ -28,11 +28,14 @@ CONFIG_CMD_MEMINFO=y CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y # CONFIG_CMD_MISC is not set CONFIG_OF_EMBED=y CONFIG_DEFAULT_DEVICE_TREE="comtrend,ar-5315u" -# CONFIG_NET is not set +CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_DM_DEVICE_REMOVE is not set +CONFIG_BCM6348_IUDMA=y CONFIG_DM_GPIO=y CONFIG_LED=y CONFIG_LED_BCM6328=y @@ -41,6 +44,8 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_MTD=y +CONFIG_DM_ETH=y +CONFIG_BCM6368_ETH=y CONFIG_PHY=y CONFIG_BCM6318_USBH_PHY=y CONFIG_BCM6328_POWER_DOMAIN=y