On 22/09/2026 23:02, Alex Elder wrote:
> On 9/21/26 4:46 PM, Alex Elder wrote:
>>> I also have doubts that this is needed - I see no updates to the misc
>>> binding, which would be referencing it. But then another point would be,
>>> that you do not need separate child node, which has no properties.
>
> Krzysztof, I've done some additional work on this based on
> your feedback.
>
> I think you are correct that there is no need to define
> this as a special syscon with its own compatible string.
>
> Instead, I can simply define a simple syscon with a label:
>
> tc9564_config_syscon0: syscon@0 {
> compatible = "syscon";
I never proposed anything like that. I asked to drop simple-mfd.
> reg = <0x0 0x2000>;
> };
>
> And then have the devices that need to use it, refer to
> its label using a phandle:
>
> tc9564_clock0: clock@1004 {
> compatible = "toshiba,tc9564-clock";
> toshiba,config-syscon = <&tc9564_config_syscon0>;
> #clock-cells = <1>;
> #reset-cells = <1>;
> };
>
> tc9564_emac0: ethernet@40000 {
> compatible = "toshiba,tc9564-xgmac";
> reg = <0x40000 0x8000>;
> toshiba,config-syscon = <&tc9564_config_syscon0 0x1070>;
> . . .
> };
>
> tc9564_emac1: ethernet@48000 {
> compatible = "toshiba,tc9564-xgmac";
> reg = <0x48000 0x8000>;
> toshiba,config-syscon = <&tc9564_config_syscon0 0x1074>;
> . . .
> };
>
> That simplifies things a bit, and requires no devicetree binding.
>
> If you think this is incorrect, please let me know, otherwise it
> is the direction I plan to go with the next version of this
> series.
>
I think nothing behind PCI EP should be described in DT, because
everything is internal to the device and implied by compatible (or
vid/pid). We do describe internals of devices in DT usually for complex
devices (like some display blocks with multiple subblocks) or when they
are used outside of that device. That's why I asked how are all these
clocks and resets exposed to the host. If the syscon is used only by the
device itself, I don't quite get the benefits of describing it in DT.
Best regards,
Krzysztof