Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/fsl: Update fman dt binding with pcs-phy and tbi-phy

The FMan contains internal PHY devices used for SGMII connections
to external PHYs. When these PHYs are in use a reference is needed
for both the external PHY and the internal one. For the external
PHY phy-handle provides the reference. For the internal PHY a new
handle is required.
In dTSEC, the internal PHY is a TBI (Ten Bit Interface) PHY,
the handle used will be tbi-handle.
In mEMAC, the internal PHY is a PCS (Physical Coding Sublayer) PHY,
the handle used will be pcsphy-handle.

Signed-off-by: Igal Liberman <igal.liberman@freescale.com>
Signed-off-by: Scott Wood <oss@buserror.net>

authored by

Igal Liberman and committed by
Scott Wood
ea6370d2 6becef7e

+40
+40
Documentation/devicetree/bindings/powerpc/fsl/fman.txt
··· 315 315 Value type: <phandle> 316 316 Definition: A phandle for 1EEE1588 timer. 317 317 318 + - pcsphy-handle 319 + Usage required for "fsl,fman-memac" MACs 320 + Value type: <phandle> 321 + Definition: A phandle for pcsphy. 322 + 323 + - tbi-handle 324 + Usage required for "fsl,fman-dtsec" MACs 325 + Value type: <phandle> 326 + Definition: A phandle for tbiphy. 327 + 318 328 EXAMPLE 319 329 320 330 fman1_tx28: port@a8000 { ··· 350 340 reg = <0xe0000 0x1000>; 351 341 fsl,fman-ports = <&fman1_rx8 &fman1_tx28>; 352 342 ptp-timer = <&ptp-timer>; 343 + tbi-handle = <&tbi0>; 353 344 }; 354 345 355 346 ============================================================================ ··· 426 415 The settings and programming routines for internal/external 427 416 MDIO are different. Must be included for internal MDIO. 428 417 418 + For internal PHY device on internal mdio bus, a PHY node should be created. 419 + See the definition of the PHY node in booting-without-of.txt for an 420 + example of how to define a PHY (Internal PHY has no interrupt line). 421 + - For "fsl,fman-mdio" compatible internal mdio bus, the PHY is TBI PHY. 422 + - For "fsl,fman-memac-mdio" compatible internal mdio bus, the PHY is PCS PHY, 423 + PCS PHY addr must be '0'. 424 + 429 425 EXAMPLE 430 426 431 427 Example for FMan v2 external MDIO: ··· 443 425 interrupts = <101 2 0 0>; 444 426 }; 445 427 428 + Example for FMan v2 internal MDIO: 429 + 430 + mdio@e3120 { 431 + compatible = "fsl,fman-mdio"; 432 + reg = <0xe3120 0xee0>; 433 + fsl,fman-internal-mdio; 434 + 435 + tbi1: tbi-phy@8 { 436 + reg = <0x8>; 437 + device_type = "tbi-phy"; 438 + }; 439 + }; 440 + 446 441 Example for FMan v3 internal MDIO: 447 442 448 443 mdio@f1000 { 449 444 compatible = "fsl,fman-memac-mdio"; 450 445 reg = <0xf1000 0x1000>; 451 446 fsl,fman-internal-mdio; 447 + 448 + pcsphy6: ethernet-phy@0 { 449 + reg = <0x0>; 450 + }; 452 451 }; 453 452 454 453 ============================================================================= ··· 603 568 cell-index = <0>; 604 569 reg = <0xe0000 0x1000>; 605 570 fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>; 571 + tbi-handle = <&tbi5>; 606 572 }; 607 573 608 574 ethernet@e2000 { ··· 611 575 cell-index = <1>; 612 576 reg = <0xe2000 0x1000>; 613 577 fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>; 578 + tbi-handle = <&tbi6>; 614 579 }; 615 580 616 581 ethernet@e4000 { ··· 619 582 cell-index = <2>; 620 583 reg = <0xe4000 0x1000>; 621 584 fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>; 585 + tbi-handle = <&tbi7>; 622 586 }; 623 587 624 588 ethernet@e6000 { ··· 627 589 cell-index = <3>; 628 590 reg = <0xe6000 0x1000>; 629 591 fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>; 592 + tbi-handle = <&tbi8>; 630 593 }; 631 594 632 595 ethernet@e8000 { ··· 635 596 cell-index = <4>; 636 597 reg = <0xf0000 0x1000>; 637 598 fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>; 599 + tbi-handle = <&tbi9>; 638 600 639 601 ethernet@f0000 { 640 602 cell-index = <8>;