From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 853611CFBA for ; Sun, 11 Jan 2026 04:01:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768104094; cv=none; b=i9MixNU7bHUPgFZ79OtqgY6+LvMYtsnZez3bimVAxxdQivj4NVvd0R7lOl3n9tYVxJaL8ljk8rgRVJFt49OzHKy7qgwGY9/IjCH09SS3brpbGTz6ezLkUpxTw+9e033mqbwn8KF/49h2+DVLTXhg/LXZPaJf1qJDiQi9xGBXEfM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768104094; c=relaxed/simple; bh=NcyWFIXdLsWHECMpFUUH7I65oUK5b9E6foMv8yDUJvc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=GwP88mr/lIjEFXNMVsFvsEOmACoeOApVhXQxnd4xrqGMMJBYgxUeYNpl+a45WK9/GJQxEWsXop84JQsV9VL28GNZ4Rqx9qPwYkMslsnYz2YkzpvVfg0ukd64DflLRAHTI/CA2Fw+WHDve14CTY7a2if7fifnrHDnbXqzOUW43yQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UHkujdTP; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UHkujdTP" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-c2dc870e194so2851432a12.2 for ; Sat, 10 Jan 2026 20:01:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768104092; x=1768708892; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=6aSQimWPEMhTKsPYUy1vj9/5sPSG4zuP/FMO33v30Ew=; b=UHkujdTP3pfdfkoy5DtjZApnH1qGblmPGxMBYDeZ3lu5s+80KCNb2T7lKkdaaj49l1 NXJLfiORPdLsorP7RI1j3fpHB5YZt0orGFT2lYuE1BTHsnY2w/tQLMsiuFFcGsd6++w2 yzK2SffhUBWnY3sGHmXByjw3CP+vEcLAor0s/Dqui4ZtjKj/7XdouOUxzxM/zdrXRuRx 10+rvjMUGbsKPfdp5ViuIMGGS4XBTWdD7EdeH/ua+Jtg6Z9+4D14rRS7/T6aLyv4sY2q iaqoegt90ri4auriS4wVSFgIWlBwBA5xOYr+Fe74t2jwvGzae1DsEwDkgBvwtGytyxDG xdGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768104092; x=1768708892; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6aSQimWPEMhTKsPYUy1vj9/5sPSG4zuP/FMO33v30Ew=; b=DG4zhiq9JsZrlmjGP1+uR5pY8O4gfu/GbbwehaqjTF8n8ZVq9PxXIY1Z37geWvPc1G WQv0FJHA/oRDnYyUV1gLCow4Od9CfKwybYC/EdauchTNBMr0dIDcRcUDITyLCAa3i1s/ GQyxv6EaSzVBjG5iXhbnYcGTH31u8Z0Zn2W+vmDtJHUn3rMZvdvd3XAb1Kq+QCqh+3MD i0//mq5xgHxfs9gGzGkteszAIcc74kEWcqF8TqF9uSZnZgN2t49uZ3yKnQAy2BPxlXct IdXTbjuVzDMobOJA+yzmd1TD130khMs82Ry0F8fMTTTzQ2Nbtyx1TqBYHoV6UFe2HyJT scmw== X-Forwarded-Encrypted: i=1; AJvYcCXF+C122QGvzxUzNkG9qyu8xloY7cY7fOjOkrc4jhBzp5oS7zgzfClwtqe7hgv/1kvK7rjQfsrRzoHAnW8=@vger.kernel.org X-Gm-Message-State: AOJu0YySlb+rkm10EaQqRbyeLgoss8S9RJXguOVqak6eUTriuVKSslhs nEwkSAo/q24zdSvzrs+TYqKaPDtMjWEMHXN5likfq9XSgoM9KT6EsQOE X-Gm-Gg: AY/fxX5SejeRMREVz8yrCw7bUYwEYZjMNshzObdiMOq5vFh4W2KE8Q19ZdkC+7G/BaC n3y//SG7fMWCB1OM5rv9JQMK+nyiYi4eggwivYeswOg34hM1R6ffVBeUFHHsjW3g8wWzdGaEaOO kO4aT96DBBykTtPybDsvEyPW24IfnKCAjrQlnq7hsyV5INuci1MhgAYzY17pFoG7+F9JpoBTACl 44P9nIs41QQlHgW0Gp9XbeqgG7eYz2KDwRqG8+AzuTEVUCj3F2rdmi4af6Pl5IQeKyC2YkWDUUv S0pofYnvUUn05h1OVz76kagTkA5o7Vkva6yIWzGglo1zKC8+C4FH336FaXjzJccROkQ1+6/f4jO kPy5ZZxz+eHGOYZ/DIWgBztLfWVKT6IzBa106nr5/Ebk4bF3D2pPwe95o7iYK73d+GAtk75BL0S HNclCV X-Google-Smtp-Source: AGHT+IGPybPvZupy/FYihDwzQNc/n+V1kR/RRvYwaA6/FcFDZUxpWNk2e4gufz92hDuNfXzVOvBWtg== X-Received: by 2002:a05:6a20:a128:b0:35f:68d:430e with SMTP id adf61e73a8af0-3898f8f45bemr12792422637.9.1768104091706; Sat, 10 Jan 2026 20:01:31 -0800 (PST) Received: from [0.0.0.0] ([8.222.167.232]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c4cc96ca7a9sm13871167a12.25.2026.01.10.20.01.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 10 Jan 2026 20:01:31 -0800 (PST) Message-ID: <0d54ddca-9270-40a5-aa82-d8a7b65027ff@gmail.com> Date: Sat, 10 Jan 2026 20:05:31 -0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 1/2] dt-bindings: ethernet: eswin: add clock sampling control To: "Russell King (Oracle)" , Andrew Lunn Cc: lizhi2@eswincomputing.com, devicetree@vger.kernel.org, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, ningyu@eswincomputing.com, linmin@eswincomputing.com, pinkesh.vaghela@einfochips.com, weishangjuan@eswincomputing.com References: <20260109080601.1262-1-lizhi2@eswincomputing.com> <20260109080859.1285-1-lizhi2@eswincomputing.com> <00b7b42f-2f9d-402a-82f0-21641ea894a1@lunn.ch> Content-Language: en-US From: Bo Gan In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/10/26 10:26, Russell King (Oracle) wrote: > On Fri, Jan 09, 2026 at 07:27:54PM +0100, Andrew Lunn wrote: >>> rx-internal-delay-ps: >>> - enum: [0, 200, 600, 1200, 1600, 1800, 2000, 2200, 2400] >>> + enum: [0, 20, 60, 100, 200, 400, 800, 1600, 2400] >>> >>> tx-internal-delay-ps: >>> - enum: [0, 200, 600, 1200, 1600, 1800, 2000, 2200, 2400] >>> + enum: [0, 20, 60, 100, 200, 400, 800, 1600, 2400] >> >> You need to add some text to the Changelog to indicate why this is >> safe to do, and will not cause any regressions for DT blobs already in >> use. Backwards compatibility is very important and needs to be >> addressed. >> >>> + eswin,rx-clk-invert: >>> + description: >>> + Invert the receive clock sampling polarity at the MAC input. >>> + This property may be used to compensate for SoC-specific >>> + receive clock to data skew and help ensure correct RX data >>> + sampling at high speed. >>> + type: boolean >> >> This does not make too much sense to me. The RGMII standard indicates >> sampling happens on both edges of the clock. The rising edge is for >> the lower 4 bits, the falling edge for the upper 4 bits. Flipping the >> polarity would only swap the nibbles around. > > I'm going to ask a rather pertinent question. Why do we have this > eswin stuff in the kernel tree? > > I've just been looking to see whether I can understand more about this, > and although I've discovered the TRM is available for the EIC7700: > > https://github.com/eswincomputing/EIC7700X-SoC-Technical-Reference-Manual/releases > > that isn't particularly helpful on its own. > > There doesn't appear to be any device tree source files that describe > the hardware. The DT bindings that I can find seem to describe only > ethernet and USB. describe the ethernet and USB, and maybe sdhci. > > I was looking for something that would lead me to what this > eswin,hsp-sp-csr thing is, but that doesn't seem to exist in our > DT binding documentation, nor does greping for "hsp.sp.csr" in > arch/*/boot/dts find anything. > > So, we can't know what this "hsp" thing is to even know where to look > in the 80MiB of PDF documentation. > HSP -> High-Speed Peripheral. eswin,hsp-sp-csr is mentioned in Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml Documentation/devicetree/bindings/usb/eswin,eic7700-usb.yaml From ESWIN's vendor/testing kernel tree: hsp_sp_csr: hsp-sp-top-csr@0x50440000 { compatible = "syscon"; #size-cells = <2>; reg = <0x0 0x50440000 0x0 0x2000>; }; Apparently it's just a register block that controls varies behaviors of high speed peripherals. I'm not sure if DT bindings mandates it, but it's undocumented in the TRM. Perhaps ESWIN should properly document it going forward? Also, I think ESWIN needs to check-in the sdhci/eth/usb device- tree components ASAP, so folks can test it. Bo