[PATCH RESEND 4/4] doc: bindings: add Aquantia PHY node's "firmware-name" binding
Beiyan Yun
root at infi.wang
Fri Sep 26 11:30:03 CEST 2025
> On 26 Sep 2025, at 4:22 PM, Beiyan Yun <root at infi.wang> wrote:
>
>
>
>> On 23 Sep 2025, at 8:44 PM, Yao Zi <ziyao at disroot.org <mailto:ziyao at disroot.org>> wrote:
>>
>> On Tue, Sep 23, 2025 at 03:13:01PM +0800, Beiyan Yun wrote:
>>> With the switch to generic firmware loader, "firmware-name" binding
>>> was introduced to define the firmware filename.
>>> Provide the document and usage examples.
>>>
>>> Signed-off-by: Beiyan Yun <root at infi.wang <mailto:root at infi.wang> <mailto:root at infi.wang>>
>>
>> IMO this patch should go before the driver change.
>>
>>> ---
>>>
>>> doc/device-tree-bindings/net/aquantia-phy.txt | 30 +++++++++++++++++++
>>> 1 file changed, 30 insertions(+)
>>>
>>> diff --git a/doc/device-tree-bindings/net/aquantia-phy.txt b/doc/device-tree-bindings/net/aquantia-phy.txt
>>> index 7dd3d45df12..1227c04d04f 100644
>>> --- a/doc/device-tree-bindings/net/aquantia-phy.txt
>>> +++ b/doc/device-tree-bindings/net/aquantia-phy.txt
>>> @@ -11,15 +11,45 @@ a custom firmware is needed for each integration of a PHY.
>>> Several optional bindings are defined that allow these configuration points to
>>> be driven by the PHY driver and reduce dependency on specific FW versions.
>>>
>>> +Aquantia PHY's firmware is often provided by PHY-resident SPI flash; if absent
>>> +or outdated, U-Boot can upload firmware over MDIO during PHY initialization.
>>> +The driver uploads only when the PHY reports missing firmware or a fault.
>>> +
>>> Optional properties:
>>> mdi-reversal: 0 or 1 indicating that reversal must be disabled/enabled.
>>> Firmware default is used if the property is missing.
>>> smb-addr: I2C/SMBus address to use, firmware default is used if the property
>>> is missing.
>>> +firmware-name: String containing the filename of the PHY firmware to load
>>> + (only when CONFIG_PHY_AQUANTIA_UPLOAD_FW is enabled).
>>
>> This looks good to me, but I have a question: should we switch to the
>> upstream binding for aquantia phys? It's already documented as
>> marvell,aquantia.yaml, and we could avoid the burden of maintaining a
>> separate binding file.
>>
>> The "firmware-name" property is already described in the upstream
>> marvell,aquantia.yaml, and it only misses the smb-addr property. The
>> only U-Boot boards making use of this property are fsl-sch-30841 and
>> fsl-sch-30842, thus such conversion shouldn't be a big job.
>
> Good point. I’ll add a bit more info in related Kconfig options and drop the doc.
Hmm, I’m a bit lost. Here’s some of my concerns:
- Upstream binding has an optional nvmem cell as firmware source, such mechanism
simply doesn’t exist in U-Boot. This could be misleading.
- About “smb-addr”, what’s the best move? Do we upstream them to Linux?
Any idea on how to fix these issues?
Thanks,
Beiyan Yun
>
>>
>> Best regards,
>> Yao Zi
>>
>>> Example node:
>>> phy at 00 {
>>> reg = <0x00>;
>>> mdi-reversal = <1>;
>>> smb-addr = <0x25>;
>>> + firmware-name = "aqr-firmware.cld";
>>> +};
>>> +
>>> +Example using the generic firmware loader:
>>> +/ {
>>> + chosen {
>>> + /* Select default firmware loader instance */
>>> + firmware-loader = &fs_loader0;
>>> + };
>>> +
>>> + fs_loader0: fs-loader at 0 {
>>> + bootph-all;
>>> + compatible = "u-boot,fs-loader";
>>> + /* Load from MMC0, partition 1 */
>>> + phandlepart = <&mmc_0 1>;
>>> + };
>>> +
>>> + mdio {
>>> + phy at 0 {
>>> + reg = <0>;
>>> + /* Load this file via the selected fs-loader */
>>> + firmware-name = "aqr-firmware.cld";
>>> + };
>>> + };
>>> };
>>> --
>>> 2.47.3
>
> Cheers,
> Beiyan Yun
More information about the U-Boot
mailing list