# Copyright (c) 2019 Interay Solutions B.V.
# Copyright (c) 2019 Oane Kingma
# SPDX-License-Identifier: Apache-2.0

description: SiLabs Gecko Ethernet

compatible: "silabs,gecko-ethernet"

include: ethernet.yaml

properties:
  reg:
    required: true
    description: mmio register space

  interrupts:
    required: true
    description: required interrupts

  # PHY address
  phy-address:
    type: int
    required: true
    description: address of the PHY on the MDIO bus

  # RMII interface location
  location-rmii:
    type: int
    required: true
    description: location of RMII pins, configuration defined as <location>

  # PHY management interface location
  location-mdio:
    type: int
    required: true
    description: location of MDC and MDIO pins, configuration defined as <location>

  # PHY management pins
  location-phy_mdc:
    type: array
    required: true
    description: PHY MDC individual pin configuration defined as <location port pin>

  location-phy_mdio:
    type: array
    required: true
    description: PHY MDIO individual pin configuration defined as <location port pin>

  # RMII interface pins
  location-rmii_refclk:
    type: array
    required: true
    description: Reference clock individual pin configuration defined as <location port pin>

  location-rmii_crs_dv:
    type: array
    required: true
    description: Receive data valid individual pin configuration defined as <location port pin>

  location-rmii_txd0:
    type: array
    required: true
    description: Transmit data 0 individual pin configuration defined as <location port pin>

  location-rmii_txd1:
    type: array
    required: true
    description: Transmit data 1 individual pin configuration defined as <location port pin>

  location-rmii_tx_en:
    type: array
    required: true
    description: Transmit enable individual pin configuration defined as <location port pin>

  location-rmii_rxd0:
    type: array
    required: true
    description: Receive data 0 individual pin configuration defined as <location port pin>

  location-rmii_rxd1:
    type: array
    required: true
    description: Receive data 1 individual pin configuration defined as <location port pin>

  location-rmii_rx_er:
    type: array
    required: true
    description: Receive error individual pin configuration defined as <location port pin>

  # PHY control pins
  location-phy_pwr_enable:
    type: array
    description: PHY power enable individual pin configuration defined as <port pin>

  location-phy_reset:
    type: array
    description: PHY reset individual pin configuration defined as <port pin>

  location-phy_interrupt:
    type: array
    description: PHY interrupt individual pin configuration defined as <port pin>
