Thread (36 messages) 36 messages, 5 authors, 2021-07-29

Re: [PATCH net-next 2/5] dt-bindings: net: Add tsnep Ethernet controller

From: Gerhard Engleder <hidden>
Date: 2021-07-28 20:14:25
Also in: netdev

On Wed, Jul 28, 2021 at 12:55 PM Michal Simek [off-list ref] wrote:
quoted
quoted
quoted
quoted
quoted
quoted
+      - enum:
+        - engleder,tsnep
tsnep is pretty generic. Only 1 version ever? Or differences are/will
be discoverable by other means.
Differences shall be detected by flags in the registers; e.g., a flag for
gate control support. Anyway a version may make sense. Can you
point to a good reference binding with versions? I did not find a
network controller binding with versions.
Some of the SiFive IP blocks have versions. Version numbers are the
exception though. Ideally they would correspond to some version of
your FPGA image. I just don't want to see 'v1' because that sounds
made up. The above string can mean 'v1' or whatever version you want.
I'm fine if you just add some description here about feature flag
registers.
Don't Xilinx design tool (vivado) force you to use IP version?
Normally all Xilinx IPs have certain version because that's the only way
how to manage it.
Yes I use an IP version in the Xilinx design tool. I use it as a version of the
VHDL code itself. In my case this version is not related to the
hardware software
interface. The goal is to keep the hardware software interface compatible, so
the IP version should not be relevant.
I expect this is goal for everybody but it fails over time. We normally
compose compatible string for PL based IP with IP version which is used.
And it is quite common that couple of HW version are SW compatible to
each other.
It means use the same HW version as you use now. When you reach the
point when your HW IP needs to be upgraded and will require SW alignment
you have versions around which can be used directly.
I would like to follow the argument from Rob:
"The above string can mean 'v1' or whatever version you want."
If there ever is an incompatible new IP version, then a new compatible string
can be added which means 'v2'. E.g. for 128bit physical address support I
would choose the compatible string 'engleder,tsnep128'. I don't see an
advantage in adding a version number to the compatible string.

This IP will be used in products where compatible hardware is a must.
An IP upgrade which requires SW alignment will result in heavy complaints
from the customers. Such an IP upgrade would result in a new IP.
Like for shared libraries, an incompatible API change is similar to a new
library.

Gerhard
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help