From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26851C4332E for ; Wed, 17 Mar 2021 21:43:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E4FBA64F33 for ; Wed, 17 Mar 2021 21:43:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231995AbhCQVmf (ORCPT ); Wed, 17 Mar 2021 17:42:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231741AbhCQVm1 (ORCPT ); Wed, 17 Mar 2021 17:42:27 -0400 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7959CC06174A; Wed, 17 Mar 2021 14:42:27 -0700 (PDT) Received: by mail-pj1-x102b.google.com with SMTP id t18so1829155pjs.3; Wed, 17 Mar 2021 14:42:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=44auvYUUIKCuBlG/Ha93OO2YDP539tvtlw8ITUUzMzo=; b=aCK6xxAIu5rG0ENNdO5fYXZLu/ZaImRKfqIeE1G+848dh0Z8YzTDT83F+LyuYj0LGR 9MLUSQZzVxE7UsSVzr9Bf5sKVlX5ShWg8jV7GS9vns83+TvBQu79GWiNn5OxDECu81nS CHsGUi2Nw/6H0NjfdTWFk3QBKY9KcXRfjch357crjF6CZrjUPRuDG8JiM1HuGALrsoyp Z7izaL24xj0scQkyKtXnPxEn85sILNXVa2jbpAydcoufuNor9krIcD6ugBvmm1rSBR2T mjKWPMZf5m6pM3iQsTppmwyXVsYaqZzC60pEiRJPz9yIL6kM/F8Rz2xcyfYZ5SCJrQ2h /WzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=44auvYUUIKCuBlG/Ha93OO2YDP539tvtlw8ITUUzMzo=; b=ZyydG9UaEK0KjsG8pH//NjXUqDI+kpC2QteokBvYnx46sqce5w63cyScrh1BTuYklD 5P9245hSXPm3cbW9oMuWCpB3pU/arg3CB7PfodRoP6RbmmpwleFbJNwCrsx+xr6nXJx3 rviPMABUwea04TNKTgZjJyqrF7zCRvyr6RpEld00Ep8VSCanD+IdxggUqYjLZVaBHlSH 62Mm4TQUntCBynOq3on69VcDlQBbsiRC40nKoqAjsPk8piPv75bZnvfCgMhi0mlGbUdZ FrVasJqiL+hZT9cG6o3fqmEG7xl3hQ4yPRg7iaGmPbihBdVk/EoseTJEcATQxxw+jmkb fUkg== X-Gm-Message-State: AOAM5338d1xVg5H44YZvaV+U+OiDUHiTUEv1iStRbSLTUbB4e1nx66bM li1AWtGKwgnsdRB4+xMkwEacsgjwT2s= X-Google-Smtp-Source: ABdhPJy9hEpuOivND1Etai95q/eD9Q6CPXWmpcHhBWejSZz8MJkvsEUHucaXmGIq9Mb3b8jx9qL5Xg== X-Received: by 2002:a17:903:1c3:b029:e6:a15:751f with SMTP id e3-20020a17090301c3b02900e60a15751fmr6464154plh.44.1616017346581; Wed, 17 Mar 2021 14:42:26 -0700 (PDT) Received: from [10.230.29.202] ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id j20sm4228573pji.3.2021.03.17.14.42.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 17 Mar 2021 14:42:26 -0700 (PDT) Subject: Re: [PATCH 2/2] net: mdio: Add BCM6368 MDIO mux bus controller To: Andrew Lunn , =?UTF-8?Q?=c3=81lvaro_Fern=c3=a1ndez_Rojas?= Cc: Jonas Gorski , "David S. Miller" , Jakub Kicinski , Rob Herring , Heiner Kallweit , Russell King , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20210308184102.3921-1-noltari@gmail.com> <20210308184102.3921-3-noltari@gmail.com> From: Florian Fainelli Message-ID: <4c3f1252-50fd-8d90-3fac-009dace44813@gmail.com> Date: Wed, 17 Mar 2021 14:42:23 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 3/17/2021 10:49 AM, Andrew Lunn wrote: >> BCM6368 (and newer) SoCs have an integrated ethernet switch controller with dedicated internal phys, but it also supports connecting to external phys not integrated in the internal switch. >> Ports 0-3 are internal, ports 4-7 are external and can be connected to external switches or phys and port 8 is the CPU. >> This MDIO bus device is integrated in the BCM63xx switch registers, which corresponds to the same registers present in drivers/net/dsa/b53/b53_regs.h. >> As you can see in the source code, registers are the same for the internal and external bus. The only difference is that if MDIOC_EXT_MASK (bit 16) is set, the MDIO bus accessed will be the external, and on the contrary, if bit 16 isn’t set, the MDIO bus accessed will be the internal one. >> >> I don’t know if this answers your question, but I think that adding it as mdiomux is the way to go. > > Hi Álvaro > > The Marvell mv88e6390 family of switches has a very similar setup. An > internal and an external MDIO bus, one bit difference in a > register. When i wrote the code for that, i decided it was not a mux > as such, but two MDIO busses. So i register two MDIO busses, and rely > on a higher level switch register mutex to prevent parallel operations > on the two busses. > > The reason i decided it was not a mux, is that all the other mux > drivers are separate drivers which rely on another MDIO bus > driver. The mux driver gets a handle to the underlying MDIO bus > driver, and and builds on it. Here you have it all combined in one, so > it does not follow the pattern. > > So if you want to use a max, please break this up into an MDIO driver, > and a mux driver. Or have one driver which registers two mdio busses, > no mux. Also, if you were to support some dynamic power management in the future, it may be desirable to have the switch drivers and the MDIO mux controller be within the same driver, so you are in complete control of when the resources are needed and you can fully clock gate everything. -- Florian