Aw: [U-Boot, v3, 1/1]net: phy: Add the Airoha EN8811H PHY driver

Marek Vasut marek.vasut at mailbox.org
Mon Jul 21 18:19:54 CEST 2025


On 7/21/25 5:26 PM, frank-w at public-files.de wrote:
> Hi
> 
>> Gesendet: Sonntag, 20. Juli 2025 um 14:28
>> Von: "Lucien.Jheng" <lucienzx159 at gmail.com>
>> Betreff: [U-Boot, v3, 1/1]net: phy: Add the Airoha EN8811H PHY driver
>>
>> Add the driver for the Airoha EN8811H 2.5 Gigabit PHY. The PHY supports
>> 100/1000/2500 Mbps with auto negotiation only.
>>
>> The driver uses two firmware files, for which updated versions are added to
>> linux-firmware already.
>>
>> Locating the AIROHA FW within the filesystem at the designated partition
>> and path will trigger its automatic loading and writing to the PHY via MDIO.
>> If need board specific loading override,
>> please override the en8811h_read_fw function on board or architecture level.
>>
>> Linux upstream AIROHA EN8811H driver commit:
>> 71e79430117d56c409c5ea485a263bc0d8083390
>>
>> Based on the Linux upstream AIROHA EN8811H driver code(air_en8811h.c),
>> I have modified the relevant process to align with the U-Boot boot sequence.
>> and have validated this on Banana Pi BPI-R3 Mini.
>>
>> Signed-off-by: Lucien.Jheng <lucienzx159 at gmail.com>
>> ---
>> Change in PATCH v3:
>> air_en8811h.c:
>>   * Add U-Boot environment variable(en8811h_fw_part, en8811h_fw_dm_dir, en8811h_fw_dsp_dir)
>>     support for firmware loading.
> 
> Thank you lucien for taking care of this driver...

Indeed, and thank you for the patience.

>>   drivers/net/phy/Kconfig       |  25 +
>>   drivers/net/phy/Makefile      |   1 +
>>   drivers/net/phy/air_en8811h.c | 880 ++++++++++++++++++++++++++++++++++
>>   3 files changed, 906 insertions(+)
>>   create mode 100644 drivers/net/phy/air_en8811h.c
>>
>> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
>> index 8d88c142900..9f12238e1ea 100644
>> --- a/drivers/net/phy/Kconfig
>> +++ b/drivers/net/phy/Kconfig
>> @@ -79,6 +79,31 @@ config PHY_ADIN
>>   	help
>>   		Add support for configuring RGMII on Analog Devices ADIN PHYs.
>>
>> +menuconfig PHY_AIROHA
>> +	bool "Airoha Ethernet PHYs support"
>> +
>> +config PHY_AIROHA_EN8811H
>> +	bool "Airoha Ethernet EN8811H support"
>> +	depends on PHY_AIROHA
>> +	help
>> +	  AIROHA EN8811H supported.
>> +
>> +choice
>> +	prompt "Location of the Airoha PHY firmware"
>> +	default PHY_AIROHA_FW_IN_MMC
>> +	depends on PHY_AIROHA_EN8811H
>> +
>> +config PHY_AIROHA_FW_IN_MMC
>> +	bool "Airoha firmware in MMC partition"
>> +	help
>> +	  Airoha PHYs use firmware which can be loaded automatically
>> +	  from storage directly attached to the PHY, and then loaded
>> +	  via MDIO commands by the boot loader. The firmware is loaded
>> +	  from a file specified by the U-Boot environment variables
>> +	  en8811h_fw_part, en8811h_fw_dm_dir, and en8811h_fw_dsp_dir.
> 
> maybe something like PHY_AIROHA_FW_IN_SUBSYSTEM = (MMC/USB/NVME/...) as choice? or better PHY_AIROHA_FW_BY_ENV and then check env-var with default "mmc" for maximum on flexibility without recompile.
If we could use the generic loader interface, than these Kconfig symbols 
go away altogether , right ?


More information about the U-Boot mailing list