linux-gbmc(lts): 6.6 -> 6.12
Upgrade to the next lts version so we keep receiving updated patches.
Nothing is using this version in the default build, so it's trivial to
move forward.
Tested: Booted on AMD Rome, Verified that the sensors and FRU devices
look as expected. Networking is still working and we don't see systemd
service failures.
Google-Bug-Id: 324970585
Change-Id: I67a5e9bbf6c4157aa6b9494737798e4ddc02826d
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/recipes-kernel/linux/files/0001-mmc-sdhci-npcm-Add-NPCM-SDHCI-driver.patch b/recipes-kernel/linux/files/0001-mmc-sdhci-npcm-Add-NPCM-SDHCI-driver.patch
deleted file mode 100644
index df18845..0000000
--- a/recipes-kernel/linux/files/0001-mmc-sdhci-npcm-Add-NPCM-SDHCI-driver.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From b0868a9b4606304a0a70e8f60e53a313776ef74f Mon Sep 17 00:00:00 2001
-From: Tomer Maimon <tmaimon77@gmail.com>
-Date: Mon, 2 Oct 2023 23:06:10 +0300
-Subject: [PATCH] mmc: sdhci-npcm: Add NPCM SDHCI driver
-
-Add Nuvoton NPCM BMC sdhci-pltfm controller driver.
-
-Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
-Link: https://lore.kernel.org/r/20231002200610.129799-3-tmaimon77@gmail.com
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-(cherry picked from commit 0ebebb21c48408bfa96a6fb18aa1a5bb543e2312)
-Patch Tracking Bug: b/310037171
-Upstream-Status: Accepted
-Justification: Required for nuvoton BMCs
----
- drivers/mmc/host/Kconfig | 8 +++
- drivers/mmc/host/Makefile | 1 +
- drivers/mmc/host/sdhci-npcm.c | 94 +++++++++++++++++++++++++++++++++++
- 3 files changed, 103 insertions(+)
- create mode 100644 drivers/mmc/host/sdhci-npcm.c
-
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 554e67103c1a..3999d4fddc73 100644
---- a/drivers/mmc/host/Kconfig
-+++ b/drivers/mmc/host/Kconfig
-@@ -429,6 +429,14 @@ config MMC_SDHCI_IPROC
-
- If unsure, say N.
-
-+config MMC_SDHCI_NPCM
-+ tristate "Secure Digital Host Controller Interface support for NPCM"
-+ depends on ARCH_NPCM || COMPILE_TEST
-+ depends on MMC_SDHCI_PLTFM
-+ help
-+ This provides support for the SD/eMMC controller found in
-+ NPCM BMC family SoCs.
-+
- config MMC_MESON_GX
- tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support"
- depends on ARCH_MESON|| COMPILE_TEST
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index a693fa3d3f1c..d0be4465f3ec 100644
---- a/drivers/mmc/host/Makefile
-+++ b/drivers/mmc/host/Makefile
-@@ -89,6 +89,7 @@ obj-$(CONFIG_MMC_SDHCI_OF_DWCMSHC) += sdhci-of-dwcmshc.o
- obj-$(CONFIG_MMC_SDHCI_OF_SPARX5) += sdhci-of-sparx5.o
- obj-$(CONFIG_MMC_SDHCI_BCM_KONA) += sdhci-bcm-kona.o
- obj-$(CONFIG_MMC_SDHCI_IPROC) += sdhci-iproc.o
-+obj-$(CONFIG_MMC_SDHCI_NPCM) += sdhci-npcm.o
- obj-$(CONFIG_MMC_SDHCI_MSM) += sdhci-msm.o
- obj-$(CONFIG_MMC_SDHCI_ST) += sdhci-st.o
- obj-$(CONFIG_MMC_SDHCI_MICROCHIP_PIC32) += sdhci-pic32.o
-diff --git a/drivers/mmc/host/sdhci-npcm.c b/drivers/mmc/host/sdhci-npcm.c
-new file mode 100644
-index 000000000000..5bf9d18f364e
---- /dev/null
-+++ b/drivers/mmc/host/sdhci-npcm.c
-@@ -0,0 +1,94 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * NPCM SDHC MMC host controller driver.
-+ *
-+ * Copyright (c) 2023 Nuvoton Technology corporation.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/err.h>
-+#include <linux/io.h>
-+#include <linux/mmc/host.h>
-+#include <linux/mmc/mmc.h>
-+#include <linux/mod_devicetable.h>
-+#include <linux/module.h>
-+#include <linux/of.h>
-+
-+#include "sdhci-pltfm.h"
-+
-+static const struct sdhci_pltfm_data npcm7xx_sdhci_pdata = {
-+ .quirks = SDHCI_QUIRK_DELAY_AFTER_POWER,
-+ .quirks2 = SDHCI_QUIRK2_STOP_WITH_TC |
-+ SDHCI_QUIRK2_NO_1_8_V,
-+};
-+
-+static const struct sdhci_pltfm_data npcm8xx_sdhci_pdata = {
-+ .quirks = SDHCI_QUIRK_DELAY_AFTER_POWER,
-+ .quirks2 = SDHCI_QUIRK2_STOP_WITH_TC,
-+};
-+
-+static int npcm_sdhci_probe(struct platform_device *pdev)
-+{
-+ const struct sdhci_pltfm_data *data;
-+ struct sdhci_pltfm_host *pltfm_host;
-+ struct device *dev = &pdev->dev;
-+ struct sdhci_host *host;
-+ u32 caps;
-+ int ret;
-+
-+ data = of_device_get_match_data(dev);
-+ if (!data)
-+ return -EINVAL;
-+
-+ host = sdhci_pltfm_init(pdev, data, 0);
-+ if (IS_ERR(host))
-+ return PTR_ERR(host);
-+
-+ pltfm_host = sdhci_priv(host);
-+
-+ pltfm_host->clk = devm_clk_get_optional_enabled(dev, NULL);
-+ if (IS_ERR(pltfm_host->clk)) {
-+ ret = PTR_ERR(pltfm_host->clk);
-+ goto err_sdhci;
-+ }
-+
-+ caps = sdhci_readl(host, SDHCI_CAPABILITIES);
-+ if (caps & SDHCI_CAN_DO_8BIT)
-+ host->mmc->caps |= MMC_CAP_8_BIT_DATA;
-+
-+ ret = mmc_of_parse(host->mmc);
-+ if (ret)
-+ goto err_sdhci;
-+
-+ ret = sdhci_add_host(host);
-+ if (ret)
-+ goto err_sdhci;
-+
-+ return 0;
-+
-+err_sdhci:
-+ sdhci_pltfm_free(pdev);
-+ return ret;
-+}
-+
-+static const struct of_device_id npcm_sdhci_of_match[] = {
-+ { .compatible = "nuvoton,npcm750-sdhci", .data = &npcm7xx_sdhci_pdata },
-+ { .compatible = "nuvoton,npcm845-sdhci", .data = &npcm8xx_sdhci_pdata },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(of, npcm_sdhci_of_match);
-+
-+static struct platform_driver npcm_sdhci_driver = {
-+ .driver = {
-+ .name = "npcm-sdhci",
-+ .of_match_table = npcm_sdhci_of_match,
-+ .pm = &sdhci_pltfm_pmops,
-+ },
-+ .probe = npcm_sdhci_probe,
-+ .remove_new = sdhci_pltfm_remove,
-+};
-+module_platform_driver(npcm_sdhci_driver);
-+
-+MODULE_DESCRIPTION("NPCM Secure Digital Host Controller Interface driver");
-+MODULE_AUTHOR("Tomer Maimon <tomer.maimon@nuvoton.com>");
-+MODULE_LICENSE("GPL");
---
-2.42.0.869.gea05f2083d-goog
-
diff --git a/recipes-kernel/linux/files/0001-pinctrl-npcm7xx-prevent-glitch-when-setting-the-GPIO.patch b/recipes-kernel/linux/files/0001-pinctrl-npcm7xx-prevent-glitch-when-setting-the-GPIO.patch
deleted file mode 100644
index 4f9682e..0000000
--- a/recipes-kernel/linux/files/0001-pinctrl-npcm7xx-prevent-glitch-when-setting-the-GPIO.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 43d61f90a54f6eb440a77449213754b0c738ca50 Mon Sep 17 00:00:00 2001
-From: Tomer Maimon <tmaimon77@gmail.com>
-Date: Mon, 8 May 2023 13:02:35 +0300
-Subject: [PATCH] pinctrl: npcm7xx: prevent glitch when setting the GPIO to
- output high
-
-Enable GPIO output after setting the output value to prevent a glitch
-when pinctrl driver sets gpio pin to output high and the pin is in
-the default state (high->low->high).
-
-Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
-Signed-off-by: William A. Kennington III <william@wkennington.com>
----
- drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c b/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
-index 1e658721aaba..62a46d824b46 100644
---- a/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
-+++ b/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
-@@ -1790,8 +1790,8 @@ static int npcm7xx_config_set_one(struct npcm7xx_pinctrl *npcm,
- bank->direction_input(&bank->gc, pin % bank->gc.ngpio);
- break;
- case PIN_CONFIG_OUTPUT:
-- iowrite32(gpio, bank->base + NPCM7XX_GP_N_OES);
- bank->direction_output(&bank->gc, pin % bank->gc.ngpio, arg);
-+ iowrite32(gpio, bank->base + NPCM7XX_GP_N_OES);
- break;
- case PIN_CONFIG_DRIVE_PUSH_PULL:
- npcm_gpio_clr(&bank->gc, bank->base + NPCM7XX_GP_N_OTYP, gpio);
---
-2.43.0.rc0.421.g78406f8d94-goog
-
diff --git a/recipes-kernel/linux/linux-gbmc_lts.bb b/recipes-kernel/linux/linux-gbmc_lts.bb
index ec25221..0f23e0c 100644
--- a/recipes-kernel/linux/linux-gbmc_lts.bb
+++ b/recipes-kernel/linux/linux-gbmc_lts.bb
@@ -1,27 +1,31 @@
require linux-gbmc.inc
KERNEL_VERSION_SANITY_SKIP = "1"
-LINUX_MAJOR = "6.6"
-LINUX_VERSION = "${LINUX_MAJOR}.42"
+LINUX_MAJOR = "6.12"
+LINUX_VERSION = "${LINUX_MAJOR}.16"
PV = "lts-${LINUX_VERSION}"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
S = "${WORKDIR}/linux-${LINUX_MAJOR}"
SRC_URI:prepend = " \
- ${KERNELORG_MIRROR}/linux/kernel/v6.x/linux-${LINUX_MAJOR}.tar.xz;sha256sum=d926a06c63dd8ac7df3f86ee1ffc2ce2a3b81a2d168484e76b5b389aba8e56d0 \
- ${KERNELORG_MIRROR}/linux/kernel/v6.x/patch-${LINUX_VERSION}.xz;sha256sum=ee862116da0f361ce3d569547557e6d308b0f7228733bfc81b52eadcad9acdb5 \
+ ${KERNELORG_MIRROR}/linux/kernel/v6.x/linux-${LINUX_MAJOR}.tar.xz;sha256sum=b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb \
+ ${KERNELORG_MIRROR}/linux/kernel/v6.x/patch-${LINUX_VERSION}.xz;sha256sum=befcc91870534b297f35ac6cfc861ab8ecc0f97d4e96c442904c731d4a0f3ae7 \
"
SRC_URI:append = " \
file://0001-jffs2-add-RENAME_EXCHANGE-support.patch \
file://0001-mux-Make-it-possible-to-select-MULTIPLEXER-if-EXPERT.patch \
file://0001-ARM-npcm-Add-CPU-hotplug-callbacks-for-kexec-support.patch \
- file://0001-mmc-sdhci-npcm-Add-NPCM-SDHCI-driver.patch \
- file://0001-pinctrl-npcm7xx-prevent-glitch-when-setting-the-GPIO.patch \
- file://0001-hwmon-Add-driver-for-MPS-MPQ8785-Synchronous-Step-Do.patch \
- file://0001-hwmon-pmbus-Add-ltc4286-driver.patch \
file://0001-hwmon-max34451-Workaround-for-lost-page.patch \
+ file://0001-ARM-dts-nuvoton-Add-UDC-nodes.patch \
+ file://0001-i2c-npcm-correct-the-read-write-operation-procedure.patch \
+ file://0002-i2c-npcm-use-a-software-flag-to-indicate-a-BER-condi.patch \
+ file://0003-i2c-npcm-Modify-timeout-evaluation-mechanism.patch \
+ file://0004-i2c-npcm-Assign-client-address-earlier-for-i2c_recov.patch \
+ file://0005-i2c-npcm-use-i2c-frequency-table.patch \
+ file://0006-i2c-npcm-Enable-slave-in-eob-interrupt.patch \
+ file://DOWNSTREAM_0001-i2c-npcm-speed-set.patch \
"
# Newer kernels don't have HGPIO in pinctrl names