^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * System Management Interface (SMI) / MDIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible: One of:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) "cavium,octeon-3860-mdio": Compatibility with all cn3XXX, cn5XXX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) and cn6XXX SOCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) "cavium,thunder-8890-mdio": Compatibility with all cn8XXX SOCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - reg: The base address of the MDIO bus controller register bank.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - #address-cells: Must be <1>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - #size-cells: Must be <0>. MDIO addresses have no size component.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Typically an MDIO bus might have several children.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) mdio@1180000001800 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) compatible = "cavium,octeon-3860-mdio";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) reg = <0x11800 0x00001800 0x0 0x40>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) ethernet-phy@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) reg = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) * System Management Interface (SMI) / MDIO Nexus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Several mdio buses may be gathered as children of a single PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) device, this PCI device is the nexus of the buses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) - compatible: "cavium,thunder-8890-mdio-nexus";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) - reg: The PCI device and function numbers of the nexus device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - #address-cells: Must be <2>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) - #size-cells: Must be <2>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) - ranges: As needed for mapping of the MDIO bus device registers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) - assigned-addresses: As needed for mapping of the MDIO bus device registers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) mdio-nexus@1,3 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) compatible = "cavium,thunder-8890-mdio-nexus";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #address-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) #size-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) reg = <0x0b00 0 0 0 0>; /* DEVFN = 0x0b (1:3) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) assigned-addresses = <0x03000000 0x87e0 0x05000000 0x0 0x800000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) ranges = <0x87e0 0x05000000 0x03000000 0x87e0 0x05000000 0x0 0x800000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) mdio0@87e0,05003800 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) compatible = "cavium,thunder-8890-mdio";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) reg = <0x87e0 0x05003800 0x0 0x30>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) ethernet-phy@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) reg = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) mdio0@87e0,05003880 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) compatible = "cavium,thunder-8890-mdio";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) reg = <0x87e0 0x05003880 0x0 0x30>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) ethernet-phy@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) reg = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) };