| # Kconfig - Atmel SAM Ethernet (GMAC) driver configuration options |
| # |
| # Copyright (c) 2016 Piotr Mienkowski |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| menuconfig ETH_SAM_GMAC |
| bool "Atmel SAM Ethernet driver" |
| depends on SOC_FAMILY_SAM |
| select NOCACHE_MEMORY |
| help |
| Enable Atmel SAM MCU Family Ethernet driver. |
| |
| if ETH_SAM_GMAC |
| |
| config ETH_SAM_GMAC_NAME |
| string "Device name" |
| default "ETH_0" |
| help |
| Device name allows user to obtain a handle to the device object |
| required by all driver API functions. Device name has to be unique. |
| |
| config ETH_SAM_GMAC_QUEUES |
| int "Number of hardware TX and RX queues" |
| default 1 |
| range 1 3 |
| help |
| Select the number of hardware queues used by the driver. Packets will be |
| routed to appropriate queues based on their priority. |
| |
| config ETH_SAM_GMAC_BUF_RX_COUNT |
| int "Network RX buffers preallocated by the SAM ETH driver" |
| default 12 |
| help |
| Number of network buffers that will be permanently allocated by the |
| Ethernet driver. These buffers are used in receive path. They are |
| preallocated by the driver and made available to the GMAC module to be |
| filled in with incoming data. Their number has to be large enough to fit |
| at least one complete Ethernet frame. SAM ETH driver will always allocate |
| that amount of buffers for itself thus reducing the NET_BUF_RX_COUNT |
| which is a total amount of RX data buffers used by the whole networking |
| stack. One has to ensure that NET_PKT_RX_COUNT is large enough to |
| fit at least two Ethernet frames: one being received by the GMAC module |
| and the other being processed by the higher layer networking stack. |
| |
| config ETH_SAM_GMAC_IRQ_PRI |
| int "Interrupt priority" |
| default 0 |
| help |
| IRQ priority of Ethernet device |
| |
| choice ETH_SAM_GMAC_MAC_SELECT |
| prompt "MAC address" |
| help |
| Choose how to configure MAC address. |
| |
| config ETH_SAM_GMAC_MAC_MANUAL |
| bool "Manual" |
| help |
| Assign an arbitrary MAC address. |
| |
| config ETH_SAM_GMAC_MAC_I2C_EEPROM |
| bool "Read from an I2C EEPROM" |
| help |
| Read MAC address from an I2C EEPROM. |
| |
| config ETH_SAM_GMAC_RANDOM_MAC |
| bool "Random MAC address" |
| help |
| Generate a random MAC address dynamically. |
| |
| endchoice |
| |
| if ETH_SAM_GMAC_MAC_MANUAL |
| |
| config ETH_SAM_GMAC_MAC0 |
| hex "MAC Address Byte 0" |
| default 0 |
| range 0 0xff |
| |
| config ETH_SAM_GMAC_MAC1 |
| hex "MAC Address Byte 1" |
| default 0 |
| range 0 0xff |
| |
| config ETH_SAM_GMAC_MAC2 |
| hex "MAC Address Byte 2" |
| default 0 |
| range 0 0xff |
| |
| config ETH_SAM_GMAC_MAC3 |
| hex "MAC Address Byte 3" |
| default 0 |
| range 0 0xff |
| |
| config ETH_SAM_GMAC_MAC4 |
| hex "MAC Address Byte 4" |
| default 0 |
| range 0 0xff |
| |
| config ETH_SAM_GMAC_MAC5 |
| hex "MAC Address Byte 5" |
| default 0 |
| range 0 0xff |
| |
| endif # ETH_SAM_GMAC_MAC_MANUAL |
| |
| if ETH_SAM_GMAC_MAC_I2C_EEPROM |
| |
| config ETH_SAM_GMAC_MAC_I2C_SLAVE_ADDRESS |
| hex "I2C 7-bit EEPROM chip address" |
| range 0 0xff |
| help |
| I2C 7-bit address of the EEPROM chip. |
| |
| config ETH_SAM_GMAC_MAC_I2C_INT_ADDRESS |
| hex "I2C EEPROM internal address" |
| range 0 0xffffffff |
| help |
| Internal address of the EEPROM chip where the MAC address is stored. |
| Chips with 1 to 4 byte internal address size are supported. Address |
| size has to be configured in a separate Kconfig option. |
| |
| config ETH_SAM_GMAC_MAC_I2C_INT_ADDRESS_SIZE |
| int "I2C EEPROM internal address size" |
| default 1 |
| range 1 4 |
| help |
| Size (in bytes) of the internal EEPROM address. |
| |
| config ETH_SAM_GMAC_MAC_I2C_DEV_NAME |
| string "I2C bus driver device name" |
| help |
| Device name, e.g. I2C_0, of an I2C bus driver device. It is required to |
| obtain handle to the I2C device object. |
| |
| endif # ETH_SAM_GMAC_MAC_I2C_EEPROM |
| |
| choice |
| prompt "MII/RMII Interface to the Physical Layer" |
| |
| config ETH_SAM_GMAC_RMII |
| bool "RMII" |
| |
| config ETH_SAM_GMAC_MII |
| bool "MII" |
| endchoice |
| |
| config ETH_SAM_GMAC_PHY_ADDR |
| int "GMAC PHY Address" |
| default 0 |
| help |
| GMAC PHY Address as used by IEEE 802.3, Section 2 MII compatible PHY |
| transceivers. If you have a single PHY on board it is safe to leave it |
| at 0 which is the broadcast address. |
| |
| config PTP_CLOCK_SAM_GMAC |
| bool "SAM GMAC PTP clock driver support" |
| default y |
| select PTP_CLOCK |
| depends on NET_GPTP |
| help |
| Enable SAM GMAC PTP Clock support. |
| |
| endif # ETH_SAM_GMAC |