Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1495933pxj; Fri, 4 Jun 2021 16:36:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwM/cxxm/IavORWkLaw1dCzidudrf5YYpXTWMr97/e3hjzBoRrbsBhqsz9u0/P2gsPfWTre X-Received: by 2002:a17:907:2648:: with SMTP id ar8mr3432024ejc.521.1622849780772; Fri, 04 Jun 2021 16:36:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622849780; cv=none; d=google.com; s=arc-20160816; b=hO2h6qza9EezIhYIutcIZqQjK60l5O11fK/AjWP2Uomde7LlC45blCIBjCXVbff2N8 4IJ9Ctjh9ZPHwQo+WWghW6PQ+OdAHhGSZrDiiFtfyhkFD4TfRwQ06KjYqh9dpgH9fqLt l5AAiLiRUdNRfjK5zTa5qrsoxf+XpTTTv17B66Wxfptwx/HfNfua13mJNXuVZKWzo3GA YydVl7aUNbfUVBvIHGcxwIINjVmFnPJfBqSQH3HrzsP2U1vugYROod+Gt3JS6gW/vhLh YjuS2H+WKNygrKiA9tPDt12VgdUJDPZ1K8AACvP8kpVqz78ooWY9fbYkWPgUIuCJHZ9t 2QfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=9FdChyqPU7eevax67O31ZDdHXfClYd1GmqlOITCnRv0=; b=R62+9qpZnYvhfjG2i1yrn52it7mTHcB78YpDK146MMY5lFBsP9CndoHH5rpW2rWaSb aMJE9QS0gKYmo0xC0I9Wpj5GG4Si0i8pn8JiFxq+g+HuZ4RlAY5sm/mBVm0jNxxkFm3S o1esgCGojJS+z6fQcIGnYUWks1jKIa0W+qoAO+Q5JZqoMjHOSG33l5bxeZtAdsJppza5 kisDMJz5U6hBaV5hE5gsNA0hxc1HOy2YrZXaVsEEF+CqZKB4/rqD4kyXaZq6u0WCTEqB 2YMM08tGuK+cOdh0SuLMhe74NiGh9wTTXNrY0RHhqU0h56kNjef+zOZVM+Pea/2BWvby hrfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nFuRTot1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l23si6961727ejb.573.2021.06.04.16.35.58; Fri, 04 Jun 2021 16:36:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nFuRTot1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231644AbhFDXgr (ORCPT + 99 others); Fri, 4 Jun 2021 19:36:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:50574 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229853AbhFDXgp (ORCPT ); Fri, 4 Jun 2021 19:36:45 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B6811613E4; Fri, 4 Jun 2021 23:34:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1622849699; bh=jM7rZDdzkxe5DiHvBKflOK29UC9MYAjpGh0KBIWYRWM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nFuRTot1LUNfkVqIDdei20X/6pmgsRnGZi+fRleW5D9Ly5qxmXMiIXrPeiA+DVUwP PIiiTEF6fVDJ8G+fM9lbDLSxuk7hYHPPXyudtFYAA8kfBTAAVqQuvJ953POVZXB4gl qN2+i79ffBvclN8tW+9AoWT4gWPHcBP2nbNEs1I9RmXyfa3Fe+IKq+wvVBYnvX2/Rg nb9kibRlGtbChRBKOc+iyCAPamkYDdTOANC34ZjuZbK/tl49KkcVHuj7E9h1nPzFP3 dXQnOaZoN9aVPD4+0bi5l2ncqxD64yghLq3D00tPtdF1uNmAndNujOAUCOHTTYHBs+ +ZYpL3Fg6asGA== Received: by pali.im (Postfix) id 86D84990; Sat, 5 Jun 2021 01:34:55 +0200 (CEST) Date: Sat, 5 Jun 2021 01:34:55 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Madalin Bucur Cc: Andrew Lunn , Russell King , Igal Liberman , Shruti Kanetkar , Emil Medve , Scott Wood , Rob Herring , Michael Ellerman , Benjamin Herrenschmidt , "netdev@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Camelia Alexandra Groza (OSS)" Subject: Re: Unsupported phy-connection-type sgmii-2500 in arch/powerpc/boot/dts/fsl/t1023rdb.dts Message-ID: <20210604233455.fwcu2chlsed2gwmu@pali> References: <20210603143453.if7hgifupx5k433b@pali> <20210603194853.ngz4jdso3kfncnj4@pali> <20210604192732.GW30436@shell.armlinux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20180716 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday 04 June 2021 21:47:26 Madalin Bucur wrote: > > -----Original Message----- > > From: Andrew Lunn > > Sent: 04 June 2021 23:24 > > To: Madalin Bucur > > Cc: Russell King ; Pali Rohár ; > > Igal Liberman ; Shruti Kanetkar > > ; Emil Medve ; Scott > > Wood ; Rob Herring ; Michael > > Ellerman ; Benjamin Herrenschmidt > > ; netdev@vger.kernel.org; > > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Camelia > > Alexandra Groza (OSS) > > Subject: Re: Unsupported phy-connection-type sgmii-2500 in > > arch/powerpc/boot/dts/fsl/t1023rdb.dts > > > > > The "sgmii-2500" compatible in that device tree describes an SGMII HW > > > block, overclocked at 2.5G. Without that overclocking, it's a plain > > > Cisco (like) SGMII HW block. That's the reason you need to disable it's > > > AN setting when overclocked. With the proper Reset Configuration Word, > > > you could remove the overclocking and transform that into a plain > > "sgmii". > > > Thus, the dts compatible describes the HW, as it is. > > > > It sounds like the hardware is capable of swapping between SGMII and > > 2500BaseX. > > > > What we have in DT in this case is not describing the hardware, but > > how we configure the hardware. It is one of the few places we abuse DT > > for configuration. > > > > Andrew > > The actual selection of this mode of operation is performed by the so called > Reset Configuration Word from the boot media, that aligned with the HW and > board design. The need to name it something other than plain "sgmii" comes > from the HW special need for AN to be disabled to operate. > > Actually, the weird/non-standard hardware is described by the device tree > with a value that puts it in a class of its own. Instead of the overclocked > SGMII denomination "sgmii-2500" it could have been named just as well > "overclocked-nonstandard-2.5G-ethernet-no-autoneg-SGMII-hw-ip". > > One could try to change device trees to slip configuration details, but the > backwards compatibility aspect renders this futile. Is there any option to > say "sgmii" then "autoneg disabled"? > > Madalin Madalin, my understanding is that "sgmii-2500" mode is unknown and unsupported by kernel. List of known modes which can be specified in DTS file are defined in YAML schema for 'phy-connection-type' in file: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/ethernet-controller.yaml?h=v5.12#n55 And there is none "sgmii-2500", so some DTS schema validator could throw validation error for that DTS file. I'm not sure if somebody has written DTS schema validator with all those things (like there are JSON schema or OpenAPI validators in JavaScript / HTTP world). Plus also in linux/phy.h header file contains list of known Linux modes: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/phy.h?h=v5.12#n169 And based on all information in this email discussion, in my opinion the mode which HW supports matches Linux meaning of "2500base-x" key/string. So I would suggest to rename "sgmii-2500" in that DTS file to "2500base-x". Does it make sense? But as this is really confusing what each mode means for Linux, I would suggest that documentation for these modes in ethernet-controller.yaml file (or in any other location) could be extended. I see that it is really hard to find exact information what these modes mean and what is their meaning in DTS / kernel.