Skip to content

Integrate HW-MGMT Version 7.0070.1013 - #609

Draft
DannyIsa wants to merge 2 commits into
sonic-net:202605from
DannyIsa:202605_9b183be_integrate_7.0070.1013_2026-08-12
Draft

Integrate HW-MGMT Version 7.0070.1013#609
DannyIsa wants to merge 2 commits into
sonic-net:202605from
DannyIsa:202605_9b183be_integrate_7.0070.1013_2026-08-12

Conversation

@DannyIsa

@DannyIsa DannyIsa commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Why I did it

Integrate HW-MGMT 7.0070.1013 changes into the SONiC kernel on the 202605 branch.

This branch was at HW-MGMT 7.0060.1002, several versions behind, so this PR brings in the patches from 7.0060.1047, 7.0070.1004 and 7.0070.1013.

What's in this PR

Commit 1 — Integrate HW-MGMT 7.0070.1013 patches

Adds the following patches:

  • 0060-leds-mlxreg-Provide-conversion-for-hardware-LED-colo...: report the correct LED colour in sysfs while the LED is still driven by hardware.
  • 0060-platform-mellanox-nvsw-bmc-Downstream-Add-protection...: only allow the current owner (CPU or BMC) to set the I2C mux, so I2C traffic is not cut off.
  • 0061-platform-mellanox-mlxreg-io-Increase-max-supported-a...: raise the maximum number of mlxreg-io attributes from 128 to 250 for newer platforms.
  • 0062-Add-support-for-NXP-s-PCF85053A-RTC-chip...: add a driver for the NXP PCF85053A I2C real-time clock.
  • 0063-reset-phy-using-polling-function-not-register-write...: reset the Realtek PHY by polling until the reset completes instead of writing the reset bit and continuing, which caused intermittent initialisation failures.
  • 0064-hwmon-pmbus-isl68137-Add-support-for-Renesas-RAA2289...: add the I2C device IDs for the Renesas RAA228942 and RAA228943 regulators. Already upstream as 7c760db74c9f.
  • 8014-mlxsw-i2c-Downstream-Increase-I2C-timeout-for-HW-sem...: raise the I2C timeout from 5s to 10s. A firmware diagnostic operation can pause the device for around five seconds, which previously produced a spurious "HW semaphore is not released" error even though the device recovers normally.

BMC patches (for sonic-aspeed):

  • 0001-mctp-driver-net-Extend-MCTP-support...: add further MCTP transports together with tracepoints, transport statistics and error-injection test helpers.
  • 0002-mctp-aspeed-IRoT-Add-initial-support...: add an MCTP transport over the hardware mailbox on Aspeed AST27xx.
  • 0003-mctp-driver-net-Add-global-APIs-for-MCTP...: export the MCTP tracepoints so transport drivers can be built as loadable modules.
  • 0004-mctp-driver-net-Fix-MCTP-over-VDM-PCIe...: add the missing module metadata and use IS_ENABLED() so the VDM/PCIe transport works when built as a module.
  • 0005-mctp-driver-net-Fix-MCTP-over-USB...: account TX errors that cannot be attributed to a single destination EID separately, and add the f_mctp USB gadget function.
  • 0006-jtag-Add-JTAG-core-headers-GPIO-mux-and-locking-support...: add the JTAG core headers, GPIO mux control, single-open locking and the Aspeed internal JTAG driver.
  • 0007-JTAG-Aspeed-Fix-kernel-configuration...: source drivers/jtag/Kconfig from drivers/Kconfig and build drivers/jtag/ on CONFIG_JTAG, so the JTAG options are selectable and actually compiled.
  • 0008-arm64-dts-aspeed-spc6-bmc-ext-phram-env-tpm-i3c-pull...: in the Aspeed AST2700 BMC device tree, reserve a small phram region so the U-Boot environment survives warm boots, and fix TPM GPIO init, GPIO expander reset and I3C pull-ups.
  • 0009-arm64-dts-aspeed-split-SPC6-BMC-DTS-for-SONiC-and-Op...: build separate SONiC and OpenBMC device trees from the shared BMC DTS. OpenBMC boots its rootfs from SPI via phram; SONiC boots from eMMC and does not. Keeping the OpenBMC ramrofs reservation in the SONiC DTB overlaps the kernel load window and breaks early boot.
  • 0010-net-ftgmac100-hard-reset-mac-for-sgmii...: hard-reset the MAC on SGMII links to clear an RX stall.
  • 0011-arm64-dts-aspeed-spc6-bmc-fix-sgmii-phy-names...: fix the mac2 SGMII phy-names property.
  • 0012-usb-ehci-Add-Aspeed-AST2700-support...: select a 64-bit DMA mask for the AST2700 EHCI controller, which unlike earlier Aspeed SoCs is not limited to 32-bit DMA addressing. Already upstream as 274f2232a94f.

