1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*ae5de77eSEmmanuel Vadot%YAML 1.2 3*ae5de77eSEmmanuel Vadot--- 4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/net/aeonsemi,as21xxx.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadottitle: Aeonsemi AS21XXX Ethernet PHY 8*ae5de77eSEmmanuel Vadot 9*ae5de77eSEmmanuel Vadotmaintainers: 10*ae5de77eSEmmanuel Vadot - Christian Marangi <ansuelsmth@gmail.com> 11*ae5de77eSEmmanuel Vadot 12*ae5de77eSEmmanuel Vadotdescription: | 13*ae5de77eSEmmanuel Vadot Aeonsemi AS21xxx Ethernet PHYs requires a firmware to be loaded to actually 14*ae5de77eSEmmanuel Vadot work. The same firmware is compatible with various PHYs of the same family. 15*ae5de77eSEmmanuel Vadot 16*ae5de77eSEmmanuel Vadot A PHY with not firmware loaded will be exposed on the MDIO bus with ID 17*ae5de77eSEmmanuel Vadot 0x7500 0x7500 or 0x7500 0x9410 on C45 registers. 18*ae5de77eSEmmanuel Vadot 19*ae5de77eSEmmanuel Vadot This can be done and is implemented by OEM in 2 different way: 20*ae5de77eSEmmanuel Vadot - Attached SPI flash directly to the PHY with the firmware. The PHY 21*ae5de77eSEmmanuel Vadot will self load the firmware in the presence of this configuration. 22*ae5de77eSEmmanuel Vadot - Manually provided firmware loaded from a file in the filesystem. 23*ae5de77eSEmmanuel Vadot 24*ae5de77eSEmmanuel Vadot Each PHY can support up to 5 LEDs. 25*ae5de77eSEmmanuel Vadot 26*ae5de77eSEmmanuel Vadot AS2xxx PHY Name logic: 27*ae5de77eSEmmanuel Vadot 28*ae5de77eSEmmanuel Vadot AS21x1xxB1 29*ae5de77eSEmmanuel Vadot ^ ^^ 30*ae5de77eSEmmanuel Vadot | |J: Supports SyncE/PTP 31*ae5de77eSEmmanuel Vadot | |P: No SyncE/PTP support 32*ae5de77eSEmmanuel Vadot | 1: Supports 2nd Serdes 33*ae5de77eSEmmanuel Vadot | 2: Not 2nd Serdes support 34*ae5de77eSEmmanuel Vadot 0: 10G, 5G, 2.5G 35*ae5de77eSEmmanuel Vadot 5: 5G, 2.5G 36*ae5de77eSEmmanuel Vadot 2: 2.5G 37*ae5de77eSEmmanuel Vadot 38*ae5de77eSEmmanuel VadotallOf: 39*ae5de77eSEmmanuel Vadot - $ref: ethernet-phy.yaml# 40*ae5de77eSEmmanuel Vadot 41*ae5de77eSEmmanuel Vadotselect: 42*ae5de77eSEmmanuel Vadot properties: 43*ae5de77eSEmmanuel Vadot compatible: 44*ae5de77eSEmmanuel Vadot contains: 45*ae5de77eSEmmanuel Vadot enum: 46*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9410 47*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9402 48*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9412 49*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9422 50*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9432 51*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9442 52*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9452 53*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9462 54*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9472 55*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9482 56*ae5de77eSEmmanuel Vadot - ethernet-phy-id7500.9492 57*ae5de77eSEmmanuel Vadot required: 58*ae5de77eSEmmanuel Vadot - compatible 59*ae5de77eSEmmanuel Vadot 60*ae5de77eSEmmanuel Vadotproperties: 61*ae5de77eSEmmanuel Vadot reg: 62*ae5de77eSEmmanuel Vadot maxItems: 1 63*ae5de77eSEmmanuel Vadot 64*ae5de77eSEmmanuel Vadot firmware-name: 65*ae5de77eSEmmanuel Vadot description: specify the name of PHY firmware to load 66*ae5de77eSEmmanuel Vadot maxItems: 1 67*ae5de77eSEmmanuel Vadot 68*ae5de77eSEmmanuel Vadotrequired: 69*ae5de77eSEmmanuel Vadot - compatible 70*ae5de77eSEmmanuel Vadot - reg 71*ae5de77eSEmmanuel Vadot 72*ae5de77eSEmmanuel Vadotif: 73*ae5de77eSEmmanuel Vadot properties: 74*ae5de77eSEmmanuel Vadot compatible: 75*ae5de77eSEmmanuel Vadot contains: 76*ae5de77eSEmmanuel Vadot const: ethernet-phy-id7500.9410 77*ae5de77eSEmmanuel Vadotthen: 78*ae5de77eSEmmanuel Vadot required: 79*ae5de77eSEmmanuel Vadot - firmware-name 80*ae5de77eSEmmanuel Vadotelse: 81*ae5de77eSEmmanuel Vadot properties: 82*ae5de77eSEmmanuel Vadot firmware-name: false 83*ae5de77eSEmmanuel Vadot 84*ae5de77eSEmmanuel VadotunevaluatedProperties: false 85*ae5de77eSEmmanuel Vadot 86*ae5de77eSEmmanuel Vadotexamples: 87*ae5de77eSEmmanuel Vadot - | 88*ae5de77eSEmmanuel Vadot #include <dt-bindings/leds/common.h> 89*ae5de77eSEmmanuel Vadot 90*ae5de77eSEmmanuel Vadot mdio { 91*ae5de77eSEmmanuel Vadot #address-cells = <1>; 92*ae5de77eSEmmanuel Vadot #size-cells = <0>; 93*ae5de77eSEmmanuel Vadot 94*ae5de77eSEmmanuel Vadot ethernet-phy@1f { 95*ae5de77eSEmmanuel Vadot compatible = "ethernet-phy-id7500.9410", 96*ae5de77eSEmmanuel Vadot "ethernet-phy-ieee802.3-c45"; 97*ae5de77eSEmmanuel Vadot 98*ae5de77eSEmmanuel Vadot reg = <31>; 99*ae5de77eSEmmanuel Vadot firmware-name = "as21x1x_fw.bin"; 100*ae5de77eSEmmanuel Vadot 101*ae5de77eSEmmanuel Vadot leds { 102*ae5de77eSEmmanuel Vadot #address-cells = <1>; 103*ae5de77eSEmmanuel Vadot #size-cells = <0>; 104*ae5de77eSEmmanuel Vadot 105*ae5de77eSEmmanuel Vadot led@0 { 106*ae5de77eSEmmanuel Vadot reg = <0>; 107*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 108*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_LAN; 109*ae5de77eSEmmanuel Vadot function-enumerator = <0>; 110*ae5de77eSEmmanuel Vadot default-state = "keep"; 111*ae5de77eSEmmanuel Vadot }; 112*ae5de77eSEmmanuel Vadot 113*ae5de77eSEmmanuel Vadot led@1 { 114*ae5de77eSEmmanuel Vadot reg = <1>; 115*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 116*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_LAN; 117*ae5de77eSEmmanuel Vadot function-enumerator = <1>; 118*ae5de77eSEmmanuel Vadot default-state = "keep"; 119*ae5de77eSEmmanuel Vadot }; 120*ae5de77eSEmmanuel Vadot }; 121*ae5de77eSEmmanuel Vadot }; 122*ae5de77eSEmmanuel Vadot }; 123