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