162568bdbSVladimir Oltean# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262568bdbSVladimir Oltean%YAML 1.2 362568bdbSVladimir Oltean--- 462568bdbSVladimir Oltean$id: http://devicetree.org/schemas/net/dsa/nxp,sja1105.yaml# 562568bdbSVladimir Oltean$schema: http://devicetree.org/meta-schemas/core.yaml# 662568bdbSVladimir Oltean 7a612130cSKrzysztof Kozlowskititle: NXP SJA1105 Automotive Ethernet Switch Family 862568bdbSVladimir Oltean 962568bdbSVladimir Olteandescription: 1062568bdbSVladimir Oltean The SJA1105 SPI interface requires a CS-to-CLK time (t2 in UM10944.pdf) of at 1162568bdbSVladimir Oltean least one half of t_CLK. At an SPI frequency of 1MHz, this means a minimum 1262568bdbSVladimir Oltean cs_sck_delay of 500ns. Ensuring that this SPI timing requirement is observed 1362568bdbSVladimir Oltean depends on the SPI bus master driver. 1462568bdbSVladimir Oltean 1562568bdbSVladimir Olteanmaintainers: 1662568bdbSVladimir Oltean - Vladimir Oltean <vladimir.oltean@nxp.com> 1762568bdbSVladimir Oltean 1862568bdbSVladimir Olteanproperties: 1962568bdbSVladimir Oltean compatible: 2062568bdbSVladimir Oltean enum: 2162568bdbSVladimir Oltean - nxp,sja1105e 2262568bdbSVladimir Oltean - nxp,sja1105t 2362568bdbSVladimir Oltean - nxp,sja1105p 2462568bdbSVladimir Oltean - nxp,sja1105q 2562568bdbSVladimir Oltean - nxp,sja1105r 2662568bdbSVladimir Oltean - nxp,sja1105s 27070f5b70SVladimir Oltean - nxp,sja1110a 28070f5b70SVladimir Oltean - nxp,sja1110b 29070f5b70SVladimir Oltean - nxp,sja1110c 30070f5b70SVladimir Oltean - nxp,sja1110d 3162568bdbSVladimir Oltean 3262568bdbSVladimir Oltean reg: 3362568bdbSVladimir Oltean maxItems: 1 3462568bdbSVladimir Oltean 35*af2eab1aSKrzysztof Kozlowski spi-cpha: true 36*af2eab1aSKrzysztof Kozlowski spi-cpol: true 37*af2eab1aSKrzysztof Kozlowski 38070f5b70SVladimir Oltean # Optional container node for the 2 internal MDIO buses of the SJA1110 39070f5b70SVladimir Oltean # (one for the internal 100base-T1 PHYs and the other for the single 40070f5b70SVladimir Oltean # 100base-TX PHY). The "reg" property does not have physical significance. 41070f5b70SVladimir Oltean # The PHY addresses to port correspondence is as follows: for 100base-T1, 42070f5b70SVladimir Oltean # port 5 has PHY 1, port 6 has PHY 2 etc, while for 100base-TX, port 1 has 43070f5b70SVladimir Oltean # PHY 1. 44070f5b70SVladimir Oltean mdios: 45070f5b70SVladimir Oltean type: object 46070f5b70SVladimir Oltean 47070f5b70SVladimir Oltean properties: 48070f5b70SVladimir Oltean '#address-cells': 49070f5b70SVladimir Oltean const: 1 50070f5b70SVladimir Oltean '#size-cells': 51070f5b70SVladimir Oltean const: 0 52070f5b70SVladimir Oltean 53070f5b70SVladimir Oltean patternProperties: 54070f5b70SVladimir Oltean "^mdio@[0-1]$": 55b2d28642SRob Herring $ref: /schemas/net/mdio.yaml# 56b2d28642SRob Herring unevaluatedProperties: false 57070f5b70SVladimir Oltean 58070f5b70SVladimir Oltean properties: 59070f5b70SVladimir Oltean compatible: 60070f5b70SVladimir Oltean oneOf: 61070f5b70SVladimir Oltean - enum: 62070f5b70SVladimir Oltean - nxp,sja1110-base-t1-mdio 63070f5b70SVladimir Oltean - nxp,sja1110-base-tx-mdio 64070f5b70SVladimir Oltean 65070f5b70SVladimir Oltean reg: 66070f5b70SVladimir Oltean oneOf: 67070f5b70SVladimir Oltean - enum: 68070f5b70SVladimir Oltean - 0 69070f5b70SVladimir Oltean - 1 70070f5b70SVladimir Oltean 71070f5b70SVladimir Oltean required: 72070f5b70SVladimir Oltean - compatible 73070f5b70SVladimir Oltean - reg 74070f5b70SVladimir Oltean 75ac41ac81SVladimir OlteanpatternProperties: 76ac41ac81SVladimir Oltean "^(ethernet-)?ports$": 77ac41ac81SVladimir Oltean patternProperties: 78ac41ac81SVladimir Oltean "^(ethernet-)?port@[0-9]+$": 79ac41ac81SVladimir Oltean allOf: 80ac41ac81SVladimir Oltean - if: 81ac41ac81SVladimir Oltean properties: 82ac41ac81SVladimir Oltean phy-mode: 83ac41ac81SVladimir Oltean contains: 84ac41ac81SVladimir Oltean enum: 85ac41ac81SVladimir Oltean - rgmii 86ac41ac81SVladimir Oltean - rgmii-rxid 87ac41ac81SVladimir Oltean - rgmii-txid 88ac41ac81SVladimir Oltean - rgmii-id 89ac41ac81SVladimir Oltean then: 90ac41ac81SVladimir Oltean properties: 91ac41ac81SVladimir Oltean rx-internal-delay-ps: 92ac41ac81SVladimir Oltean $ref: "#/$defs/internal-delay-ps" 93ac41ac81SVladimir Oltean tx-internal-delay-ps: 94ac41ac81SVladimir Oltean $ref: "#/$defs/internal-delay-ps" 95ac41ac81SVladimir Oltean 9662568bdbSVladimir Olteanrequired: 9762568bdbSVladimir Oltean - compatible 9862568bdbSVladimir Oltean - reg 9962568bdbSVladimir Oltean 100ac41ac81SVladimir Oltean$defs: 101ac41ac81SVladimir Oltean internal-delay-ps: 102ac41ac81SVladimir Oltean description: 103ac41ac81SVladimir Oltean Disable tunable delay lines using 0 ps, or enable them and select 104ac41ac81SVladimir Oltean the phase between 1640 ps (73.8 degree shift at 1Gbps) and 2260 ps 105ac41ac81SVladimir Oltean (101.7 degree shift) in increments of 0.9 degrees (20 ps). 106ac41ac81SVladimir Oltean enum: 107ac41ac81SVladimir Oltean [0, 1640, 1660, 1680, 1700, 1720, 1740, 1760, 1780, 1800, 1820, 1840, 108ac41ac81SVladimir Oltean 1860, 1880, 1900, 1920, 1940, 1960, 1980, 2000, 2020, 2040, 2060, 2080, 109ac41ac81SVladimir Oltean 2100, 2120, 2140, 2160, 2180, 2200, 2220, 2240, 2260] 110ac41ac81SVladimir Oltean 111*af2eab1aSKrzysztof KozlowskiallOf: 112*af2eab1aSKrzysztof Kozlowski - $ref: dsa.yaml#/$defs/ethernet-ports 113*af2eab1aSKrzysztof Kozlowski - $ref: /schemas/spi/spi-peripheral-props.yaml# 114*af2eab1aSKrzysztof Kozlowski - if: 115*af2eab1aSKrzysztof Kozlowski properties: 116*af2eab1aSKrzysztof Kozlowski compatible: 117*af2eab1aSKrzysztof Kozlowski enum: 118*af2eab1aSKrzysztof Kozlowski - nxp,sja1105e 119*af2eab1aSKrzysztof Kozlowski - nxp,sja1105p 120*af2eab1aSKrzysztof Kozlowski - nxp,sja1105q 121*af2eab1aSKrzysztof Kozlowski - nxp,sja1105r 122*af2eab1aSKrzysztof Kozlowski - nxp,sja1105s 123*af2eab1aSKrzysztof Kozlowski - nxp,sja1105t 124*af2eab1aSKrzysztof Kozlowski then: 125*af2eab1aSKrzysztof Kozlowski properties: 126*af2eab1aSKrzysztof Kozlowski spi-cpol: false 127*af2eab1aSKrzysztof Kozlowski required: 128*af2eab1aSKrzysztof Kozlowski - spi-cpha 129*af2eab1aSKrzysztof Kozlowski else: 130*af2eab1aSKrzysztof Kozlowski properties: 131*af2eab1aSKrzysztof Kozlowski spi-cpha: false 132*af2eab1aSKrzysztof Kozlowski required: 133*af2eab1aSKrzysztof Kozlowski - spi-cpol 134*af2eab1aSKrzysztof Kozlowski 13562568bdbSVladimir OlteanunevaluatedProperties: false 13662568bdbSVladimir Oltean 13762568bdbSVladimir Olteanexamples: 13862568bdbSVladimir Oltean - | 13962568bdbSVladimir Oltean spi { 14062568bdbSVladimir Oltean #address-cells = <1>; 14162568bdbSVladimir Oltean #size-cells = <0>; 14262568bdbSVladimir Oltean 14362568bdbSVladimir Oltean ethernet-switch@1 { 14462568bdbSVladimir Oltean reg = <0x1>; 14562568bdbSVladimir Oltean compatible = "nxp,sja1105t"; 146*af2eab1aSKrzysztof Kozlowski spi-cpha; 14762568bdbSVladimir Oltean 14862568bdbSVladimir Oltean ethernet-ports { 14962568bdbSVladimir Oltean #address-cells = <1>; 15062568bdbSVladimir Oltean #size-cells = <0>; 15162568bdbSVladimir Oltean 15262568bdbSVladimir Oltean port@0 { 15362568bdbSVladimir Oltean phy-handle = <&rgmii_phy6>; 15462568bdbSVladimir Oltean phy-mode = "rgmii-id"; 155ac41ac81SVladimir Oltean rx-internal-delay-ps = <0>; 156ac41ac81SVladimir Oltean tx-internal-delay-ps = <0>; 15762568bdbSVladimir Oltean reg = <0>; 15862568bdbSVladimir Oltean }; 15962568bdbSVladimir Oltean 16062568bdbSVladimir Oltean port@1 { 16162568bdbSVladimir Oltean phy-handle = <&rgmii_phy3>; 16262568bdbSVladimir Oltean phy-mode = "rgmii-id"; 163ac41ac81SVladimir Oltean rx-internal-delay-ps = <0>; 164ac41ac81SVladimir Oltean tx-internal-delay-ps = <0>; 16562568bdbSVladimir Oltean reg = <1>; 16662568bdbSVladimir Oltean }; 16762568bdbSVladimir Oltean 16862568bdbSVladimir Oltean port@2 { 16962568bdbSVladimir Oltean phy-handle = <&rgmii_phy4>; 17062568bdbSVladimir Oltean phy-mode = "rgmii-id"; 171ac41ac81SVladimir Oltean rx-internal-delay-ps = <0>; 172ac41ac81SVladimir Oltean tx-internal-delay-ps = <0>; 17362568bdbSVladimir Oltean reg = <2>; 17462568bdbSVladimir Oltean }; 17562568bdbSVladimir Oltean 17662568bdbSVladimir Oltean port@3 { 1777a414b6eSVladimir Oltean phy-handle = <&rgmii_phy4>; 17862568bdbSVladimir Oltean phy-mode = "rgmii-id"; 179ac41ac81SVladimir Oltean rx-internal-delay-ps = <0>; 180ac41ac81SVladimir Oltean tx-internal-delay-ps = <0>; 18162568bdbSVladimir Oltean reg = <3>; 18262568bdbSVladimir Oltean }; 18362568bdbSVladimir Oltean 18462568bdbSVladimir Oltean port@4 { 18562568bdbSVladimir Oltean ethernet = <&enet2>; 18662568bdbSVladimir Oltean phy-mode = "rgmii"; 187ac41ac81SVladimir Oltean rx-internal-delay-ps = <0>; 188ac41ac81SVladimir Oltean tx-internal-delay-ps = <0>; 18962568bdbSVladimir Oltean reg = <4>; 19062568bdbSVladimir Oltean 19162568bdbSVladimir Oltean fixed-link { 19262568bdbSVladimir Oltean speed = <1000>; 19362568bdbSVladimir Oltean full-duplex; 19462568bdbSVladimir Oltean }; 19562568bdbSVladimir Oltean }; 19662568bdbSVladimir Oltean }; 19762568bdbSVladimir Oltean }; 19862568bdbSVladimir Oltean }; 199