aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-5.15/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2023-03-20 17:20:40 +0100
committerÁlvaro Fernández Rojas <noltari@gmail.com>2023-03-20 19:51:53 +0100
commitfff07085fb5a5d8536a6f54065c3b48528fa3c41 (patch)
tree0c564e9619c94aca9ec5b9f016b3579c080ae9db /target/linux/generic/pending-5.15/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch
parent7801161c4bb2413817b3dfd01695050e2da27bf3 (diff)
downloadupstream-fff07085fb5a5d8536a6f54065c3b48528fa3c41.tar.gz
upstream-fff07085fb5a5d8536a6f54065c3b48528fa3c41.tar.bz2
upstream-fff07085fb5a5d8536a6f54065c3b48528fa3c41.zip
kernel: add pending bmips patches
Add patches sent upstream for bmips and b53 and remove downstream ones. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/generic/pending-5.15/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch')
-rw-r--r--target/linux/generic/pending-5.15/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch166
1 files changed, 166 insertions, 0 deletions
diff --git a/target/linux/generic/pending-5.15/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch b/target/linux/generic/pending-5.15/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch
new file mode 100644
index 0000000000..4581144dc9
--- /dev/null
+++ b/target/linux/generic/pending-5.15/774-net-dsa-b53-mmap-allow-passing-a-chip-ID.patch
@@ -0,0 +1,166 @@
+From patchwork Mon Mar 20 15:50:23 2023
+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?=
+ <noltari@gmail.com>
+X-Patchwork-Id: 13181525
+X-Patchwork-Delegate: kuba@kernel.org
+Return-Path: <netdev-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id AA605C7618D
+ for <netdev@archiver.kernel.org>; Mon, 20 Mar 2023 16:00:42 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S233060AbjCTQAk (ORCPT <rfc822;netdev@archiver.kernel.org>);
+ Mon, 20 Mar 2023 12:00:40 -0400
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50606 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S233508AbjCTQAL (ORCPT
+ <rfc822;netdev@vger.kernel.org>); Mon, 20 Mar 2023 12:00:11 -0400
+Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
+ [IPv6:2a00:1450:4864:20::332])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8A523E0BA;
+ Mon, 20 Mar 2023 08:50:37 -0700 (PDT)
+Received: by mail-wm1-x332.google.com with SMTP id
+ fm20-20020a05600c0c1400b003ead37e6588so9459945wmb.5;
+ Mon, 20 Mar 2023 08:50:37 -0700 (PDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=20210112; t=1679327432;
+ h=content-transfer-encoding:mime-version:references:in-reply-to
+ :message-id:date:subject:cc:to:from:from:to:cc:subject:date
+ :message-id:reply-to;
+ bh=16/AUEfT4/3aNTDuWfjKv1lfTz12+h3pg0SmLHFA5Y8=;
+ b=n+22dPTXjE1jqw2beYW8Kqab5uczPETidauati8u3xeWTbKyfCENVVcYJBQgNPM3pw
+ BeH+srFpkROFpxJ+btOlNSEZA4pIuBf2EOOU4AWrlPTWglRDxVHZ3X7kVDptJnxVGvre
+ zNQ31LP8wxHP9XSFxYbkK9ybYYC8WP3fQZwcGcAgliP2cbKQMwuUP/i2w3Hqml8t6rP1
+ 5HaZgmWt9wdh8c76nCWP03IuNM9oJ9qa3YWDBrVVN2eMe0mGxZmKR+Wb/BZj3o5ezJmu
+ q41drXRwHBC6vF1K+HHeOgAcMlTKIJUAo2daNVm/UBTXj2SXsvfh4nfgrWVAexOpd/uP
+ elYw==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20210112; t=1679327432;
+ h=content-transfer-encoding:mime-version:references:in-reply-to
+ :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
+ :subject:date:message-id:reply-to;
+ bh=16/AUEfT4/3aNTDuWfjKv1lfTz12+h3pg0SmLHFA5Y8=;
+ b=6ZfI8DXxxDA2NF5hw1Mfoc/pGgW+OfRfwgMoE4jB/ABbQg8zdQ/Ja7FGIqVPbi2hZe
+ fvd7j+dw8CZvNbkRbsYQvMTwRfDRonn8aAwJBBNkMyTcm8s3D5BRURzVpe0ScyzPYvxQ
+ 0cXZASSL+EXA7Fyf51y4emSNy6Xb3nY0pjKWFUphqra9TdFQzhtnpdlN3tTwXFN9jlEu
+ 3Se1FWEiQP5FRtqXIU/oefh5FMXoJEDCKq8geZ04mouAdeVxZd/FUBR754EY6uNAhMVG
+ hef4iX7HeDpTCJLCprNVFgQ80bbl/uh+QnBtEVGlDFcH4GR7csGSIp2g/3Qzj/m78rkz
+ ml1Q==
+X-Gm-Message-State: AO0yUKUPCBZQSCICZA8m4nHTp32xYgPPzQnSGO9a0aop0wLJeOUszuYx
+ hH7zNhPrx7BZWaytny88AN0=
+X-Google-Smtp-Source:
+ AK7set9y2vPkyUF0Tln19u08/DwcR4L11U6iFXPmpi6kdzFhq0OrCiFNu8aAeCvisP/C/rvYvKH9Lw==
+X-Received: by 2002:a05:600c:310e:b0:3e9:f15b:935b with SMTP id
+ g14-20020a05600c310e00b003e9f15b935bmr34745262wmo.32.1679327432097;
+ Mon, 20 Mar 2023 08:50:32 -0700 (PDT)
+Received: from atlantis.lan (255.red-79-146-124.dynamicip.rima-tde.net.
+ [79.146.124.255])
+ by smtp.gmail.com with ESMTPSA id
+ 3-20020a05600c020300b003eddefd8792sm4812333wmi.14.2023.03.20.08.50.30
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Mon, 20 Mar 2023 08:50:31 -0700 (PDT)
+From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= <noltari@gmail.com>
+To: f.fainelli@gmail.com, andrew@lunn.ch, olteanv@gmail.com,
+ davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
+ pabeni@redhat.com, robh+dt@kernel.org,
+ krzysztof.kozlowski+dt@linaro.org, netdev@vger.kernel.org,
+ devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
+Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= <noltari@gmail.com>
+Subject: [PATCH 3/4] net: dsa: b53: mmap: allow passing a chip ID
+Date: Mon, 20 Mar 2023 16:50:23 +0100
+Message-Id: <20230320155024.164523-4-noltari@gmail.com>
+X-Mailer: git-send-email 2.30.2
+In-Reply-To: <20230320155024.164523-1-noltari@gmail.com>
+References: <20230320155024.164523-1-noltari@gmail.com>
+MIME-Version: 1.0
+Precedence: bulk
+List-ID: <netdev.vger.kernel.org>
+X-Mailing-List: netdev@vger.kernel.org
+X-Patchwork-Delegate: kuba@kernel.org
+
+BCM63268 SoCs require a special handling for their RGMIIs, so we should be
+able to identify them as a special BCM63xx switch.
+
+Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+---
+ drivers/net/dsa/b53/b53_mmap.c | 32 +++++++++++++++++++++++---------
+ drivers/net/dsa/b53/b53_priv.h | 9 ++++++++-
+ 2 files changed, 31 insertions(+), 10 deletions(-)
+
+--- a/drivers/net/dsa/b53/b53_mmap.c
++++ b/drivers/net/dsa/b53/b53_mmap.c
+@@ -248,7 +248,7 @@ static int b53_mmap_probe_of(struct plat
+ return -ENOMEM;
+
+ pdata->regs = mem;
+- pdata->chip_id = BCM63XX_DEVICE_ID;
++ pdata->chip_id = (u32)device_get_match_data(dev);
+ pdata->big_endian = of_property_read_bool(np, "big-endian");
+
+ of_ports = of_get_child_by_name(np, "ports");
+@@ -332,14 +332,28 @@ static void b53_mmap_shutdown(struct pla
+ }
+
+ static const struct of_device_id b53_mmap_of_table[] = {
+- { .compatible = "brcm,bcm3384-switch" },
+- { .compatible = "brcm,bcm6318-switch" },
+- { .compatible = "brcm,bcm6328-switch" },
+- { .compatible = "brcm,bcm6362-switch" },
+- { .compatible = "brcm,bcm6368-switch" },
+- { .compatible = "brcm,bcm63268-switch" },
+- { .compatible = "brcm,bcm63xx-switch" },
+- { /* sentinel */ },
++ {
++ .compatible = "brcm,bcm3384-switch",
++ .data = (void *)BCM63XX_DEVICE_ID,
++ }, {
++ .compatible = "brcm,bcm6318-switch",
++ .data = (void *)BCM63XX_DEVICE_ID,
++ }, {
++ .compatible = "brcm,bcm6328-switch",
++ .data = (void *)BCM63XX_DEVICE_ID,
++ }, {
++ .compatible = "brcm,bcm6362-switch",
++ .data = (void *)BCM63XX_DEVICE_ID,
++ }, {
++ .compatible = "brcm,bcm6368-switch",
++ .data = (void *)BCM63XX_DEVICE_ID,
++ }, {
++ .compatible = "brcm,bcm63268-switch",
++ .data = (void *)BCM63268_DEVICE_ID,
++ }, {
++ .compatible = "brcm,bcm63xx-switch",
++ .data = (void *)BCM63XX_DEVICE_ID,
++ }, { /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(of, b53_mmap_of_table);
+
+--- a/drivers/net/dsa/b53/b53_priv.h
++++ b/drivers/net/dsa/b53/b53_priv.h
+@@ -75,6 +75,7 @@ enum {
+ BCM53125_DEVICE_ID = 0x53125,
+ BCM53128_DEVICE_ID = 0x53128,
+ BCM63XX_DEVICE_ID = 0x6300,
++ BCM63268_DEVICE_ID = 0x63268,
+ BCM53010_DEVICE_ID = 0x53010,
+ BCM53011_DEVICE_ID = 0x53011,
+ BCM53012_DEVICE_ID = 0x53012,
+@@ -186,7 +187,13 @@ static inline int is531x5(struct b53_dev
+
+ static inline int is63xx(struct b53_device *dev)
+ {
+- return dev->chip_id == BCM63XX_DEVICE_ID;
++ return dev->chip_id == BCM63XX_DEVICE_ID ||
++ dev->chip_id == BCM63268_DEVICE_ID;
++}
++
++static inline int is63268(struct b53_device *dev)
++{
++ return dev->chip_id == BCM63268_DEVICE_ID;
+ }
+
+ static inline int is5301x(struct b53_device *dev)