blob: e952420f7f0c90ef51bd9a3f272fe2850635cf55 [file] [log] [blame]
# Copyright 2024 Robert Slawinski <robert.slawinski1@gmail.com>
# SPDX-License-Identifier: Apache-2.0
# Davicom PHY DM8806 driver configuration options
menuconfig PHY_DM8806
bool "Davicom PHY DM8806 driver"
default y
depends on DT_HAS_DAVICOM_DM8806_PHY_ENABLED
depends on MDIO
help
Enable driver for Davicom DM8806 PHY.
if PHY_DM8806
choice PHY_DM8806_TRIGGER_MODE
prompt "Trigger mode"
default PHY_DM8806_TRIGGER_GLOBAL_THREAD
help
Specify the type of triggering to be used by the driver.
config PHY_DM8806_TRIGGER_NONE
bool "No trigger"
config PHY_DM8806_TRIGGER_GLOBAL_THREAD
bool "Use global thread"
depends on GPIO
select PHY_DM8806_TRIGGER
endchoice
config PHY_DM8806_ENERGY_EFFICIENT_MODE
bool "Energy efficient mode"
help
By default in DM8806, the energy efficient mode is enabled.
It had been observed that the network randomly fails when
this mode is on. Thus, this symbol is by default disabled.
config PHY_DM8806_TRIGGER
bool
config PHY_DM8806_THREAD_PRIORITY
int "Thread priority"
depends on PHY_DM8806_TRIGGER_GLOBAL_THREAD
default 13
help
Priority of thread used by the driver to handle interrupts.
config PHY_DM8806_THREAD_STACK_SIZE
int "Thread stack size"
depends on PHY_DM8806_TRIGGER_GLOBAL_THREAD
default 1024
help
Stack size of thread used by the driver to handle interrupts.
config PHY_DM8806_SMI_BUS_CHECK
bool "Host SMI bus error check function"
default y
help
This functionality prevents the host SMI bus to be interferered by the
noise on board-level. During write procedure, the written value in
register will be applied until the correct checksum is written. In read
procedure, the hardware calculated checksum is compared with the software
calculated one to detect correctness of received data.
config PHY_DM8806_SMI_BUS_CHECK_REPETITION
int "SMI bus transmission repetitions"
depends on PHY_DM8806_SMI_BUS_CHECK
default 5
help
The numbers of SMI bus transmission repetition in case if CRC checksum
fails during read or write. After this numbers of repetition, the reading
message is dropped and will not be passed to the system. In write
procedure, the written value in register will be applied until the correct
checksum is written to the PHY register.
endif # PHY_DM8806