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