Aw: Re: [PATCH 4/4] phy: Realtek Otto Serdes: add devicetree documentation

Krzysztof Kozlowski krzk at kernel.org
Sun Oct 6 01:18:36 PDT 2024


On 05/10/2024 12:28, Markus Stockhausen wrote:
>> ...
>>> + The primary serdes register memory location. Other SerDes control and
>>> + management registers are distributed all over the I/O memory space and
>>> + identified by the driver automatically.
>>> +
>>> + controlled-ports:
>>> + description: |
>>> + A bit mask defining the ports that are actively controlled by the driver. In
>>> + case a bit is not set the driver will only process read operations on the
>>> + SerDes. If not set the driver will run all ports in read only mode.
>>
>> You have never tested it.
> 
> Maybe I left the wrong impression. I'm currently very hard trying to get this driver
> working on 4 different SoCs. The only environment I can do this porperly is an OpenWrt
> toolchain and a lot of patches. With other bits in place I can even start a Zyxel
> GS1920 (RTL839x) through serial console, setup the SerDes and activate the attached
> Realtek PHYs.
> 
> https://github.com/openwrt/openwrt/pull/16577
> https://github.com/openwrt/openwrt/pull/16123

I am talking about binding. You never tested the binding.

Please run `make dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
Maybe you need to update your dtschema and yamllint.

> 
> An older DT from last weekend:
> 
> https://github.com/openwrt/openwrt/pull/16123/commits/716b01afd35fcc708c0204ca237d8541a8000ffa
> 
>>> +
>>> + "#phy-cells":
>>> + const: 4
>>> + description: |
>>> + The first number defines the SerDes to use. The second number a linked
>>> + SerDes. E.g. if a octa 1G PHY is attached to two QSGMII SerDes. The third
>>> + number is the first switch port this SerDes is working for, the fourth number
>>> + is the last switch port the SerDes is working for.
>>> +
>>> + cmd-setup:
>>> + description: |
>>> + A field of 16 bit values that contain a patch/command sequence to run on the
>>> + SerDes registers during driver setup.
>>
>> None of these fields match DT. Drop all of driver related stuff.
> 
> Hm, what would be the best way to run magic vendor patch sequences that setup
> registers and do not pollute driver?

These belong to driver. What do you mean "pollute"? The driver is the
place for these, not DT!

Best regards,
Krzysztof




More information about the linux-phy mailing list