On Sat, Apr 12, 2025 at 07:19:49AM +0530, Krishna Chaitanya Chundru wrote: > TC9563 is the PCIe switch which has one upstream and three downstream > ports. To one of the downstream ports ethernet MAC is connected as endpoint > device. Other two downstream ports are supposed to connect to external > device. One Host can connect to TC956x by upstream port. I guess this topology is for one specific platform that includes the TC9563? Since it's a PCIe switch, I assume it could also be used in other platforms with other topologies? > TC9563 switch power is controlled by the GPIO's. After powering on > the switch will immediately participate in the link training. if the > host is also ready by that time PCIe link will established. > > The TC9563 needs to configured certain parameters like de-emphasis, > disable unused port etc before link is established. > > As the controller starts link training before the probe of pwrctl driver, > the PCIe link may come up as soon as we power on the switch. Due to this > configuring the switch itself through i2c will not have any effect as > this configuration needs to done before link training. To avoid this > introduce two functions in pci_ops to start_link() & stop_link() which > will disable the link training if the PCIe link is not up yet. > > This series depends on the https://lore.kernel.org/all/20250124101038.3871768-3-krishna.chundru@xxxxxxxxxxxxxxxx/ How so? https://lore.kernel.org/all/20250124101038.3871768-3-krishna.chundru@xxxxxxxxxxxxxxxx/ adds a schema "n-fts" property, but this series doesn't mention "n-fts". This series *does* add this: of_property_read_u8_array(node, "nfts", cfg->nfts, 2); Is that supposed to be the same thing, or does "nfts" magically match "n-fts"? Bjorn