Updated patch:

  • 0046-platform-mellanox-nvsw-bmc-Add-system-control-and-mo...: update the BMC system control and monitoring driver for 7.0070.1013.

Removed patch:

  • 0001-mlxbf-bootctl-Constify-struct-bin_attribute...: no longer part of the HW-MGMT patch set. The change is upstream as 8ba0e61861ab.

Note: apart from 0064 and 0012 above, the patches in this series are downstream platform patches that have not been sent upstream for review, and are marked Upstream-Status: Pending.

Commit 2 — Enable BMC Kconfig for sonic-aspeed

Populates the nvidia_aspeed_bmc block in config.sonic-aspeed with the 86 options required by the BMC patches above. The 202605 branch did not carry this block yet, so the change is purely additive — nothing is removed or altered.

The options cover: the MCTP stack and its I2C/I3C/IRoT transports; JTAG; the Aspeed AST2700 platform (clocks, mailbox, eSPI, LPC snoop, SGPIO, UART routing, USB and SPI); networking (FTGMAC100, Realtek PHY, fixed-PHY settings, USB gadget ethernet); sensors (ADT7475, SBTSI, SBRMI, EMC1403, LM25066, MP2855/MP2888/MP2975, mlxreg fan); platform drivers (mlxreg-io, hotplug, LEDs, watchdog, BMC HID); the PCF85053A RTC added by 0062; the I2C/I3C controllers and muxes; and MTD phram backing the U-Boot environment reserved by 0008.

How I did it

Run make integrate-mlnx-hw-mgmt.

How to verify it

Build an image and run tests from sonic-mgmt.

Signed-off-by: Daniel Isakov disakov@nvidia.com

Important

This PR depends on #28973 and must not be merged before it.

Update the SONiC kernel patch stack on the 202605 branch from HW-MGMT
7.0060.1002 to 7.0070.1013. This branch was several versions behind, so
the series covers 7.0060.1047, 7.0070.1004 and 7.0070.1013.

Added patches:

* 0060-leds-mlxreg-Provide-conversion-for-hardware-LED-colo.patch:
  report the correct LED colour in sysfs while the LED is still driven
  by hardware.
* 0060-platform-mellanox-nvsw-bmc-Downstream-Add-protection.patch:
  only allow the current owner (CPU or BMC) to set the I2C mux, so I2C
  traffic is not cut off.
* 0061-platform-mellanox-mlxreg-io-Increase-max-supported-a.patch:
  raise the maximum number of mlxreg-io attributes from 128 to 250 for
  newer platforms.
* 0062-Add-support-for-NXP-s-PCF85053A-RTC-chip.patch:
  add a driver for the NXP PCF85053A I2C real-time clock.
* 0063-reset-phy-using-polling-function-not-register-write.patch:
  reset the Realtek PHY by polling until the reset completes instead of
  writing the reset bit and continuing, which caused intermittent
  initialisation failures.
