Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754901AbcDYPds (ORCPT ); Mon, 25 Apr 2016 11:33:48 -0400 Received: from vps0.lunn.ch ([178.209.37.122]:45449 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754745AbcDYPdq (ORCPT ); Mon, 25 Apr 2016 11:33:46 -0400 Date: Mon, 25 Apr 2016 17:33:36 +0200 From: Andrew Lunn To: Pramod Kumar Cc: Rob Herring , Catalin Marinas , Will Deacon , Masahiro Yamada , Chen-Yu Tsai , BCM Kernel Feedback , Pawel Moll , Mark Rutland , Arnd Bergmann , Suzuki K Poulose , Punit Agrawal , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH 2/6] Documentation: DT binding doc for iProc Shared MDIO Controller. Message-ID: <20160425153336.GK6575@lunn.ch> References: <1461230323-27891-1-git-send-email-pramod.kumar@broadcom.com> <1461230323-27891-3-git-send-email-pramod.kumar@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1461230323-27891-3-git-send-email-pramod.kumar@broadcom.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1026 Lines: 44 > +Example: > +iproc_mdio: iproc_mdio@663f0000 { > + compatible = "brcm,iproc-shared-mdio"; > + reg = <0x6602023c 0x14>; > + reg-names = "mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sata-master@6 { > + compatible = "brcm,iproc-ns2-sata-phy"; > + reg = <0x6>; > + #address-cells = <1>; > + #size-cells = <0>; > + brcm,phy-internal; > + > + sata_phy0: sata-phy@1 { > + reg = <0x1>; > + #phy-cells = <0>; > + }; > + > + sata_phy1: sata-phy@2 { > + reg = <0x2>; > + #phy-cells = <0>; > + }; > + }; > + > + eth-master@0 { > + compatible = "brcm,iproc-mdio-master-eth"; > + reg = <0x0>; > + #address-cells = <1>; > + #size-cells = <0>; > + gphy0: eth-phy@10 { > + reg = <0x10>; > + phy-mode = "mii"; > + }; > + }; > +}; So looking at this, you have an MDIO bus, an MDIO mux on top of that, and then some MDIO devices on the muxed busses. You don't need a whole new framework for this. You need a new mdio-mux driver, but the existing MDIO framework should do what you need. Andrew