Lines Matching refs:PCS
219 should be used to configure the MAC when the MAC and PCS are not
249 10. Some Ethernet controllers work in pair with a PCS (Physical Coding Sublayer)
252 PCS whose operation is transparent, some other require dedicated PCS
254 provides a PCS abstraction through :c:type:`struct phylink_pcs <phylink_pcs>`.
256 Identify if your driver has one or more internal PCS blocks, and/or if
257 your controller can use an external PCS block that might be internally
260 If your controller doesn't have any internal PCS, you can go to step 11.
262 If your Ethernet controller contains one or several PCS blocks, create
263 one :c:type:`struct phylink_pcs <phylink_pcs>` instance per PCS block within
271 configure your PCS. Create a :c:func:`pcs_get_state` function that reports
273 PCS according to phylink-provided parameters, and a :c:func:`pcs_validate`
275 your PCS:
285 Arrange for PCS link state interrupts to be forwarded into
293 otherwise. If a PCS is unable to provide these interrupts, then
294 it should set ``pcs->pcs_poll = true;`` when creating the PCS.
296 11. If your controller relies on, or accepts the presence of an external PCS
304 The way of getting an instance of the actual PCS depends on the platform,
305 some PCS sit on an MDIO bus and are grabbed by passing a pointer to the
306 corresponding :c:type:`struct mii_bus <mii_bus>` and the PCS's address on
307 that bus. In this example, we assume the controller attaches to a Lynx PCS
314 Some PCS can be recovered based on firmware information:
333 if ( /* 'interface' needs a PCS to function */ )
340 internal PCS.
345 You must adjust these according to what your MAC and all PCS associated