Skip to content

[202608] Code sync from sonic-linux-kernel 202605 to 202608 - #75

Open
yijingyan2 wants to merge 2 commits into
Azure:202608from
yijingyan2:202608-code-sync
Open

[202608] Code sync from sonic-linux-kernel 202605 to 202608#75
yijingyan2 wants to merge 2 commits into
Azure:202608from
yijingyan2:202608-code-sync

Conversation

@yijingyan2

Copy link
Copy Markdown

Sync changes from the upstream 202605 branch into the Microsoft 202608 branch.

Changes

  • Integrate HW-MGMT version 7.0070.1013.
  • Add NVIDIA SPC6 BMC device-tree and platform updates.
  • Add AST2700 EHCI support and FTGMAC100 SGMII reset handling.
  • Enable CONFIG_MTD_PHRAM in the Aspeed ARM64 configuration.
  • Add support for Renesas RAA2289 PMBus devices.
  • Increase the mlxsw I²C timeout for hardware semaphore handling.
  • Update the NVIDIA BMC system-control and monitoring patch.
  • Remove the obsolete mlxbf-bootctl constification patch.
  • Update the patch series with the newly synchronized patches.

Conflict Resolution

Conflicts were resolved by preserving the existing Linux 6.12/AST2700 changes on 202608 while incorporating the functional HW-MGMT and NVIDIA BMC updates from 202605. Duplicate Aspeed series sections were avoided.

* Integrate HW-MGMT 7.0070.1013 patches

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>

* Enable BMC Kconfig for sonic-aspeed (HW-MGMT 7.0070.1013)

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>

* Remove duplicate options from the sonic-aspeed BMC Kconfig block

Eight of the options added to the nvidia_aspeed_bmc block in
config.local/arm64/config.sonic-aspeed are already set to the same value
earlier in the same file: CONFIG_MCTP, CONFIG_SPI_ASPEED_TXRX,
CONFIG_ASPEED_MCTP, CONFIG_COMMON_CLK_AST2700, CONFIG_GPIO_ASPEED_SGPIO,
CONFIG_ASPEED_LPC_SNOOP, CONFIG_AST2700_ESPI and
CONFIG_ASPEED_UART_ROUTING.

Drop the repeated entries. All eight options stay enabled, so the
resulting kernel configuration is unchanged.

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

* Address review: move CONFIG_MODVERSIONS out of the BMC block, drop FAT options

CONFIG_MODVERSIONS is not BMC specific, so move it out of the
nvidia_aspeed_bmc block into the common part of the file.

CONFIG_MSDOS_FS and CONFIG_FAT_DEFAULT_UTF8 are not needed by the BMC
stack, so remove them.

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

---------

Signed-off-by: Daniel Isakov <disakov@nvidia.com>
Signed-off-by: Yijing Yan <yijingyan@microsoft.com>
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