From patchwork Thu Nov 29 22:25: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: 1005692 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="O0gxaeXy"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XFP0hwdz9s9G for ; Fri, 30 Nov 2018 09:27:04 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 4761DC224BF; Thu, 29 Nov 2018 22:26:21 +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_DNSWL_BLOCKED, 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 7ED21C224D2; Thu, 29 Nov 2018 22:25:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 95067C224E0; Thu, 29 Nov 2018 22:25:55 +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 AD430C224A0 for ; Thu, 29 Nov 2018 22:25:52 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id n133so3828364wmd.4 for ; Thu, 29 Nov 2018 14:25: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=RbLo9oGDJZCkgCz/FUga1+q98Mh5tWoSzq6Q2KXr1MQ=; b=O0gxaeXyMMWQk3cge6MnX75q3DJr7l0swPs3di4Kc6XTYoi3Q3IKlmyn7Qe17YU+gi KR2esh/e+OoNjHrFGcEckhHn4tadYe4Vpx0ktxn5VA3utHTTSi9cKQCjqRl369pulbrO SzX7ZO7xhOIyCNQbiV/JEC8XLA6rMZWFB9Ie75TyCTNiUS+rOw+H1obW3XuOfDKN5/Rh XGaGMXtczYc1fTiM7gePoaKFdJIbMTE5reDPsE7VLLEBUK0ZNdVEg+YQlT1WLVeqJauO TNC3C3VBJMbsInQ0htj//KS3hAX6HjfdImUsXj2Za9JRUtz7KXr/3knUqf8KhDp0yna2 iC4w== 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=RbLo9oGDJZCkgCz/FUga1+q98Mh5tWoSzq6Q2KXr1MQ=; b=Sbcnd6xdXZIOl00SoOQ2TMbkeMswqixtDbq2Y8GihROqzn8MysrmbEIpH85LaxPKrw 0AALdCnRrzQRvnVGP5sUc5WcjjW1KHnrKCfY2n/4bEW5cekcAHsJKdfvAGdJhyIMFU8k na+diiCGUFSNdqMHmHKjjmBvr18jZeTYx1/YZ/MZoim5QI5il2OI40fcDi+ptdDuZjTd wfPHhtB7/M+lv1cE6PeweGylh4+z2TXbM019vFiypAaFpAhlEVfQci6pHqTkPBvWL+9i 3TDwO/lQge078Oq/NsS9Bvw/lD+9f15gE2lDLJX3LBvxcT5WIciNUKkWZePPf8I+hq+8 nY7A== X-Gm-Message-State: AA+aEWayI/Sv02O6/VB4AbH4KJCQu58oa0WCiK/GIK+Kq2+GLnSRh6cT 594F2vNbfpAv6zj8ZRvE6fzypomu X-Google-Smtp-Source: AFSGD/Xaai6XzSiNPcCs5UlrFB4h82t8GF5M3QOVm4ejeFLneRqOfhA51WUEfWFS1vrSP2GoIv239A== X-Received: by 2002:a1c:2981:: with SMTP id p123mr3234210wmp.19.1543530351801; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:19 +0100 Message-Id: <20181129222546.24977-2-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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..699f1a6754 --- /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); + + /* remove crc */ + ret = dma_desc->length - 4; + } + + /* 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 Thu Nov 29 22:25: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: 1005695 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="BVs+a5Xc"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XH23wXkz9s5c for ; Fri, 30 Nov 2018 09:28:30 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 48C5BC224DB; Thu, 29 Nov 2018 22:27:07 +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_DNSWL_BLOCKED, 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 73D7DC224FC; Thu, 29 Nov 2018 22:26:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2E7C0C224E8; Thu, 29 Nov 2018 22:25:57 +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 416D0C224D2 for ; Thu, 29 Nov 2018 22:25:53 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id x10so3442937wrs.8 for ; Thu, 29 Nov 2018 14:25: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=ruuDQOcbaGsQEeD9LGtZItR2RQJEkp6TGPQZNgTPIvw=; b=BVs+a5Xcu4DFmcZ1UgwqjrHbDj/XEQP7Ncmmxq421mYx9ACew5XoJaGHlO/+vSxLNW V9m0Lt+kuW9h5j56FSLlJLptQPIzwx4C+wjTee5UkXEmeYyEIw8QP73v2NOGYSv0rEr+ U7f/oCuW4iONvu9p4rNFYxT7R+vg/cVXrKFW4mPEuxwbPZgl0lF4fSs1hIqBHIyMlmwy lAtMGHfqQ2Yi9X2j44U/38+vndRxSI1PohnJpozzFF0cCg4uekESCuqu4dpT+p/iPsWZ DBm/49w92ogW86k0wGo0VQQrOk8en3I+BReZQNdvBa+3gbLbtb0YtR7cKEOfAEAyxOLG QmDA== 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=ruuDQOcbaGsQEeD9LGtZItR2RQJEkp6TGPQZNgTPIvw=; b=IHVuKNLO74vKaTe3RBNzE43FYblN2NIAuRjmj0Wf0BrWzgJsjn8NWg3MqtacCNF67I WPaHdvbTwcHRTFbTIGoCToJtLq2kr1krGtTYJynaVahTEagTp2Cui3Y1nEXeaCx7mZf6 yj+1w79moZUv194KUtS0IvP3XofDBx5BvmkQiZCB0b92Ly5u3VB8acHebR4hbAayDsXB 62CjpAPwMyNEj1jDqcHbF09bLsj84yap3wTXv8NAAZLV0SbPloi2O++FU89vs8rSIkaP rT1LLTcTM1jawjZH1ROjPwvW9vy0O0AfBWr6wshN3J7CEOGOWGnzlIuB8Gi2FGV7EZxC JpfQ== X-Gm-Message-State: AA+aEWbaSNyPMfmj1GqLodEW6vcdoFuXZ+6flcK2AE1zDrkOIAkZ/ebb lw5dFRZMp9lJs+Gh0d9Dj8tkn5+2 X-Google-Smtp-Source: AFSGD/WXbmFrDUqldX32d55Q35A6VpQBS2dCTgj7kFjyLkkMN6QSXNlhWY3cCUB+AsPxU61J2kxaSA== X-Received: by 2002:adf:be8d:: with SMTP id i13mr2969851wrh.235.1543530352657; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:20 +0100 Message-Id: <20181129222546.24977-3-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005698 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="VaJkRw7O"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XLR1KRhz9s5c for ; Fri, 30 Nov 2018 09:31:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C1070C224FB; Thu, 29 Nov 2018 22:27: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_DNSWL_BLOCKED, 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 0267EC22506; Thu, 29 Nov 2018 22:26:13 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6CBF2C224EA; Thu, 29 Nov 2018 22:25:58 +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 4DD0BC224D7 for ; Thu, 29 Nov 2018 22:25:54 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id v13so3453782wrw.5 for ; Thu, 29 Nov 2018 14:25: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=FIM3DiZYVrusXPbt9nshp6sM6gebsHjC88YZXnZUnCo=; b=VaJkRw7OPOYjxKfTnRNagvrZ2h4lrcYL030dGUvkRCYFc3OzYqLF1tSQRe7qAqMtF/ LNbrhyeDJDXV20qbOdkGJwNx1njBja91BsSGL/I1PaIg6GApjfcBzYHszL2Bj6QhlGPu YlfDgDyvHBkGxGCxHr/OzJqqWtYI0Pl1o6KGDjhFINP2saldmiAv8Eg+oNBI9pr8QPjK /EDwkKr/Ks1D0RDUPWhdM8P0TOLkEDnhTMgfWTSJckO1Q2YgHQCBpH4GqW27UkhIVp0Z LvoJnV5GXcixo81VXhMoY/GoBi64IoNb6QsRecuyQBbRhfiaz6feJYLT0IA3A0e4DqyK 7vNA== 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=FIM3DiZYVrusXPbt9nshp6sM6gebsHjC88YZXnZUnCo=; b=f/j2KLJ96byTT0dbWYhlU+3X0n0AybQs1T/c1SyFNUos9inD//j/OXsIJfwx3/KDvJ r7wYpxABUDFk7Dx/n1IuoOuvZGNPss5PuyO7z1UWw1SSxP/MpAPpA0J7wneFCYgDq48g +mh8qoK8GG/L0b9N2Fuqs4V4zPy0EsLto5lReNcQ+RrJC9fMzf8WSVS386vhfkxpZ7m/ OxQJSfgqOFhJ78U9M8JFveevkuj1r9UpUYwCHOeH1IOebeKGjrcsWc2NfT3KpgkwIB1/ K+IbdZHo51X7R2JpjXzgUjZCc8O18MNBiBnmWBiF6yprvcVZaphXcMQ6HluwKDy7erJC fCTw== X-Gm-Message-State: AA+aEWZkmyM7BkrIxZreQHtx5TklcOR4Poxogq3sjIGIKzP7OFNCYdcw 0acSBR7G5l7/H57K4pJoz9zzQbDL X-Google-Smtp-Source: AFSGD/VVkeflxRthO150zZBdlPUN8gSK86jDa5DHo/9v/pGRb0Ruhg+EIhaVbJCC2EiukWb6v6Z5eA== X-Received: by 2002:adf:e608:: with SMTP id p8mr2893375wrm.166.1543530353709; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:21 +0100 Message-Id: <20181129222546.24977-4-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005693 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="S3mHKYZd"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XGD4CjSz9s5c for ; Fri, 30 Nov 2018 09:27:48 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 4BC08C224BB; Thu, 29 Nov 2018 22:27:26 +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_DNSWL_BLOCKED, 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 3B0B2C224FD; Thu, 29 Nov 2018 22:26:12 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B1888C224D1; Thu, 29 Nov 2018 22:25:59 +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 01D6BC224DC for ; Thu, 29 Nov 2018 22:25:55 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id q26so3806827wmf.5 for ; Thu, 29 Nov 2018 14:25:55 -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=dkT4z1zo82VqUFKHu4TGnXxAOLs12xR7aUrHZKKHbRU=; b=S3mHKYZdjS3kZqQAa5ogu9g7mJz4P70LqVkAeQ+M3458itXTzGHoLCda2VQo6TyMgu bBW+DvniyK7hVfSbcnT2ogKzh9HUYD3UORE9BTVaNsOBRs1GatZkkwJQdURHuxaclnQx GF+gidvsYxgfaNTaVyMxl5SUUK9WAs17aaNCMwPF3FO/ZaWUBLS/ZNO3x60gRj2c5eKs tbMkWh5J2XuEo83YvxQz5qsPCDuCeg5pbLzTX+By/6WPlvv4KMvaMaYZ9qntE4qtdxfu oDCaTqxLehS5RmAazd3AkjGEvxCbGI0mGlzWRTC0kXVwA9qk+UOsb379iPdBf0iSiNa3 Viwg== 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=dkT4z1zo82VqUFKHu4TGnXxAOLs12xR7aUrHZKKHbRU=; b=p308RKy7a4H2Ha0K2Hiwm2W+pwhOFOa1YOxkB8a2mpun0fua7ClJFd2Mec64BUSi7F odiLorAv/YwrVtpSE/3juOdR1syW9VBhMUaN5pTbtZijT3Sbk/w+eiVxT0r8fzpZt9df FQk7kFR2/rdAYLy+VkbOZnO3NKVXkReUoXzDMkMrOYNZNddlTomrZrPo2BOVdjawmBLq duRjanMXMr7cLSS9iqvtcJTafXCyt5ME7ZmNtFgtw1tz3oz23RUqCQOv50jCR4oPnQZ9 mwLgjSwJy+2MGQXAPePIe90IyEHom4x6fZ+gZSeGNcPJDQWfdPb7/86ENwieL0YFc6n4 1iwg== X-Gm-Message-State: AA+aEWZmSeT2pdWj40O0KMoYW0b2eizgs226jx88ZY1EU4vxM4RzR7kH Eqx56n+xbLjHhbAT1xlmSsORJbsp X-Google-Smtp-Source: AFSGD/UhOxHumVJwJx7XmYtcOmleusgIq3VXfxXQ+yq7IynVYcne+8STGfBcLYkhRy/22+HG4JcoXA== X-Received: by 2002:a1c:6a08:: with SMTP id f8mr3134903wmc.4.1543530354549; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:22 +0100 Message-Id: <20181129222546.24977-5-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005696 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="AZw4+abg"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XK64Bntz9s9m for ; Fri, 30 Nov 2018 09:30:14 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id AB5C5C224D1; Thu, 29 Nov 2018 22:29:36 +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_DNSWL_BLOCKED, 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 C3CABC223CE; Thu, 29 Nov 2018 22:26:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A6E28C224E5; Thu, 29 Nov 2018 22:26:00 +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 E1D62C224A0 for ; Thu, 29 Nov 2018 22:25:55 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id z5so3446703wrt.11 for ; Thu, 29 Nov 2018 14:25:55 -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=ZC1eiqWt/RuIh8PkNV1YfRQxKhGJtjrxIJQ7Uoj2Zj4=; b=AZw4+abgZSAFGjXb0Zn0yT1+U1TCzqudtDhwi+1FcRZTw64ZmucU1gNSlcV8VmIXer Wfqf7YpHQUQTH8WrdOgBnrpgglm+kQk8+3aSXuXZtbcBW590idQUyyHNEk7c3NxGeyzn /O8Tw0u9QwIeA1+LryeWE4xGrvS3nLMsE1rYScnCBimM3oGFXyM3GF2dGoXw2CCo+Gxg I/Slo4qtLwG5wUbgJUCKnDokVrN5VezkI6oh0gBbqufy7tf/I0lBinUMy/EXZouUkEo6 VScQ5BYSD18Mw1ibPrjEYigGdg8WG9LwrmQ1sBvYOENRgOVa2qPUqx5ZGZhcXzS0paL6 GR7g== 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=ZC1eiqWt/RuIh8PkNV1YfRQxKhGJtjrxIJQ7Uoj2Zj4=; b=Jf0bDgN9+X5rH801iTWkRkYkgPzY/ejqALx0KWv6PD8DEAZZjPkjg8x03U5m0olfMg 2b8UiF570HXGaHAPk0yXYt2c1N9XZeLlNFLEpGiHZAK1vSJLBZiC6jG37c8pZaatl+wG n+IFJSEpbfy9dDXgBsfZVN3LHOIqvfPITYwQOsm6EuNgNWzrM/pTuxnLTlpweaPAm5Ny wZhEarJ/5La4LmeMWgyrfSEPV1ejZyKpGAl6/3v1gz+BGe4ePqvWDg8krB7RcxcIa7zQ RvHn4IGOPTLwJEaxGAI/eQ+L2IvOhfzoFDKMgicgzDkiDbY6j5DVjPSn7+A0VPeZx/gc Xyvg== X-Gm-Message-State: AA+aEWZxF2FmIomPLgta8/kkTF3Bz/KyM8fQ4eIDAfU6c37x3vfPBtpw 4Vb/YePBXdjdg6nFvA4inXQrvdKF X-Google-Smtp-Source: AFSGD/UfHcIzO68sGHDHgiBkLR5Pfy9nY+ePbwZZjb7E4CIhpEpfTjkD/dGsTeEk8I0rSqGS88Qj7Q== X-Received: by 2002:a5d:60cc:: with SMTP id x12mr2724071wrt.193.1543530355405; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:23 +0100 Message-Id: <20181129222546.24977-6-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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,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 Thu Nov 29 22:25: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: 1005700 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="AEUHjoPH"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XMf1dj6z9s5c for ; Fri, 30 Nov 2018 09:32:30 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C7AD6C2250F; Thu, 29 Nov 2018 22:28:18 +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_DNSWL_BLOCKED, 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 30670C224D3; Thu, 29 Nov 2018 22:26:27 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 0D487C22507; Thu, 29 Nov 2018 22:26:01 +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 EB037C224CA for ; Thu, 29 Nov 2018 22:25:56 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id q26so3806884wmf.5 for ; Thu, 29 Nov 2018 14:25: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=xf0ay2aF+0mtXa2qwsDmbmNYk0Q1GlqWGC3ebcce5IU=; b=AEUHjoPHBRlPcsyLMlAUFlc2ww9pY0zLsTL1QcA5CHx/NrUrp90U8jYScdWTYgCaCX wmqX7Bz2ChJnjCb5BsG5MHLivBzRLlwVy3er7Si2ett0puNM2L3VQgdgaPGUTvz1V6BJ WZW2z+iUv6j27V36rTY5en1Fv+CIEpJKLhCGZVA4SXXrID4cY7n5pltQIyYWQurOJDiY ertt7bcb2WhbQ9gF19Fzrx6ICLc/cTIcaH6ifqIBB8eappWgM26/FEbiOBHn6kwpYf/O scZTFK5guvKyBwQ9CZyyFQhkhh/zw3S066GnmhMxpAqKuT0UlDbRvU8mwSgDsSBBYZ4g poRQ== 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=xf0ay2aF+0mtXa2qwsDmbmNYk0Q1GlqWGC3ebcce5IU=; b=E3mKi7ZDwO4K/QyLeGQ5yYtGg3dGtAeKFdV02Ok/ojYxGmGACIJXYtgZLxbr5BpLiS UxwdSG2pllzgVPuZru92XwkfHAnivQlFgrZZ/zR6/zt+iXqbPmihQ+3XnAte96lBH9a+ V+qUxiR9j/dSU5NBy9w4OG+MBtc3pTFOI41OoTnoWhqafm/09kAI8L/rTG6Oqm+jY2U4 c4E41LBunCPnveHKgpE7iwLWevVHaVv/40YbglOrzdvKIZXL14mdyIM1/G99r09TNdHH k+Yk/lhk83Z/L2W383/aLSPlzR7TcQxp5ylAjW/09U+IKbXpYKyy93uby6em30vZbXpK cSLQ== X-Gm-Message-State: AA+aEWarBarLuek0NnFVscX7jb7WdtiSDsNZah+CFJZ01fu2SKzobxCL 9IZBOOdTOgotE6gefPTI4wnZMyYB X-Google-Smtp-Source: AFSGD/WK3CW5ft2XX3Q7bn5JnwX3JEmp3Yy0RRHmBY0CV58QMq5+VaB6723mBYts6iYoK7ZFWDNcWA== X-Received: by 2002:a1c:ed12:: with SMTP id l18mr3389142wmh.55.1543530356416; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:24 +0100 Message-Id: <20181129222546.24977-7-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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,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 Thu Nov 29 22:25: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: 1005709 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="Qm+J4ttF"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XTf4ynJz9s7T for ; Fri, 30 Nov 2018 09:37:42 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 62C3BC224F5; Thu, 29 Nov 2018 22:31:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, 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 40001C22533; Thu, 29 Nov 2018 22:26:39 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D3CBDC224F5; Thu, 29 Nov 2018 22:26:02 +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 D4799C224D1 for ; Thu, 29 Nov 2018 22:25:57 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id 96so3476330wrb.2 for ; Thu, 29 Nov 2018 14:25: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=mMLhNfMBC0RIpDvTaSRk5bwxAWspZFehPrujpQiWKP4=; b=Qm+J4ttFpyXR0lfnpqhBX2LzvjTD58+pnsISier+vqm20A6qvMEcY6IiPQAMVPn2hY XWL/U/pZ/lCzHQ1c3FnVOudCuxHUWPm6cKVdypmUl1lTGro0opEAIN1E7qU4rECCLROM gV4P9qoU2osBbP16hVuBRGx2vCANs3/gIVaoKtyN4/JswC83FWSITkMrXbIogAJepfoB RiW4j4pcFJN21hYqT1oWA5PZks6j2/go1SO8kgMV7V1ta3/2byOHjJtk2VHj5aOTEwr2 huvIo76E8QEynjYUdcMphkpcAU8INHkjzV2yVf4l3XALsgshoZTm2lnHt4UvOWD99C/L Ls4A== 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=mMLhNfMBC0RIpDvTaSRk5bwxAWspZFehPrujpQiWKP4=; b=o28DHs8qWuUSvRo1qqqtxNUbDyZ8o7YQ41kLMPZrZaxveSPQWa0bb6uhJaG9SInlaS EhjI864R/4oSepistebEw5tFIAmKT7CF3MWFhI1ma4I/m5X/0+mogpMVCDQ7x0zdQ3C+ zjVs0DMENQbwUqnXs1F4hz5nv0JhLJkcLpOpslUiRuCpCUjHNUq/BZ76OIO0xWsVmUsU IT3WZmfZwxBjGfSFcMHeD5odPKV9FMfLBAG6m8Z48rqqliqW3mcsSPYbDdjuliM8earJ eG9BPpqjW8m5KiyU/ThU6SajD2p2G6OtsAENnM0CjubCt5APtRgnYui/03j2OM75oKuX AR3w== X-Gm-Message-State: AA+aEWbtQREld9rO/S4eR3MKeh0CuyDf2z57Buhs6PLmanyMBFuEvi2a ddoquO7cztoLp4cv8OH9KI0UTObh X-Google-Smtp-Source: AFSGD/WC+xC/H2/SJp66pkccIFKf+RHj4HUSApHn8szp9zI6/YeSc4iweaaYZmkUBD+dNzvjW2KQHg== X-Received: by 2002:a5d:66c1:: with SMTP id k1mr2785926wrw.132.1543530357305; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:25 +0100 Message-Id: <20181129222546.24977-8-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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,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 Thu Nov 29 22:25: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: 1005703 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="juvAwKST"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XQR4ynxz9s7T for ; Fri, 30 Nov 2018 09:34:55 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 432A1C22509; Thu, 29 Nov 2018 22:31: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_DNSWL_BLOCKED, 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 AB84DC2253C; Thu, 29 Nov 2018 22:26:40 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8D771C224A0; Thu, 29 Nov 2018 22:26:03 +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 8C9DEC224D6 for ; Thu, 29 Nov 2018 22:25:58 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id r11-v6so3885225wmb.2 for ; Thu, 29 Nov 2018 14:25: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=CUtbsBQaNISbDMoRcmnGdEruDgCJ7i6bJVP7/umbHA0=; b=juvAwKSTKcYlUIVNWEgY3l4ZofaYeXWcWTb1SgG9NHJU6R04GDszxl3gEZSWBr+iBc 8nz/bx7RXH3P2kCH0ICPGMbYnwa4EIxqEs5NMOPb1F8QBuYx+V8vO1VhFFsI5VpbOY1y /jgUuSe+DZ4vFk7YrgFnySBrqSFEKKtU4EtImH4pAB1eKZUaLZWQaRP4wXHfv4Yi5W1B UiNHWIwFk3pphC+scu3lg2tfs68ube5Z4XmrJ1YwwZBF4w+LhqauznZ5x0LYir/wsYrV zyKmmXa5AyzxUiRMJ3uiVXvLsnow8b45Yth7tbmIkfxrUc+oxn6kJyQC+dSnHJcWk882 2h/Q== 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=CUtbsBQaNISbDMoRcmnGdEruDgCJ7i6bJVP7/umbHA0=; b=UUGFns4PePi76k5LB60w7qZXjNy74xWx3gk7XuEZOG4DBu5CItXjQ/dBXvs9kw8JnX C/o63VTXPI6+LPk6K2LrhcVOp2xBBoVuUyg59OR8euQlAu5jKHH8lFJGSjWZ3motp2og 83Pbch37j2n9247b/pPCePm+tceJuvi8RfObNrcK8rtd3WHPmve4sDgH3DgXda9jOVD6 yahxblOZ6m5Jrrsgis22VKGdAVrjrarZX3Pk3TkVr6WCalQMqomHonmv7hHzWyomKsfu YEAosdM4NLRy/2cWqRo+WXW+n8e0f3gomXO7gh1MavW9O3T96gJG0tZg/s+thwhGjztG 6KBw== X-Gm-Message-State: AA+aEWaBaJJhevgZqW/OguXEel3JjZ6bWJNMC4Vusm88dWA7RJGPphBX DNF+KuYKMFqWHTGoSR7/xAkz81R1 X-Google-Smtp-Source: AFSGD/XkiDKYmUb15TF9i349mytoQeiP/aiswYiJUN6CCWLkaXf0aqihLSBbfV/gwZzQjDNMQJNfHg== X-Received: by 2002:a1c:2686:: with SMTP id m128mr3149348wmm.52.1543530358101; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:26 +0100 Message-Id: <20181129222546.24977-9-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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,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 Thu Nov 29 22:25: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: 1005699 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="e77goN65"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XM60Yrbz9s5c for ; Fri, 30 Nov 2018 09:32:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C8A3DC224D1; Thu, 29 Nov 2018 22:29:52 +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_DNSWL_BLOCKED, 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 7DEBDC22518; Thu, 29 Nov 2018 22:26:33 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CDE91C22501; Thu, 29 Nov 2018 22:26: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 C4803C224F1 for ; Thu, 29 Nov 2018 22:25:59 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id z18so3894251wmc.4 for ; Thu, 29 Nov 2018 14:25: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=bl1MLcAotSoNyTU2Xw/vwnHeGoiSkjAXrM39bvd94yo=; b=e77goN65w7QR6gftLammX5Duq26FP3hyHXttHdcoGsW0YPIZyEZPitNiroQ7ymeO+c +dfVlpuDmwbTMQUCpvjsTMm8oO++NCboy3oBKWliH6GEr8dnlueE0QMDVJEkUHYbefiR cQioF8szAK+DcPEKvRBRwNRdj0BXLg5G/ZkZv64c/ywHgVb2eaXkWGuVxiNkcQxcPgBn GcE0vOEU1qqbXYFckp7m6XIFM4uTDLZrulUn1BmDOOuRyUObCJpSyaYoIrdaD071Lq57 M6cMV6aMLzJNmZBr1vL+2Sd+jHUO/IA3X+VhCjHCIL3ZYW3tScw7Oqc/nlg2Nyb9VroY V+zA== 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=bl1MLcAotSoNyTU2Xw/vwnHeGoiSkjAXrM39bvd94yo=; b=P1u1MRCfyQKapSa6sGhNGnfWhGcp8SvAMAEoGLR3EX9s73PvK3f7hpinIMG7mq2ptj KdG5jUMbf5yrTnMsMFHGAanSVu6NmCTXLvJlZobQ90eaDQzyleASRMCuPtRAEr8lWTDe F8E/I+/ueDFKLzB5wHebpDTogJMawJW9nUAyYqQoGy328ik7UCV7pdQvSzx85kN7Weuy mXqMu60k9H3iLX1zQZAEiHfkL0x+BpEm/muJahrF5KhjaF+JrtVdXLITm3p39N6oy1+/ a6soUgiP0v6R3hEhCtHimCTPMp0pvZWUubJmoXuQO/lqRAmA5Ccd+gLy1wv6iabGznJo 7u9w== X-Gm-Message-State: AA+aEWZOjABpvb46Fr3NqbGL2AOKdrLIAdUGWTpD+IfcG3KorIySz26Y JK7voGS2Wdc9w/y1bCRAvdPUiSnu X-Google-Smtp-Source: AFSGD/X2O+PC0LxBF5O1Ekh8zf7IlXt3lBgk8j8zzmzWsPpaXDziMV6jOIsy7h2KvXUj4JDE1qVSrA== X-Received: by 2002:a1c:c2d5:: with SMTP id s204mr3530160wmf.144.1543530359153; Thu, 29 Nov 2018 14:25: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 y13sm2022043wrw.85.2018.11.29.14.25.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:27 +0100 Message-Id: <20181129222546.24977-10-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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,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 Thu Nov 29 22:25: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: 1005697 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="CTn3Dvc1"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XKb3hy1z9s9J for ; Fri, 30 Nov 2018 09:30:43 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 205EDC2250E; Thu, 29 Nov 2018 22:28:37 +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_DNSWL_BLOCKED, 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 085A2C22501; Thu, 29 Nov 2018 22:26:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 615E7C224DE; Thu, 29 Nov 2018 22:26:05 +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 C06E9C224D7 for ; Thu, 29 Nov 2018 22:26:00 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id j10so3457622wru.4 for ; Thu, 29 Nov 2018 14:26: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=14txuLcVU/zjmfGiv7fUvwq5Sh5rWQNeADy20GUcnHg=; b=CTn3Dvc1CsJfSSsDhxvrFzrFik8KzByqgLgEnpZKSl4LtvaNFAx5jYX0Iy9KvOyWbY ALwQjbZC1GXc2GiFCT8mWIk8kuvp8NUFZvm0C0zdQEinEjqq2pT+YEBoMQHeYaZQKfT5 UrIt7ILLQOEjMAD4KaLt6lYBVBTglFdp7w9LHk93yhMo0SFKy6YQ6sjptSNTbGkPx4yv uiVnBFb9r/OwtwMrBFz6QCmKuuugo5fCgXGt+x3Jv+Gs24GiXuQJWrBRs7LJB//uoBiX GUQI1aXRdZOZqvB0Cseq3Esqz7IrAI6cvkeeiXV5qCjhAzVJCYxyx1oxZ40FDjRhtqew IvIg== 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=14txuLcVU/zjmfGiv7fUvwq5Sh5rWQNeADy20GUcnHg=; b=uTpf3sYgbGM6SPXMSkDbWYJtU8PPsb+oxZqa8or5OpMoEzrEGVBnpszlOd+owb/+2O o6+4bTWjGTn5VgPu3QaboMgb6SwSLjUSUiIkTAX5Puzw6BU7elphHNrv05bAWCa6DAVG lnOe+NuEqt1MbkgFGt1A3eouPZD5u1xjDULHZ4jYOJzQn0KafdwBToBn3CS2zhl+kO5d RoPne0a5p5XCedRhj4LT/HitFp1z+AbwWIjazwD2EZfcsLshXr4Qjb8+ugcQmqA0LMvm 9g1KFoFItxvpYvQExwmMlfx0AVbCK1we6I2PQC2xpaLBjlkOOQZG75coskPMyjW7t6Lm oxfg== X-Gm-Message-State: AA+aEWbkklf6FCdP89LPOjPpLeyMiDCQ/X54Iv9Z+YXI9cJ9jR1lSguf JxLJDPBuvws8Xv1hH+kQ1XXK9J6v X-Google-Smtp-Source: AFSGD/XgaD+kLS1X+n3+j/0f36CY0n7zJjpJZmv4p3wo4zet6iuU5d2PZTwz7dwWYoYVwdWXQfTAEQ== X-Received: by 2002:adf:f58f:: with SMTP id f15mr3069972wro.231.1543530360099; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.25.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:25: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: Thu, 29 Nov 2018 23:25:28 +0100 Message-Id: <20181129222546.24977-11-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005707 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="OFwLosar"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XSX1CfXz9s7T for ; Fri, 30 Nov 2018 09:36:44 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id D34EFC224CE; Thu, 29 Nov 2018 22:30:09 +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_DNSWL_BLOCKED, 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 2DCB6C224F1; Thu, 29 Nov 2018 22:26:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 1F283C224E3; Thu, 29 Nov 2018 22:26:06 +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 B8BB4C224E8 for ; Thu, 29 Nov 2018 22:26:01 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id z18so3894328wmc.4 for ; Thu, 29 Nov 2018 14:26: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=ujRT3YYPW3PtlVVutIkhqWdy4MQyX2Ez47fbtxlDbE0=; b=OFwLosarSegSoMOeU8t3naqQh1S67lxZkuyxTOSBSJ3OV6VkFj3SmOnDzJP3WrgL+x pQa6Q8lb2wAiXPoz2oMz5MFGWhQ3/VU1s7Bey2ZpSsqCeexs/AqX46xOY1pySxLcUu5I VaH6xItQzBehrqpMq0zu4aCxfH64sS+b8YTyhGvtTbJJtE2KwRO+OTNWe02Nwfh7nI/V riMQ9LytEraK35EtEoLLZ0Z8nRqHgmX+VkV1wR3HeaVmRHCGLwG+Ui6a3jRrluPJLzUu CPAwhL1H3BYPvaupdHBlxGjF5iKXEKTyKTKWsV4U1mg0cSF3bKdg8u+8w7O7MBN5O8yC GRFA== 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=ujRT3YYPW3PtlVVutIkhqWdy4MQyX2Ez47fbtxlDbE0=; b=ltOoYyUXvvPTlSLhamxMe47QnLa4aYm5HtXN6h3M6eaVb55giXxZDLcFfuI4FTxlVA +CMGPuZeOZQ7IPI8+SKnlJyBh3TotOdzgUufyxXM+otE9p4OuMPJmN/tx1T6ZLHcpSdq 6FeYeUOKvqxWBnNqgteRRUPsLlfn6NoJFr8dWIBeZ30AKh8k2p5pUGWZ16Deb89JksBh mk0DeohJmBnpx4LEkvLLckNZ1dYrMzECw/aVOANnfSOdNWiGWPqRr6AgDHxoPrscYbEu mWygffn41UjrDp37VSdsCf7JdyQk5KBxOVlCdHq/wWxVLMmnrASyu6RbyGhCCdIdwzEU a96w== X-Gm-Message-State: AA+aEWZ1FjFe4s76gHs1JZf5msePjnkePTg7IkScrei74r0uE3cpFsxX vNWJLKCaGfvZ7W0Sgg6KUGnKW7bQ X-Google-Smtp-Source: AFSGD/XESITdbHT5KFnjJ0rrrIF57qGzSuVSrND1K7aVKpoDln57bj9IN0+Q3T8MSHxwvwifq9SB6A== X-Received: by 2002:a1c:6382:: with SMTP id x124-v6mr3445164wmb.145.1543530361271; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:29 +0100 Message-Id: <20181129222546.24977-12-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- v10: no changes v9: no changes v8: no changes v5: no changes v4: no changes v3: no changes v2: 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 Thu Nov 29 22:25: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: 1005719 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="bHJgNxE4"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XdD1rdnz9s7T for ; Fri, 30 Nov 2018 09:44:16 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C89CBC2255E; Thu, 29 Nov 2018 22:32:46 +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_DNSWL_BLOCKED, 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 E9E3EC2253B; Thu, 29 Nov 2018 22:27:18 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id AAD80C22517; Thu, 29 Nov 2018 22:26:07 +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 9A3C5C224EE for ; Thu, 29 Nov 2018 22:26:02 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id 96so3476511wrb.2 for ; Thu, 29 Nov 2018 14:26: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=uPfnS3h8xM0Ma4O7i2ASDQAFM/EpSgqfzrpVG6c7GMs=; b=bHJgNxE4EFG0OvyCPvFy/ygrfEJXucAiCYJFJa69PyKRRwxgkT63V7RSBEyKZrOgcg dnMeP/R4hWQY5CTjobI4Jj3F0zQAlFra6//rV65bHrcmgT7GemLSjuncoVDjDwMFNvYA KT6XxK2gDM75284Rg40mnSG7TF0cTFqGvnxrr4GKRsE+tq4eADOQyJ7kGboRpbbzaYFT k0zfuEXIkYIPSeGrRTwU5+AV6Faz7EDxRv1rXimyA7HCO7xFFLCp7GjlKyc73YiS5Juf t6aknYhrM27feP22krtbl/QVvW6ndkm4aAygaAQ9Y9M0C3XTFSGZpyN94fYY+cSyzQ/Y HWdQ== 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=uPfnS3h8xM0Ma4O7i2ASDQAFM/EpSgqfzrpVG6c7GMs=; b=uPn0FaYN+dKGfs1UShuiSWkT5I+WDpBklSjFxDmW/GRE29G7hKKxQ4pU20+BrzWrZQ S4xPLQ5U51pvowWb0sNDxp/TrD4WmwJn7RyV2ODWDTJjOt1U6bTvWdz/wPTN/E/BfLqM 208RRpf1U9lWME4S12hftOmzBNDpMQ7Po5nHfqbDhmuViDO386uf6Sn46vXE9fME6CKB 4dp/N3aGMijZSGJLH5cwoAdhPOgwM1PYNy+TdW1v1YIfRceMQRp2mRCQy854APfuoiOx KN2Mf46BS6N49hEcAChoObUiYAgmpbY/77scif4/Blm7jnTEYbL1iVeH60MkjQMZSlr2 +/rA== X-Gm-Message-State: AA+aEWZx/iJ9RoyfRJIXDnwKmLV3UAqdJWTd2SVD6IwPZsPoZObQUiu9 HUMQPupW0o0+kavEEMwRbOXi2/57 X-Google-Smtp-Source: AFSGD/UOrmqS6aRYlZ4j87/ZpCHtHIFpxw7HEiPaZNQLQd9Um190IDSaHFSJ3wOw35TOci6QHWdT1A== X-Received: by 2002:adf:9246:: with SMTP id 64mr3082217wrj.130.1543530362120; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:30 +0100 Message-Id: <20181129222546.24977-13-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005717 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="YnjpHM2e"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XZn0h1gz9s9J for ; Fri, 30 Nov 2018 09:42:09 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id BFEA9C22545; Thu, 29 Nov 2018 22:30: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_DNSWL_BLOCKED, 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 0BEB7C224FA; Thu, 29 Nov 2018 22:26:38 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 44BF5C224F1; Thu, 29 Nov 2018 22:26:08 +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 63C07C224E7 for ; Thu, 29 Nov 2018 22:26:03 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id j10so3457746wru.4 for ; Thu, 29 Nov 2018 14:26: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=ZeBP1EpP9sEVgB97gdSzY60/TZwyyGiMWxShLAm4wfI=; b=YnjpHM2eof/HUOW6hXff4QUI5ImPzyuoNIOAAzU6CUsCWKjgR/oZpif7+A07ledvqI LNuEu/qiD6GO9//QffF2vo08udrI/9L9qALKkF1UsVh+kfT+fRXlt4Xpim6aScQSkz5u 0XBveNX1W1gS3tljXe5dklwT8+uY59uDhRHtCLP8z4C2c0iyww8UyhADK2v9gndQpw4f Hn69+tcwwo5QntRNHqcA5a1tlHLGiXmRvrCxhEfajQTK/DHgGQMJuHCB31dWmKKrxVst W1kvtusiYfz1NVbmFFvJNsUirDPGlBLmFBExnnWo/FRQ7pf74Gc1bJscW+mPLzDtoYaD zmdg== 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=ZeBP1EpP9sEVgB97gdSzY60/TZwyyGiMWxShLAm4wfI=; b=K+boaY3lQojNPeKGWh+gsrS/nf6MtJNS/QJ8XG7TNiOIxVlxaM2uE56pzkU7RZ65q0 X7YQbPm4MqFftQWb72SEviEAOWC1fxS40EXMbsFG4y6e3O84pNu2s08Va/T7P+ipClMC C47cq9H+0TsAW7FbzgGbyCedEQ2zH9QM8QtDQ20dRjDCQ6RcRWVFDpjxkwNioosbG47m E5s7t9QRg3vxeAvbEYTc0x4zXYL2Iappmr3VJ0c/KOs5BFDyJa/9HEMwt27e/j9/3Wdb sOCfjvwb2xmCqzkNPRJJjwDLm7oW4FVwCXCuiLdSupffltLuiFPlW6lEMIAt1KPdm4J+ 972w== X-Gm-Message-State: AA+aEWYS1KdkZq34MXvKkeYN4fA0enQWQ9CNcxf7JIzPWShx6w3I3t0o /l+csJZ2eTF09i0MZMNvGxl5F0q3 X-Google-Smtp-Source: AFSGD/WzbAPDKIKhRjJSK0YP3Uqb02BgPkgEszgl90aTeeifdgcgIyyevJPbnrSwZe5pLOKi2NSBeg== X-Received: by 2002:adf:c5d3:: with SMTP id v19mr2816943wrg.30.1543530362909; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:31 +0100 Message-Id: <20181129222546.24977-14-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005702 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="dveOfJru"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XNp1Csvz9s7T for ; Fri, 30 Nov 2018 09:33:30 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id CCAC2C224F5; Thu, 29 Nov 2018 22:28: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_DNSWL_BLOCKED, 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 E254AC2250D; Thu, 29 Nov 2018 22:26:13 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id DD290C224F8; Thu, 29 Nov 2018 22:26:08 +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 6B91DC224F0 for ; Thu, 29 Nov 2018 22:26:04 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id k198so3839690wmd.3 for ; Thu, 29 Nov 2018 14:26: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=jmdHRZxaq0a0JLzhLl2yNtPbSApTLyMrTSquZ3knWXs=; b=dveOfJrua4XeLiqenfWIQ5OvTCL+lviIPA85ij9m7uHukUO6kX73N/USFHbXwRCYYn mcQXda/4K6LscScS3bn/G3IgbhwEOIHeeFXn/oCEmpTzvqmnkGH/sCkWYOx0m+fJPoyA jAhl8RzZa9iOexN9h/MHJks8C1BvVdWL6HT8rJQiqcdmeuanurU+5cXDdEa7e9/o2SlJ S1kcFi4py0pXD/YoCtHol26dZeXK5foeWMDAEU23RNtV2dwqoVc53HRj93f7jqmEhd1b 2lXYopEIriSZTEAQg2dANUHy9aWMyZSIhJxiUWbqqKOTb6zTJtjBW1l0szpf4t7MEKQt AnDQ== 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=jmdHRZxaq0a0JLzhLl2yNtPbSApTLyMrTSquZ3knWXs=; b=TjNmo3kW1bdvT5vIHaSIsLqil5EtWb2S3EOR+bNJemaBMJhBTmV+uHhr5QLI0m9Vej coeIOIZdZfvkbP5k+HVeVju3kvbP2BetV/cbQ5KU5cQ2zIfFdtrJAQ98h6Fe4xJa1gFj UJ9bSd03KgjFDjjcLpi/rp7obxzqsxzq036o1xZmdiDCKpOZz7aVmUi5JnYjTgviZC+V HTrtOTUGfsKsoht6YY81R/i6PrJ61d0PcxTvxwxGgwwq2Q7Dxk9aUQ+qK0z5HWYKnvJE lIoCFLmrvgz5abGUvDApCYgFaRiEhKeRzYxENipLORDOe21ifMlqFTxnP3GnWX8MSEzs mwgA== X-Gm-Message-State: AA+aEWbUE3oGYvPbskAhIN70rhPdV4i1PJqCu3lRQppZShQ8rbTf6YlD HDJtBjRnbW1CKP5kNGBhnjXX1vPo X-Google-Smtp-Source: AFSGD/WB1pgfxhqlPpJ2MPJI1VZqVIfkrYElLgam6g4e9oTvA8WVWTTNPOKsAy27p/f+1Jb+kTEhNg== X-Received: by 2002:a1c:f404:: with SMTP id z4mr3336391wma.68.1543530363867; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:32 +0100 Message-Id: <20181129222546.24977-15-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005706 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="XQiEb25U"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XS80pQhz9s7T for ; Fri, 30 Nov 2018 09:36:23 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id AE0DFC224BF; Thu, 29 Nov 2018 22:30:25 +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_DNSWL_BLOCKED, 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 82E6AC22517; Thu, 29 Nov 2018 22:26:35 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3A01BC224ED; Thu, 29 Nov 2018 22:26:09 +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 47F9FC224FA for ; Thu, 29 Nov 2018 22:26:05 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id 125so3912880wmh.0 for ; Thu, 29 Nov 2018 14:26: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=n7MfL1PsUCFfdTbm9u7I56r6IjaCH+nU0coE82twzoQ=; b=XQiEb25UN7IdqeIeuMDZdbnsWDQZfpoFrM0h9O/gwW1NLRAc33nfYlo8RpNaVwdShA 1oW5xzDBQnyDECPFgpRH0THvZmbHoGmLUI7wOZ4kNE4sFCM7W+Mgi8VW9084Z/7/FPiD Powiym9nXuxVjVDQ5+by48ozaD8jrhhG7O7appihxPXJJjnuBje9xri0E11CJZ+pX56F hqmq9plkwF7qk0Hdutb8o4DYU0Ttlao7F3GKIaefAxC/AikfxTuPR7i/LFgV6Rb47NLa nHxowEP2FpTxz6ysEZ65CQkrDJ8v+6m0eRC6OjCh7I40gbogM8z7v/1nVFvob/Mhgpth u+sw== 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=n7MfL1PsUCFfdTbm9u7I56r6IjaCH+nU0coE82twzoQ=; b=PrsPjrD2L9+9XknvTHIRtb/qL6EGE0aPdIOQ5J7I8JqjOzFa/zlfD/M2ttZ6Cnj5yh OuKsfRlG4qUFAluoheSIl68aghAfNZVuPSvb0ZBtcCyplSMjl6gvLGQcSPGzhNrZJ1pf 2nU+9256GGOtKFpagNKoqlmUUBtavbtaJTyfH5ToD5CW4EWpJB+3bH1SZIF/d3Ewt96A cIUXOzve5bzhNyuVL/XoYqAQAx3VgB/B53vx84uFJGz7hxNBpn/QKvfZBUa74gSO2bu7 biKGsG8wWNwTtmcZXBHEaf1uf6niukeQUQljI8oQCXdAe/Jhw4RaoPcNqEx3NyTE8YWY cqpw== X-Gm-Message-State: AA+aEWb5LL69DZ0f+y9zd9vMEH7zFFeXsFcrB/5WjuIZBJ/XjxxraSSp CQFcaHnCwNB29Vl9ygCWTo9GQbfH X-Google-Smtp-Source: AFSGD/XnE1kKyM+3hvq04lbrnG9yowb1qCjTJVAxCdjAaofFm3ImOMJenWHlsD0vr46gO75Q9wWSkA== X-Received: by 2002:a1c:400b:: with SMTP id n11mr3355090wma.85.1543530364709; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:33 +0100 Message-Id: <20181129222546.24977-16-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005708 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="loKwDJbi"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XTM1pcDz9s7T for ; Fri, 30 Nov 2018 09:37:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id D9F8EC224F5; Thu, 29 Nov 2018 22:30:41 +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_DNSWL_BLOCKED, 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 C0EFEC224FB; Thu, 29 Nov 2018 22:26:36 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 39BA8C224E8; Thu, 29 Nov 2018 22:26:10 +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 1F80EC224FB for ; Thu, 29 Nov 2018 22:26:06 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id y139so3862915wmc.5 for ; Thu, 29 Nov 2018 14:26: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=Ah/SfrhIiugZ/ZmUYsvvJnqt6cMmLnnMnjRkzCDiNUc=; b=loKwDJbiIVCazSuYg9K9THG+f/jMwR77o4bAh4T2J1bMVrbPG91UPeiB7U0GUzk1EB Fa9RVmndQIFTd0NY8x9MNgbq+QHIj8lmf+7dVfX0iD6mzr2eTUyVIgJy/EPjBQ31iAd5 Gr0jykaSrj4llrJ9j0yXKrfKsSiuS520/zsPxmZZA7fQULUEkJhqMvz6e6MHeVNTUz3f OW0GnN5A23ZkNAq7TjMpZwswptj0uvZ2xvVUSxQH9RyiC6zGKalmz00ZUQoDlbKyfBab Y/0fqzIeIoJFd7JXlysynIFVYtCQRcCGFvMRn6eDwmjP0hoIkaikrnzWMOhTnimMC7l2 jODg== 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=Ah/SfrhIiugZ/ZmUYsvvJnqt6cMmLnnMnjRkzCDiNUc=; b=BYJQLzFvhkmfIhBYpoCP+v7NUicvsQ2h/O29JNHqaa42wGcozAL6jaMv81rva7uDCA ofErTjqJimjcD5fSAfKGCaoZbmtR6hJzmAS5pT+OdTRkJ4n/SERA8AAohK6E+GWd50rE N5QeiwmwHZ/yPQhSnZKczl/+lmRKo8IOI8SY8YlygBIDsrswhZrJ2Wa2O9UfYTKLqxn0 wfDc/UdFffLZ8KOT6yfJR0WF0uQvHqg86Ai+BUaG/yMqxwLtkEIKfw0JFoqqv5Ep8xoc GrdOdYchHRCtd6INCkklyPE37GD8jjvAhLiyyGjwIs3McCt8ygl+nA6WKXDnPjV/hDto wV1g== X-Gm-Message-State: AA+aEWZWnKKY4xq16i1Hk45wIOK/yRi8TjWS06HDSG51owthJv7tJUiM iHqb0Na5OADrG72yKUUHxiwFTv9F X-Google-Smtp-Source: AFSGD/WdemARLtxHgRaOogrKhVDzBRzOJYhFuqlMiZS1f3V4gqWbD3VgPywCHW9SF5epmti4FfoR0A== X-Received: by 2002:a1c:7619:: with SMTP id r25mr3555930wmc.7.1543530365552; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:34 +0100 Message-Id: <20181129222546.24977-17-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005712 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="MXSQmpQw"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XWm5QZ2z9s7T for ; Fri, 30 Nov 2018 09:39:32 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 7533FC2252F; Thu, 29 Nov 2018 22:34:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, 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 91C3AC22559; Thu, 29 Nov 2018 22:27:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D54C8C22510; Thu, 29 Nov 2018 22:26:10 +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 DCF8DC224E0 for ; Thu, 29 Nov 2018 22:26:06 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id g67so3822474wmd.2 for ; Thu, 29 Nov 2018 14:26: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=CpFV7p3vsi3WOfanlYfGm6SEnbAtDcNt3vEeWEs2N98=; b=MXSQmpQwUilXeb/ut8ltIz6qc2hQ6g9bmJwz40qnYfANjnzYWJES3UT+FFzgmU5wX5 zubyUGRkaRJatJEnv8lb6IaURWleqMiEyGyAI4bErcKHWQtPD5k0Eop4g+p2yH4sylQC aEZWc6SvAxPEz4Siu38A0U8/MIW8mo3eKeIJ99Iix/bcvaFkORY8NZ+x613IXcG/6z04 czFtV1cUUy9Y0Zqu7Kv0L44gU3OJYWw2/OiKEV39PS3QSW140zTPKgXN0zFR3RxNJYl7 MCK+v/mWGqqRdG8hM97bC1rXmTt5CCxCEZjBJxzAmWKNskzJPMUPJyf1B/4k8ADxGpnb +76w== 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=CpFV7p3vsi3WOfanlYfGm6SEnbAtDcNt3vEeWEs2N98=; b=Odh+zrq2Q1gWk8+Tah8end3hVP35qGMIp5JqMtU2j7wK5YnJAmedaAVletryT9oUVP /sfmW4h2S7MgfSpqiGjIE+Hy0xUdLtFOoEFIArHcdeVc96X4hvCWTskBlLO0wddS1D0I /fOXO/KNI29V+6dtGaVK+c7tsgsLWJw55mMhmwaiscrGVdq3Qr8ywmuLi3dFaMSFK6vX Qgzk/fZrI0Kf7vRxERgeDwm255G7LB0UVraodcwIFp/ZfyFwZzyb2M7bU4+s/omp91TW zsmNRioksSrJOc7Ho9PHXm6758wdDFjh23geMNjWEzWv6BqmPFGd/e9k3i+mbV2Fsyu3 okmg== X-Gm-Message-State: AA+aEWbGWMimuiFm7zHUzwanbWafxWFFNSHnAJXbVP3b/7wiW5oZoj2r K7kiQ6aCVDDOWS0xVVYFqZZPWcQy X-Google-Smtp-Source: AFSGD/WNulGzGtML5b/CA89+wdryRjtANw7L51AjXeMQZtD34zHXDKsjUMycqTJAlZOsDXA2413RrQ== X-Received: by 2002:a1c:2104:: with SMTP id h4-v6mr3069517wmh.130.1543530366410; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:35 +0100 Message-Id: <20181129222546.24977-18-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005704 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="ZYUUVV49"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XQq6Dbkz9s7T for ; Fri, 30 Nov 2018 09:35:15 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 622F4C224FB; Thu, 29 Nov 2018 22:33:07 +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_DNSWL_BLOCKED, 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 9333AC22549; Thu, 29 Nov 2018 22:27:20 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 4CB58C224E3; Thu, 29 Nov 2018 22:26:12 +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 611F6C224E8 for ; Thu, 29 Nov 2018 22:26:08 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id y185so341308wmd.1 for ; Thu, 29 Nov 2018 14:26: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=18Iv1D5OPDzbdZrxobOoVUn3HRx4zSdr40+2KGAPGdc=; b=ZYUUVV49kiVtBphG/aaypxsUMWkTWs3lraWGWvEGWITbbn+RM3Bc4h06oCAPiJw+UP nFpdafZ13y4+e8bAeJB+xaD+JkY0dEoBn2uYAubhi+cxviJShUaj+S1qfh9rFAm9slhS Wq4USsxrrqxVSO1WRcCTUcb9piVmnfwqDZ6x29tqu8lVyUpsgz+0aca3JxfQSEqgRgiB AsGOScZ2T2jzlrbV3wilDo9SCaXK4H8wtHgX0p36szMXVDPUmOBl8EydB+aXZH7b/nGx 3aiyoeujm/lQ31vv2gwLga4AjMw9Mnx2yK4HT4sTZCLbBO/oBcsCvq24RDaUFltpcOpU uhfQ== 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=18Iv1D5OPDzbdZrxobOoVUn3HRx4zSdr40+2KGAPGdc=; b=Bh91P6dVFuMAGMFQFbyZQx+95/uEPH1GYw4MeV4zjm/7djoF2x/5uQUWwOk1QmEVJe XU4B7j/MHaqT48s/OWOnUzw+hm74aPasA0AZsO6tUZCVYLRb0Mt8CLIsB621bzzPXOSw h9KTwHlfAiHAuJFyvuS8wnqOm7bbE1vcW7KOmcZw/G6EocprUgWaSqzuSQkuaXHOr8B9 Kmr0JkRxnSv1p3pRetjXbnaKmcjnxPufwqnda3xZh7no8jB+0JGz7C3AEAWulbuGATuC yfBygXa3w9ltGavLUTfMXePH8VQXPJuNzG1Onp6iOJG+oVW9G83grt5313I5KbgG4Asb id5w== X-Gm-Message-State: AA+aEWZUz3FDkjRKwfkoWmyL6+lkILBDBOxbj3ALkk3K25JJvZ9mXTp3 htrc9YYrhvaxS8FfzSeFZt5yjA0c X-Google-Smtp-Source: AFSGD/UcwPWB8305qCvKUfcLaRGeeUT7Iadi2VNmdTH4opkLJNaIXWTQa2eXphOcnI8ULvak87I7og== X-Received: by 2002:a1c:da92:: with SMTP id r140mr3423865wmg.136.1543530367539; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:36 +0100 Message-Id: <20181129222546.24977-19-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005714 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="XvzK2xCm"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XXx3sjNz9s9m for ; Fri, 30 Nov 2018 09:40:32 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 78752C2254F; Thu, 29 Nov 2018 22:35: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_DNSWL_BLOCKED, 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 5DBEAC2250C; Thu, 29 Nov 2018 22:28:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E80C7C22552; Thu, 29 Nov 2018 22:26:12 +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 C36DAC224C1 for ; Thu, 29 Nov 2018 22:26:08 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id r11-v6so3885515wmb.2 for ; Thu, 29 Nov 2018 14:26: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=wMw5rGLs/9Du5DhJiDUsEkHWS4SdDNx+O3UEZq8OBso=; b=XvzK2xCmBBL2CT6Q9hamdsOYlZgbQ+lHoPpqaZFQcjXlvJ/6OEQjYm7LAhts/v1aIU 2b0orB7iC6fJ3nwJOAHmAxTlsh2pA0ukgzVCYc5XX7MP3H4zZAsbRyZvy2Y3A+OgrXBv kTAit9IwsBpTiotgFd2gbvETUuvWP7zoD73/yiMB2khEIc80OrSalgDZH5DhzSOEdg/K mz4NYdeFfYlNFSx1CnjSWnTY82+hcOhZfaRblXgGMsjaejGEzOtXIp92agHrvIHrbcix Aa1cGvhOM5vnBFa7tdKJD991yh9py5XNQN/hMb7eQOYOg3C4+rS7cTCCE57lGLAzajbY jSNA== 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=wMw5rGLs/9Du5DhJiDUsEkHWS4SdDNx+O3UEZq8OBso=; b=sEHtdrCaJ89ngfWvZY/61mg+7C6r1/rXASUWkReoeQ1+7DvpI73YV8ojfb9ox9dlTf p7OytnawNoxwb0JOvSc2pieRlsK+DrcRUbDOelaOMJiKijHqcujBmua/c5RvhQk8xVYk /Q/9ishU0pMLcWoPxBFfLgIoqLWuS10mGUscQ4hMAt0Ma9Nf8sxXKJMwkNmD8ZZIyoWz SQDKWRPNK7QIcWw+Fv3Ce+ykqWWwIUyYByqrEQWoLR5DJaVH6BEZoAwDSVPFpj8B5UMk nAreEHK6V0/9GPYWXuQB571XxKumEWywu1ooxWfvbEg8S79b7gkOTGWnbdteuvV4uaTs 3C/Q== X-Gm-Message-State: AA+aEWarc4YRpGQ1R3Q5UZ//v6b6xKrAIuW20q7h7sTdfP56ZnQHQf/J lC89sEja1urXy6u5jrYDxWvDyhYh X-Google-Smtp-Source: AFSGD/XlrLNQtaxI+WDTkZvuwUQLqDx7tFMVVMguLHqgy3PDkVKwjX7+1WrvJEjRkGWDNxNmnvE2hQ== X-Received: by 2002:a1c:b54b:: with SMTP id e72mr3256409wmf.73.1543530368330; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:37 +0100 Message-Id: <20181129222546.24977-20-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005701 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="A2yzZBXA"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XNf73bYz9s7T for ; Fri, 30 Nov 2018 09:33:22 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id A2F2CC224C1; Thu, 29 Nov 2018 22:31: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_DNSWL_BLOCKED, 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 2281DC22509; Thu, 29 Nov 2018 22:27:15 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 1330DC224F8; Thu, 29 Nov 2018 22:26:13 +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 9C0A2C224A0 for ; Thu, 29 Nov 2018 22:26:09 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id n133so3828815wmd.4 for ; Thu, 29 Nov 2018 14:26: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=dbcMrcyybE15LFe/EjFXDEha4lLbiCriMZTzjx3c2KQ=; b=A2yzZBXATY93L3ekRRr7cKYOhsBKRIIZA8RSGTagw5I5O3v58bsgcbXkwR+B4k510L NwuMTU+LgT0reDp2ZsLWP6buFWPslN20u2iOLapg6EK3Mk1ZgFomYPBdRU3w372s2UZc A5PhFGmMWKT9PtormMnpsL/6tx8Hok+3EqqBXa64xdhVJAVgNxffFGnsEdCbeuFpXNXI dWZ0yYQLFy14XEL2B7MyorQpLYFRq0Mq4155/K5mIBR55Re7/m9aPSnKVr6HCM4NyOse LKaDePecjoWBoW6M5TN+OVQYkCq4ww0yxMLFbgrgf7j0PQ+Jo7pafpLBuUwRQgZtIndq XMfA== 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=dbcMrcyybE15LFe/EjFXDEha4lLbiCriMZTzjx3c2KQ=; b=sYj0ypBYeBmKDaDV3pSGuUgZ49zPfWY8wLEXXN9MWr+2CQ6rDQANLibnaA08wtFzNy chAecrf2n5gW/Epy6Uhu4ClYwvQEPIlhVmeo1BQYds04wN2RLA96q0oEou2d740XfsUK o/ovsLnwROXoCesJV3fdBg7ZfrleAzuYeW9UPGRddOjQgKeTloezfUHQ7so8ZlHDAj9E c8K2T0s9nCfG6UJXPv3VNgbE7mllqoFHXPK2w99/xHBK3dfXUO/MpTQDToo4YMDm8kGW M2AQbKBuj/GvKaSH15fyO8edWd8Z+LsGJFsRz4WLFzPf1UoFzz8KCoDHiMTnhIFKYD29 uI5g== X-Gm-Message-State: AA+aEWb2C9sKDg/NYp2yPMCQdcYnKd8ojjV1UgZinf8YDAW3l1xf10Ms C2dnOmul8pxpXkbcfRUNSWJdDVDr X-Google-Smtp-Source: AFSGD/WM2QGp2fMd2ZqkdaLFhT2AMYZJpg9AwymR5797sKMFrd/jtxu+NzD3b3uobBtS5Llpq27btQ== X-Received: by 2002:a1c:f112:: with SMTP id p18mr3103390wmh.83.1543530369171; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:38 +0100 Message-Id: <20181129222546.24977-21-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005713 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="ZfRnVzMY"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XX10Z2yz9s9J for ; Fri, 30 Nov 2018 09:39:44 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B3BDAC224EA; Thu, 29 Nov 2018 22:35:35 +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_DNSWL_BLOCKED, 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 D1FF8C22552; Thu, 29 Nov 2018 22:28:06 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 74E37C2253F; Thu, 29 Nov 2018 22:26:14 +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 69E4DC224E2 for ; Thu, 29 Nov 2018 22:26:10 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id k198so3839865wmd.3 for ; Thu, 29 Nov 2018 14:26: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=NC2TtQq5ZVRyb6gdE4grS5psJ+lnT9Tu3J7J9sf/Yfs=; b=ZfRnVzMYFtEKgywVfGFFb475zlknFJO0sos5C7uSern5MYusKoIoId3EvWyz0j2S3C HLho63dS4M0h0XOyRDyLMmVAPtI1fxyfdCinjSJQLIC/1qzaWneZn8qtoHZ3hb3W+EPM ZVr93OGjJzxRLQl1kq7LlF9L1Pkhzc+Fx+eUkZZlHA6X7uewESzSdQjtKZlupyqjcZ5n +UHJaujevDvktmDyLe33/ZxrZ2eHtr4QucM8DfY67q90SxevbVuQpmxhw2NB6zGa0lUs MICqOpJVSqc/iVRdoIE8+J9RQFCjwLHGqzoCTBKrIRkfh/Xh5zlKl22Job8AOIX/KipD aidQ== 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=NC2TtQq5ZVRyb6gdE4grS5psJ+lnT9Tu3J7J9sf/Yfs=; b=sT3ew43CHDrRbUm46rWonHGqwKKUyfSeMQWRALQQIB94t64477JJFDVcYZ8ytCLn8o nwyUxxLzS2OQg2eXpRKeaFEgR86cAmntj3BshnaNzDTLhbupXKJ+vziO6pJIw8KGVXQC 91D5dGo1WcJ6LuIWQIsbIUgTtfeRBV8mSV48KFJfbjcbq6jx+7rMCe+F7BfyUWmRC89D lUw3RbFaLk41w9S1WEnWZn15cg011qOo0rz0gREwx+SRU6hZ0eXXDvjP8T9ZbsHYLxI0 j49uVw6X4Am6vvm5nokl2QxzfYHP6CZhzMIrnNTGmLWkI7cdAB/aqlwE5oWz0lh6uRv1 v0lQ== X-Gm-Message-State: AA+aEWZmsSEfIpzb1KfMCN8NS1D5QJRIAstKS3HS9lkcP478WvTvnWMb FElZCF32okQ9n2KF96kf9yFm33Hl X-Google-Smtp-Source: AFSGD/Wm3NsOyqBExqgrttw9IHenXWuo2Ru8tidTsvwmbgy/bkV8Uo/Gf7HDN1lF82UIo0dskQVoHA== X-Received: by 2002:a1c:a00f:: with SMTP id j15mr3118990wme.84.1543530369972; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:39 +0100 Message-Id: <20181129222546.24977-22-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005711 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="JgWtnTKi"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XVs59Bhz9s9J for ; Fri, 30 Nov 2018 09:38:45 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 57A78C2250C; Thu, 29 Nov 2018 22:35:03 +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_DNSWL_BLOCKED, 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 9ADD4C2255D; Thu, 29 Nov 2018 22:27:28 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 7E7B0C2250A; Thu, 29 Nov 2018 22:26:15 +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 4D6BBC224E5 for ; Thu, 29 Nov 2018 22:26:11 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id t27so3462872wra.6 for ; Thu, 29 Nov 2018 14:26: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=9tzqEVIQnUIaq77sGlJ67Ldb4dbEwTNsjyzyI+sqNW4=; b=JgWtnTKi50aW/Z6o16VOUXy7zNGGwe3fm6497V0dWFoQbWCHq1CakWDLXyekmfgUUk HXERrIPGfJAQnC3GmhywFBm2N9Q1S9S0aKG/VQlCkicdEy6ABQJrYAAHX40eW6PlpmZj FMNFT1W6DGvmnJZAKEDXetY1LrcSUep7Jt4ztI9I8ndx0t41EY0bKvAXCkYmNSm/fzYq +nAG9p6MADM4v6RnZnTlefdjj2Y9kzOp+6Lh7qQ7Kx5h4XTOHKCS8DVS4WJkDx1yhb5d vQQMeSsDa0hlCukXEs74P238sZmWeXnXbD/ejN+QSsZadyPIJo483Rus7XpkTXV1d1ZR 30Aw== 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=9tzqEVIQnUIaq77sGlJ67Ldb4dbEwTNsjyzyI+sqNW4=; b=S9dCbc9Aw/IQE4zQHKpOssbZXHZt7uhZ9O6XxPyd23gDB/ZeZ7eS9y9g6f0su3wwK9 5i0f1vxIuhEc2/tjb3EdCuKjbfNUQRbkwX7+evk7cpeRP+dctY/9DaG7XCjJv+k5hT0S xJnPgNusQX+Z26r1+SHSJqXvZfCkGqKJsoxO0bnVuuTRKQpJ3nwty3c/OCpzK+OP3iZP 8/A4iWjPK/iGINRb45sQsRlsVQj6ih9IA3QQSYoGm32fyLLIUvlmzfD3/VjFYuUezpHf 81bybYW9YfISq7zk4eFxsB7PrcNR60rrsC9RKxC51uvK2edgk/hvXzDNXszHgXXq8FZZ k/JQ== X-Gm-Message-State: AA+aEWY7bPXq8p5mP39e5V3Dk7bG8cRERLYVgiaKGsq/ySikpRsg0PCu WZejuP5CUiPExz61WPtoHHslNJqU X-Google-Smtp-Source: AFSGD/XBPX1YHxDPXKBbeeNTAal+9qLRsrg8pcrQCl+/Sp0vb0p7c2G4E+P9uFSn6Cf4jYO4LRqpAA== X-Received: by 2002:adf:fc51:: with SMTP id e17mr2801965wrs.268.1543530370808; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:40 +0100 Message-Id: <20181129222546.24977-23-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005705 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="Ezo9vvzw"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XRY6LgQz9s7T for ; Fri, 30 Nov 2018 09:35:53 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 54C7CC224D2; Thu, 29 Nov 2018 22:32:31 +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_DNSWL_BLOCKED, 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 0CF25C22542; Thu, 29 Nov 2018 22:27:18 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 76226C224F8; Thu, 29 Nov 2018 22:26:19 +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 39361C224FB for ; Thu, 29 Nov 2018 22:26:12 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id r11-v6so3885624wmb.2 for ; Thu, 29 Nov 2018 14:26: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=D5q194aYDSksk7u8JldP/1Pe/eyWm4b6zgB0w06FlJE=; b=Ezo9vvzwIBhQogbUBfno7f3iViDNqURFO7ddDQXTv1bllSkRPt8BqHoA0anst4EXfV JoaDVGtMiwEKNUDUBdFU2K/VG0axCBaclkZ6q82ZlMqkhlV+izjFC/Fiud91cFPwhAJD 95hDqLYN1BC4rmxo0sYeEgGJVMz+FGtr7u9oTf6LU5SwrlEWI4bBFOCqx6QL+Od6dP2l 0eRcv4BfkZ8p46ctLPCgvLMzPLxrLp01MF77bnTRioKu/ZePSbPPviFEusAJNSn5MXw7 6QQLhoB7+O7/MSRcuA93wNk4oJv886K1emEvM0UVsQAp53+JhhmRMk603AnDUO6KTOfv UAvg== 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=D5q194aYDSksk7u8JldP/1Pe/eyWm4b6zgB0w06FlJE=; b=hUK3hB2w7HwaaUba0hnfqXT2Eeaq0onjkOSkBDdlAZjf61SH17W06AhZGD3xlkkxFx 5fQZj1vzwVi9TPFeD9vKMJwF8eHc+BLCRCDUTUO18ArprkBczkJogUkGbLSUkrdjYCwb h4Gsvts0bwA/CuO1BJxDFepaupJRWYavuFG8n1qMX7bfaw4O0QFPSggbhIqbNMRDw3f5 2j4Gw9b32Vu/VPj9eIVyQEcI008cXZvjOgqdL6JiwCdHpUflWlfP3FI/19TFzKGwyHVq gt2Ao5CRK9tAmxsU2ABB0OHGjKtRiN2bIC31QvPSJ75nvKk0jKHt/o2r78PO3urhARYS P5Og== X-Gm-Message-State: AA+aEWYcphl3JvS5VNiwCoXv/4KnSL9s4oQYEHfh5jjVqbsCLFnLR7q3 ew6kXNZ3b6FxgSu8lbRkSgeSX4qn X-Google-Smtp-Source: AFSGD/VKC38mmYwVIiLgWMpcnEZRgzdh291NVjHbwOSKbrA7KQQyy9fUsKY0yfI7YgJfslLxGNYYNw== X-Received: by 2002:a1c:2981:: with SMTP id p123mr3234808wmp.19.1543530371758; Thu, 29 Nov 2018 14:26: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 y13sm2022043wrw.85.2018.11.29.14.26.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26: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: Thu, 29 Nov 2018 23:25:41 +0100 Message-Id: <20181129222546.24977-24-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25: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: 1005715 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="LJvQlFOZ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XY10FRsz9s7T for ; Fri, 30 Nov 2018 09:40:36 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B2B7AC2253E; Thu, 29 Nov 2018 22:32:16 +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_DNSWL_BLOCKED, 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 0D330C2253E; Thu, 29 Nov 2018 22:27:17 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 32940C224F8; Thu, 29 Nov 2018 22:26:19 +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 079CCC224E7 for ; Thu, 29 Nov 2018 22:26:13 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id y1so3878124wmi.3 for ; Thu, 29 Nov 2018 14:26:13 -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=+2yATeX3TqQPQryzAtrFDR/CF1q7aXdh98lwzz57xck=; b=LJvQlFOZmZL50cLxqyllZbIdn983gPM++8pb12l62BvcyyvbXaNHqGo4Ll4HmdLnU/ vrbIxcJn4tNS0986JKLyZhWYXFIeCdTPc6amNusTN5XebK0dRj76rZZbXK3fCjgEgphZ oqZxJMCFGJx50KGE7XyT8aV8f5WLKHO6JpHIcxNx/sq63RESuyqI1F1TnfuW26zCkWs3 HSMdGwGacbsn30YpqryDpLwGHIwCrKu2K+Ltne37qWxjVjR4ONh2xzp/Nub1Jo3piSXf DHLtKRCa9/w+3WUSjjx/cEHXMRk8UN70npofa5iaP3fB94Z6N37pzL/agpWmiAv9FYIV 5gpQ== 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=+2yATeX3TqQPQryzAtrFDR/CF1q7aXdh98lwzz57xck=; b=Wyf6jTx8wUOO00pbROK6xDOn+nKqiqp217D4bzFydlDUjYmhw0K9qFtaKQtQNMgYkk qHM5KgKwnhMuUQwNFpRo9UPuZFzsr9nFliIWvF4wv/0M7zn5w2Rg9SPLVvMTyfG2CtZ+ xDL152qEhY2NFEqw7ZRJj7KGWfhikfo4/1xiSl/dazOqhCzrMch8DVj6uvn85ALoFCGq ON538wrlsdJlnjaIfHOnRxa4zEvkbqKZYcEyPPVjJHJuUncn4O0ZO7woCg5ZaVMPx+OL TEbXKmkG4TYGgEeFfjEcCZwRkJIQpzKCH10H0DbVpY0ran+FJyeaAqFuvy/HLACeTf3n Yyqw== X-Gm-Message-State: AA+aEWZYbuFywXco91vSKUxp1I4y23e/NiabY7iGPPWhFSVQdlveG5L5 3LToiEZuy9Q/+RTvCUYKACs3+DDa X-Google-Smtp-Source: AFSGD/UfmQ02S6nvZ65jUFJP8iIXdipNteTqN+wHEjSoZT2lZ/pRh9ztkzBIODBumJpOTUYnBY6D9g== X-Received: by 2002:a1c:cf82:: with SMTP id f124mr3401277wmg.95.1543530372564; Thu, 29 Nov 2018 14:26:12 -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 y13sm2022043wrw.85.2018.11.29.14.26.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26:12 -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: Thu, 29 Nov 2018 23:25:42 +0100 Message-Id: <20181129222546.24977-25-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25:43 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: 1005716 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="BLuahP/r"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XZ00yt0z9s7T for ; Fri, 30 Nov 2018 09:41:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 336F9C22553; Thu, 29 Nov 2018 22:31:59 +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_DNSWL_BLOCKED, 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 21A8FC224F2; Thu, 29 Nov 2018 22:27:16 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 97573C224F8; Thu, 29 Nov 2018 22:26:20 +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 C7694C22508 for ; Thu, 29 Nov 2018 22:26:13 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id x10so3443635wrs.8 for ; Thu, 29 Nov 2018 14:26:13 -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=tBPIAwwzflfzGIfv3onrWCmX/w2GqQCt0HlPLiXBUNU=; b=BLuahP/rWruyPOguaI6cBIwqUm4VbBOoqkThsnSd3XbsqBsY0Xnij+7+i3HNNPyTpf eqeSr9+B/DFbPs2nn6gtgOp5MhusRc2B2SdElhoEzEz0cid6DIqCA1Ycx27HGB9yOQ2V Ikchh3jVHvzXkvNEA77UpP06KPTTdO5LMa6OTqOibJbKEztoOeSOJo00DTmqDZ/gL0gE C2DN/VXoZdxMKuzjfIaLnXaERLfqol+MvYpZ2l6P7F+dm2RgfoWj3IZmeO6Xg0tGCCGD 4U8sii/k8hQIfJB7RzdeXER524CPdcRb5Nd29Lfi6Ed3ZDuR0TfsQbEE9tfYFvZ/IPdq 7E+A== 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=tBPIAwwzflfzGIfv3onrWCmX/w2GqQCt0HlPLiXBUNU=; b=rEK7eYJJpcTPX7mpX4nLa+Yhc8XeWItcQfovGxXusIdv+bdZh0zV1pO4z4jRfbTB0D cFrN+GABe3y4rC+AzV2c5xWKy8E6biVQmlsiX/cbjDboHyfWuJrEop+vbJrg8rGqmV0F zfNLeNayCXAiR4rk3O2FiDJ3qAT/I4wZuARhUydtMzNXIrhWcblLv+uTiGy1OHZVwJz2 7tZJ7RQ8oezJdqdInpV/LcfOLbZ+B13lxk8uMEsp6il6up1G7DtWPTD716aSdOFIW6ra k0h/ZxoxCt3l+pulgSK/RqiRw2i+PjCi0jq6EjFaI/5wUEciVCbbYr7bO6rDKfQTBHwH XtbA== X-Gm-Message-State: AA+aEWZz98cSVoNujMYh+6BGp047SgpnRT2BgVK9RrvlxLaxwGbF3KyH rAWu7bxEopEemk9oJJt+FWVNFhzD X-Google-Smtp-Source: AFSGD/VVxVbupWXH97A6KHCCwkb/qo/1e+dPpNYBxdPPpwqyQF5S2exOJ6LMVAlMZ/7aBSSDSacTOg== X-Received: by 2002:adf:8264:: with SMTP id 91mr2763697wrb.312.1543530373355; Thu, 29 Nov 2018 14:26:13 -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 y13sm2022043wrw.85.2018.11.29.14.26.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26:12 -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: Thu, 29 Nov 2018 23:25:43 +0100 Message-Id: <20181129222546.24977-26-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25:44 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: 1005721 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="dUMJ4YLB"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435Xf20bzhz9s7T for ; Fri, 30 Nov 2018 09:44:58 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id BF2AEC2254E; Thu, 29 Nov 2018 22:34: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_DNSWL_BLOCKED, 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 0DEDEC2255A; Thu, 29 Nov 2018 22:27:25 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 69D4FC224F3; Thu, 29 Nov 2018 22:26:23 +0000 (UTC) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by lists.denx.de (Postfix) with ESMTPS id A3A3AC224FA for ; Thu, 29 Nov 2018 22:26:14 +0000 (UTC) Received: by mail-wr1-f50.google.com with SMTP id q18so3455656wrx.9 for ; Thu, 29 Nov 2018 14:26:14 -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=ufiH04KWk3XrlBRosSnsaKpEfoglxAYVaWOMOd9s7FI=; b=dUMJ4YLBrw6qov0I1R7TeVj0WMHT/SkoHf1jy07lLhpnHq5tRAXy9zJ7gro7+aQglt 3BnpDqHgq8RGIu7cq7w3ZyHFtdC8EGp6deZi3YqDbnBFAs3Rd9DRQHs5c2CfcjNhdsc7 TSixMdCqS3HxB95ewXpdMXuVsFKZE+Ee3kodINWeAY4FdtVd7iVc5y9twNDTK1PrFmE/ FrDEMl/51GUiDKNq5FyYW5lhWyEqo1WD5cjBTKBDncKiiBWqHqZv4leoov7et5oOUUxW mUKAFwcJZ0b41a1qwAnnCl8v4KLXBIvQlYtGVzDmMKpYyilhv51fQHxBDf2702OD284m p3Nw== 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=ufiH04KWk3XrlBRosSnsaKpEfoglxAYVaWOMOd9s7FI=; b=MhDdp8XSpGPAHLxyq/Ykr+KytmPLKjaROIJ1ipdFTb+2k+pzypPf4z5gJ3pWZh34XJ 9XL4W4zy+9oTQc5PmtXO3pj2FXjCOL8d8Kll2QeHkhM0udBYqjhlDptOmxrUrBWPMgJi Si8baC1bm5KLeCpxih+ZXLamQiCP4GJ4pX6Z1MJSxjC3/4u3BtVwSsJBejn19eXU3NAT RKbXKqJ9kzwTM81XptOApMyjw1ZUTN1wQGYoMaQa1E6+4SQzwAfsIXO6/sDzvGEj+jn3 9PVMDaXz7mraUVRviYATK9O+8Lmdcku4LlXaCxBIFiaVmLAivIVkW6CpVfXo147TQAYz eswg== X-Gm-Message-State: AA+aEWbSfGVTW2aJ2RoldyFXMaqcwkW8+iVUTFO7XfIVUS/zRLIpWya+ 0ObMS6XFxEuBJ+EWIDdF5JYadrFw X-Google-Smtp-Source: AFSGD/Xas8lr6Q4H/u9T3pDo/U4GsSan7WVfHg5n4b/v7O5chuFE0vjtdkN+UFJpWWx4xPhFBcWjEA== X-Received: by 2002:a5d:49cd:: with SMTP id t13mr2942691wrs.144.1543530374159; Thu, 29 Nov 2018 14:26:14 -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 y13sm2022043wrw.85.2018.11.29.14.26.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26:13 -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: Thu, 29 Nov 2018 23:25:44 +0100 Message-Id: <20181129222546.24977-27-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25:45 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: 1005718 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="eSzcbsn3"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435XcD0T5pz9s7T for ; Fri, 30 Nov 2018 09:43:23 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 70402C22545; Thu, 29 Nov 2018 22:34:46 +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_DNSWL_BLOCKED, 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 9BA19C2255C; Thu, 29 Nov 2018 22:27:26 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 86AB7C224E8; Thu, 29 Nov 2018 22:26:24 +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 7C40FC224E8 for ; Thu, 29 Nov 2018 22:26:15 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id q18so3455674wrx.9 for ; Thu, 29 Nov 2018 14:26:15 -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=cJPUk/v9XqqOpZTgMcDdqQWsiq61oKTlvxnEPA1G3zM=; b=eSzcbsn3zU/IPVj1Tai1rBNnK73hLJyRynDa2L67L9YsxiADNBRfnYfnvjvFxyMW41 8YuM2BZwqVuYZWqK5xBaHtp0yEoQvpZiYcfHxXtqt5VAQ0eIrgaB/Uz0rQxs7zLwN8QE NZLC/ipvUUhVD7tcCBYFdtCYw8yVDb/MM0wbESrAX2K5OYrXZ2DOjFkCbKIp7PUFw8yE XXDbPWDLChNGvkhwZZw0WH5uoU+8Ys0VI9Dj1WlpQtXMCt890Y4Ay7Bh3uR6DKdk9bJ0 jMeyzXz1go79QdTYpA9aGUmMNaT7twkjNt5O09a4n6heouPrKrOJDTKGJsVK2d8aFuKI J8ag== 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=cJPUk/v9XqqOpZTgMcDdqQWsiq61oKTlvxnEPA1G3zM=; b=d+DeNQSHHx0vN4Mbo+NPqQrAsfCqbXaK2FDycrJr5kCMcAB26f4mx1aNMJi+wo9RBh g1ItCXfWzzWaOfhAlysODONXju8hcc3rLaF4Y9bNkWny9dUCsfSkmrNrY9kLl5VkCkni XibjlBTZQbC6EhFWahgkyPnfLMlTAsjCeggpJyJkDkoHS1odTzra1ZPcUfB8kWK3vVG7 LP0iCNynRG/99dy6cYhvjy9ewaJqqaaPeRUNscyqtGPN9eAh3pPWeO6p1eVHrFnp4fty wYEb5I8aHUEjmno3H5V73m0yxOfegny+BAqFfqBSbntOpF1ai7ivceCojJa3ncHl8akX IJyA== X-Gm-Message-State: AA+aEWY+i/Lb9vVo0n6K5bun+My5q5Us1iB+43ugtGVY5Y639p6kIGvG ERf71LkS3Rgdj9u0wmpVkTRFxa/o X-Google-Smtp-Source: AFSGD/VMv3hAspAeASLujGnPl7CNLETzlkXF4lMvyz8ked+ORB5aWQb4yeDgUs2blpjQxUB0EsfZ0w== X-Received: by 2002:adf:ebd0:: with SMTP id v16mr3065618wrn.109.1543530375019; Thu, 29 Nov 2018 14:26:15 -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 y13sm2022043wrw.85.2018.11.29.14.26.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26:14 -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: Thu, 29 Nov 2018 23:25:45 +0100 Message-Id: <20181129222546.24977-28-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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 Thu Nov 29 22:25:46 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: 1005720 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="AS6VtYxf"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 435Xdv2mhDz9s7T for ; Fri, 30 Nov 2018 09:44:51 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 25E06C2254E; Thu, 29 Nov 2018 22:33: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_DNSWL_BLOCKED, 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 6E983C2254C; Thu, 29 Nov 2018 22:27:22 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A476BC2253E; Thu, 29 Nov 2018 22:26:25 +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 81E9DC224EA for ; Thu, 29 Nov 2018 22:26:16 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id y139so3863245wmc.5 for ; Thu, 29 Nov 2018 14:26:16 -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=KDXr1l/PKJuqXdSigvE8rAhppTK8WuPshnSZk/qkEA8=; b=AS6VtYxfaiMYe0nhX7SHTujhTrWLbFi8iyEilpCsm3YOX+JLfK05UoC7veCZ3iJ/Pq oBDCjqJ3TxMeSh0/s1+vsaApeEHZY7TAp6GbXxiQ5DZrcBW+7GuipcRQXUphzwHT63Ya Vx5xcS9n0lXZsrVoe6P91DPJAUaBr1n7yxgcAQDKbuAwbyMNiuRp66AAsUfgMyT95i7x AlSJs/UEa79Qc1b4FIZNObr7XSDN8K2fG8lmaG32ffjw6ZmEtGJiKXijAridvrEAGWrC zoDOJWMUbg2Gq0ZL6PurgwnHESvg62DGiX48L7cFoZlcBoIXqr08+gs2688HafJ25UQM HVVQ== 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=KDXr1l/PKJuqXdSigvE8rAhppTK8WuPshnSZk/qkEA8=; b=f88DYnBpKXZDyP7lZjJwqgihYA5KDSsmWvdmFac869+rQhAzTQddf+A1OPzwSwu2ce j8xsx69CJAICYXWWG7+b42dzhLHv6FDoouxlnfvqiQHI2TiQDFrzlIOIwNtUezz0HsMD LClmfRes6bELRytAPY28AVa9tqY/xUZt7UGuBW6rslEhGZfwfCL/gJwJhz0ge6GICN7M niRp+MwTHo7qIA/Vmv37QjLfRtXJKr0AbKsCwbmXu/kD9z5bDSGN041mssCVHsdszhhu 8e+8tDw4HXTwtXomMXJuFrxHXCOuPstyAeSJ5e1rToEmR++HSqXnMXWNQYuJoCEyzTzg jf9A== X-Gm-Message-State: AA+aEWZgBGpcJ7meuNVC4KSwlpFGE+bgZUA1PPkA52Xmb3oMUyOeCuDy YGlqEVlnF4DAsiBysDz5W4j9maEq X-Google-Smtp-Source: AFSGD/U9s37ne74dfFgz6xQAnMx+LE3a784pJD06fGrXGrwya63Pe8FXAnqKbWhi7QuXRm33CLcX+Q== X-Received: by 2002:a1c:6a08:: with SMTP id f8mr3135546wmc.4.1543530376007; Thu, 29 Nov 2018 14:26:16 -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 y13sm2022043wrw.85.2018.11.29.14.26.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 14:26:15 -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: Thu, 29 Nov 2018 23:25:46 +0100 Message-Id: <20181129222546.24977-29-noltari@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181129222546.24977-1-noltari@gmail.com> References: <20181128182349.10330-1-noltari@gmail.com> <20181129222546.24977-1-noltari@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH v10 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 --- 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