* 0064-hwmon-pmbus-isl68137-Add-support-for-Renesas-RAA2289.patch:
  add the I2C device IDs for the Renesas RAA228942 and RAA228943
  regulators.
  Upstream: 7c760db74c9f ("hwmon: (pmbus/isl68137) Add support for
  Renesas RAA228942 and RAA228943")
* 8014-mlxsw-i2c-Downstream-Increase-I2C-timeout-for-HW-sem.patch:
  raise the I2C timeout from 5000 to 10000 ms. A firmware diagnostic
  operation can pause the device for around five seconds, which
  previously produced a spurious "HW semaphore is not released" error
  even though the device recovers normally.

Added BMC patches (sonic-aspeed):

* 0001-mctp-driver-net-Extend-MCTP-support.patch:
  add further MCTP transports together with tracepoints, transport
  statistics and error-injection test helpers.
* 0002-mctp-aspeed-IRoT-Add-initial-support.patch:
  add an MCTP transport over the hardware mailbox on Aspeed AST27xx.
* 0003-mctp-driver-net-Add-global-APIs-for-MCTP.patch:
  export the MCTP tracepoints so transport drivers can be built as
  loadable modules.
* 0004-mctp-driver-net-Fix-MCTP-over-VDM-PCIe.patch:
  add the missing module metadata and use IS_ENABLED() so the VDM/PCIe
  transport works when built as a module.
* 0005-mctp-driver-net-Fix-MCTP-over-USB.patch:
  account TX errors that cannot be attributed to a single destination
  EID separately, and add the f_mctp USB gadget function.
* 0006-jtag-Add-JTAG-core-headers-GPIO-mux-and-locking-support.patch:
  add the JTAG core headers, GPIO mux control, single-open locking and
  the Aspeed internal JTAG driver.
* 0007-JTAG-Aspeed-Fix-kernel-configuration.patch:
  source drivers/jtag/Kconfig from drivers/Kconfig and build
  drivers/jtag/ on CONFIG_JTAG, so the JTAG options are selectable and
  actually compiled.
* 0008-arm64-dts-aspeed-spc6-bmc-ext-phram-env-tpm-i3c-pull.patch:
  in the Aspeed AST2700 BMC device tree, reserve a small phram region so
  the U-Boot environment survives warm boots, and fix TPM GPIO init,
  GPIO expander reset and I3C pull-ups.
* 0009-arm64-dts-aspeed-split-SPC6-BMC-DTS-for-SONiC-and-Op.patch:
  build separate SONiC and OpenBMC device trees from the shared BMC DTS.
  OpenBMC boots its rootfs from SPI via phram; SONiC boots from eMMC and
  does not. Keeping the OpenBMC ramrofs reservation in the SONiC DTB
  overlaps the kernel load window and breaks early boot.
* 0010-net-ftgmac100-hard-reset-mac-for-sgmii.patch:
  hard-reset the MAC on SGMII links to clear an RX stall.
* 0011-arm64-dts-aspeed-spc6-bmc-fix-sgmii-phy-names.patch:
  fix the mac2 SGMII phy-names property.
* 0012-usb-ehci-Add-Aspeed-AST2700-support.patch:
  select a 64-bit DMA mask for the AST2700 EHCI controller, which unlike
  earlier Aspeed SoCs is not limited to 32-bit DMA addressing.
  Upstream: 274f2232a94f ("usb: ehci: Add Aspeed AST2700 support")

Updated patches:

* 0046-platform-mellanox-nvsw-bmc-Add-system-control-and-mo.patch:
  update the BMC system control and monitoring driver for 7.0070.1013.

Removed patches:

* 0001-mlxbf-bootctl-Constify-struct-bin_attribute.patch:
  no longer part of the HW-MGMT patch set. The change is upstream as
  8ba0e61861ab ("mlxbf-bootctl: Constify 'struct bin_attribute'").

Signed-off-by: Daniel Isakov <disakov@nvidia.com>
Populate the nvidia_aspeed_bmc block in
config.local/arm64/config.sonic-aspeed with the 86 options required by
the BMC patches added in this series. The 202605 branch did not carry
this block yet, so the change is purely additive.

The options cover the MCTP stack and its I2C, I3C and IRoT transports;
JTAG; the Aspeed AST2700 platform (clocks, mailbox, eSPI, LPC snoop,
SGPIO, UART routing, USB and SPI); networking (FTGMAC100, Realtek PHY,
fixed-PHY settings and the USB gadget ethernet functions); sensors
(ADT7475, SBTSI, SBRMI, EMC1403, LM25066, MP2855, MP2888, MP2975 and the
mlxreg fan driver); platform drivers (mlxreg-io, hotplug, LEDs, watchdog
and the BMC HID driver); the PCF85053A RTC added by 0062; the I2C and
I3C controllers and muxes; and MTD phram backing the U-Boot environment
reserved by 0008.

Signed-off-by: Daniel Isakov <disakov@nvidia.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@DannyIsa
DannyIsa force-pushed the 202605_9b183be_integrate_7.0070.1013_2026-08-12 branch from 6d6ead5 to 09f678c Compare August 12, 2026 08:30
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants