From patchwork Wed Apr 22 14:30:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226507 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=qZ7KD6Z0; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11rL19Fqz1y2d for ; Thu, 23 Apr 2026 00:31:46 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4BDD28423D; Wed, 22 Apr 2026 16:31:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qZ7KD6Z0"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3499B83E76; Wed, 22 Apr 2026 16:31:33 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com [IPv6:2607:f8b0:4864:20::c2a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9409683E76 for ; Wed, 22 Apr 2026 16:31:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-6949192b840so1071919eaf.3 for ; Wed, 22 Apr 2026 07:31:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868289; x=1777473089; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SQpv5V24mxw7Ap8Eu0xG5upTdupkPhXVEKoFv2dN7Q0=; b=qZ7KD6Z0TewEzD6Xixmo2iQK3+bW+OSVQGCWvMdygrUq7D6Lt+UJ5ciSTC6ZvNtCPy yPgF9/5eQc/TisgmEW7Ei/C4tnDACj1Jx/va3vZSnyE85Lc5cXxSZT6yNjkzj0xZ5s/C B7jOjyU0/iagzqWyTLpaFxzyBJ+zMk4pkvHpJhoDwzGYMKZ1Dl/ZcxHF6VskdugBvOLD ShdOpuvv19r/fnIOWnT3CAvOGpiPl4+ZafI8qBfQ00yLL1eKyrbTiNXic0YOo1/5UMAj tKX2UFsWM9FpS5ry5dpE3AnnM6uBWLz3DsDecoRzHQZCC4NjWyPFSlZWT275K2D2Ymrq L62g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868289; x=1777473089; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=SQpv5V24mxw7Ap8Eu0xG5upTdupkPhXVEKoFv2dN7Q0=; b=PlJzuKQrywmzPDy2JqUfxozcF9FfLcG7AwnuQduIBtKWiQrXX1Gf+CpzIBepAAS9sM KaUE0FbFqp33jxCZX3lr9rVJ7a3alIk5HgAvEfGCf7sPT0Mf51ipiJXNS/8qrwXC90oi e2Mt6Baa2bUDVLHMgf8fL01JzWjzOSuOCDHWJlOUGt3DQnkaZfb6f1PV9Vv8ARGL7aj1 GNWDdp3HBDOYWZ/7jb4ibBq9jyv+DNHRTYyiT1b5JoGdTUNqhAE8El9/XJZ/kaKiGLdM lzr8+T6VRtn2fcDHl74TtpqX7uqmE4q+pSk1/DmxKnq6ZNkyrk0qs6oSRzkITdfPsAgn viKQ== X-Gm-Message-State: AOJu0YxJHxPV8giOpY/TOXTPvYIfAPnN+BZCplS26T8PKesAf1Xll4Tr gQHFv9rdz7hED8kgDRNZn/N0vdyOzQGO6oiWTBCT3aDKMlgvIBiDFNNkrZigzdwRw9Y= X-Gm-Gg: AeBDieuCtxU2DDf/bRpvBgpKnAk3Bko76ohqpdOqVwNPJ0M4CfPdzYDyqe1fA6IRq+t KMjHOssw3LfZnQlMHnLMqmrkoo9lohdfvl01GIaE43YAMOh4m4pft2yu7tH+1gzqwbc29R8OxQZ v+BQK4A+FfD2qTcOwwPYw6sPkNqbdP4o5EoPsmXYXxfDl9MduAu4nnLOSAS7NvtPmMTjSq3yT7K 6HCiPNVnRnu1utmUix5h33LexJUJvPqkMKNLnjtAbG9EL0RJGt+37PNMzFpP/4F0W2ZO2WE569e OgFOQzNrQp54x4Mb4RxyquFClc0sUU4chwThzgO6cSOONxo8Xhn0/KVUCz1Oy6bFS+vR+Wb68TA NchHLZ5zbce2G+xkuOvPHd18dJPJLthLVKAxfNqSq7cMgGewdGMm3iSLm6mjJ/u95MitvUFNCow DtSx9nH5j4wBCKPFUNncB2tNbe259ea8mEDjtqWX1IcZM732DNW+N82i99niauQ+98UrWXo1xA8 rmaj9B0Ejaa7jwCCc36iA== X-Received: by 2002:a05:6820:858c:10b0:680:89db:fd78 with SMTP id 006d021491bc7-69462e2042dmr8200563eaf.1.1776868288908; Wed, 22 Apr 2026 07:31:28 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:28 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 01/16] gpio: add gpio driver for Spacemit K1 SoC Date: Wed, 22 Apr 2026 10:30:57 -0400 Message-Id: <20260422143112.1329478-2-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Enable gpio driver for Spacemit K1 SoC. Signed-off-by: Raymond Mao --- drivers/gpio/Kconfig | 8 ++ drivers/gpio/Makefile | 1 + drivers/gpio/spacemit_gpio.c | 217 +++++++++++++++++++++++++++++++++++ 3 files changed, 226 insertions(+) create mode 100644 drivers/gpio/spacemit_gpio.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 1484dd3504c..b51886d41f3 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -449,6 +449,14 @@ config SANDBOX_GPIO_COUNT of 'anonymous' GPIOs that do not belong to any device or bank. Select a suitable value depending on your needs. +config SPACEMIT_GPIO + bool "Spacemit K1 GPIO driver" + depends on DM_GPIO && TARGET_SPACEMIT_K1 + help + Support the GPIO device in Spacemit SoCs. The GPIOs are arranged + into a number of banks (different for each SoC type) each with 32 + GPIOs. + config SUNXI_GPIO bool "Allwinner GPIO driver" depends on ARCH_SUNXI diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index fec258f59f5..7760aa8e11a 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -66,6 +66,7 @@ obj-$(CONFIG_MVEBU_GPIO) += mvebu_gpio.o obj-$(CONFIG_MSM_GPIO) += msm_gpio.o obj-$(CONFIG_$(PHASE_)PCF8575_GPIO) += pcf8575_gpio.o obj-$(CONFIG_$(PHASE_)QCOM_PMIC_GPIO) += qcom_pmic_gpio.o qcom_spmi_gpio.o +obj-$(CONFIG_$(PHASE_)SPACEMIT_GPIO) += spacemit_gpio.o obj-$(CONFIG_MT7620_GPIO) += mt7620_gpio.o obj-$(CONFIG_MT7621_GPIO) += mt7621_gpio.o obj-$(CONFIG_MSCC_SGPIO) += mscc_sgpio.o diff --git a/drivers/gpio/spacemit_gpio.c b/drivers/gpio/spacemit_gpio.c new file mode 100644 index 00000000000..02a13bd8bce --- /dev/null +++ b/drivers/gpio/spacemit_gpio.c @@ -0,0 +1,217 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2025-2026 RISCstar Ltd. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define GPIO_BANK_SIZE 32 +#define GPIO_TO_BANK(pin) ((pin) / GPIO_BANK_SIZE) +#define GPIO_TO_BIT(pin) ((pin) % GPIO_BANK_SIZE) + +static inline int gpio_to_reg_offset(unsigned int pin) +{ + unsigned int bank = GPIO_TO_BANK(pin); + + if (bank == 0) + return 0; + else if (bank == 1) + return 4; + else if (bank == 2) + return 8; + else if (bank == 3) + return 0x100; + log_warning("Use default GPIO bank for an invalid GPIO[%d].\n", pin); + return 0; +} + +#define REG_PLR(pin) (0x00 + gpio_to_reg_offset(pin)) +#define REG_PDR(pin) (0x0c + gpio_to_reg_offset(pin)) +#define REG_PSR(pin) (0x18 + gpio_to_reg_offset(pin)) +#define REG_PCR(pin) (0x24 + gpio_to_reg_offset(pin)) +#define REG_SDR(pin) (0x54 + gpio_to_reg_offset(pin)) +#define REG_CDR(pin) (0x60 + gpio_to_reg_offset(pin)) + +struct spacemit_gpio_data { + u16 gpio_base; + u16 gpio_count; + u8 num_banks; +}; + +struct spacemit_gpio_priv { + void __iomem *regs; +}; + +static int spacemit_gpio_xlate(struct udevice *dev, struct gpio_desc *desc, + struct ofnode_phandle_args *args) +{ + struct spacemit_gpio_data *data; + u32 bank, offset, flags; + + data = (struct spacemit_gpio_data *)dev_get_driver_data(dev); + if (args->args_count < 3) { + dev_err(dev, "Invalid args count: %d, expected 3\n", + args->args_count); + return -EINVAL; + } + bank = args->args[0]; + offset = args->args[1]; + flags = args->args[2]; + + if (bank >= data->num_banks) { + dev_err(dev, "Invalid gpio bank: %u (max %u)\n", + bank, data->num_banks - 1); + return -EINVAL; + } + if (offset >= GPIO_BANK_SIZE) { + dev_err(dev, "Invalid offset: %u (max 31)\n", offset); + return -EINVAL; + } + desc->offset = bank * GPIO_BANK_SIZE + offset; + desc->flags = flags; + return 0; +} + +static int spacemit_gpio_get_value(struct udevice *dev, unsigned int offset) +{ + struct spacemit_gpio_priv *priv = dev_get_priv(dev); + void __iomem *addr; + u32 value, mask; + + addr = priv->regs + REG_PLR(offset); + value = readl(addr); + mask = 1 << GPIO_TO_BIT(offset); + return !!(value & mask); +} + +static int spacemit_gpio_get_function(struct udevice *dev, unsigned int offset) +{ + struct spacemit_gpio_priv *priv = dev_get_priv(dev); + void __iomem *addr; + u32 value, mask; + + addr = priv->regs + REG_PDR(offset); + value = readl(addr); + mask = 1 << GPIO_TO_BIT(offset); + if (value & mask) + return GPIOF_OUTPUT; + return GPIOF_INPUT; +} + +static int spacemit_gpio_get_flags(struct udevice *dev, unsigned int offset, + ulong *flagsp) +{ + ulong flags = 0; + u32 dir; + + dir = spacemit_gpio_get_function(dev, offset); + if (dir) { + flags |= GPIOD_IS_OUT; + if (spacemit_gpio_get_value(dev, offset)) + flags |= GPIOD_IS_OUT_ACTIVE; + } else { + flags |= GPIOD_IS_IN; + } + *flagsp = flags; + return 0; +} + +static int spacemit_gpio_set_flags(struct udevice *dev, unsigned int offset, + ulong flags) +{ + struct spacemit_gpio_priv *priv = dev_get_priv(dev); + void __iomem *addr; + int value; + + value = (flags & GPIOD_IS_OUT_ACTIVE) ? 1 : 0; + if (flags & GPIOD_IS_IN) { + addr = priv->regs + REG_CDR(offset); + writel(1 << GPIO_TO_BIT(offset), addr); + } + if (flags & GPIOD_IS_OUT) { + if (value) { + addr = priv->regs + REG_PSR(offset); + writel(1 << GPIO_TO_BIT(offset), addr); + } else { + addr = priv->regs + REG_PCR(offset); + writel(1 << GPIO_TO_BIT(offset), addr); + } + addr = priv->regs + REG_SDR(offset); + writel(1 << GPIO_TO_BIT(offset), addr); + } + return 0; +} + +static const struct dm_gpio_ops spacemit_gpio_ops = { + .request = pinctrl_gpio_request, + .rfree = pinctrl_gpio_free, + .xlate = spacemit_gpio_xlate, + .get_value = spacemit_gpio_get_value, + .get_function = spacemit_gpio_get_function, + .get_flags = spacemit_gpio_get_flags, + .set_flags = spacemit_gpio_set_flags, +}; + +static int spacemit_gpio_probe(struct udevice *dev) +{ + struct spacemit_gpio_priv *priv; + struct spacemit_gpio_data *data; + struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev); + struct clk_bulk clks; + int ret; + + data = (struct spacemit_gpio_data *)dev_get_driver_data(dev); + priv = dev_get_priv(dev); + priv->regs = dev_read_addr_ptr(dev); + if (!priv->regs) { + dev_err(dev, "Fail to get base address\n"); + return -EINVAL; + } + uc_priv->bank_name = "GPIO"; + uc_priv->gpio_count = data->gpio_count; + uc_priv->gpio_base = data->gpio_base; + + ret = clk_get_bulk(dev, &clks); + if (ret) { + dev_err(dev, "Fail to get bulk clks\n"); + return ret; + } + ret = clk_enable_bulk(&clks); + if (ret) { + dev_err(dev, "Fail to enable bulk clks\n"); + goto out; + } + return 0; +out: + clk_release_bulk(&clks); + return ret; +} + +static const struct spacemit_gpio_data k1_gpio_data = { + .num_banks = 4, + .gpio_count = 128, + .gpio_base = 0, +}; + +static const struct udevice_id spacemit_gpio_ids[] = { + { .compatible = "spacemit,k1-gpio", .data = (uintptr_t)&k1_gpio_data, }, + { /* sentinel */ } +}; + +U_BOOT_DRIVER(k1_gpio) = { + .name = "spacemit_k1_gpio", + .id = UCLASS_GPIO, + .of_match = spacemit_gpio_ids, + .ops = &spacemit_gpio_ops, + .priv_auto = sizeof(struct spacemit_gpio_priv), + .probe = spacemit_gpio_probe, +}; From patchwork Wed Apr 22 14:30:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226508 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=l9kFJGGA; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11rX2ZCmz1y2d for ; Thu, 23 Apr 2026 00:31:56 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F0021842C7; Wed, 22 Apr 2026 16:31:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="l9kFJGGA"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B710684312; Wed, 22 Apr 2026 16:31:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8EF8F842CE for ; Wed, 22 Apr 2026 16:31:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x835.google.com with SMTP id d75a77b69052e-50d6b9bca48so71254771cf.2 for ; Wed, 22 Apr 2026 07:31:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868292; x=1777473092; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IRj5nJ7FHCTpew7h6huIRAeng6HEU8UKlf2+PFarWi8=; b=l9kFJGGASNiQkkVsNrXZGH6pCiEgTNs3hJKhwSl1dqyyyPuVRpIrfBbvTXypUpzsIQ mrLfjj5XKm/EKqT0ESWidlpAR4+8kFj+p0chSGseH1BQIFK0mfdcmRHNkQwo0BuX5oGk /TZ3MuvjPGoETRRll9zwCGWrJLQBZd7udcCk1451K8p7Tx4aUlEaqusvbNxkjcnY17Yg Bi6d/IvAO7CrFSke98k54QfhzPQohjIU726in697pSR5GngMvOiJ3X0KP0sArPXqsmmv b1dPRLuxplOPBSPSlf7fchWkXx9rf54ibOl8Ah2RuvKMT9We4IOzJkuOEjr7b0uDRt4Z hXcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868292; x=1777473092; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=IRj5nJ7FHCTpew7h6huIRAeng6HEU8UKlf2+PFarWi8=; b=WgdGVnGSfqruDXl+VjfV9lixlYEdYwBeaHxy7vnsvOdjDQEtj36Ks5nch1fqMsd2+X 27qSMJGJrp6putjZF8dmI9E5cyxuKdW+4l2sCz1mBf4W42GflxveJQ56xvX7E+vnlOUK dTWLGjaiPeJpbp/xP0nPu/LH6jNDBoa+K0pl3U6gAAFVi8sQlB9hjeN8y6v+8VNboLi6 H7zY+ofDnfVFDb04PnGz1wwp1lp8g54I9nyMO6m2p9gntTYLOu3k0cIxcShfmbj82EYP 5MHTLLGsR9uMBUJnf/MrA+rKhIp0GPTV0Tjx0kH5MnmlPP+Yuvj2cMF4sm8VU6iF/isD pdPQ== X-Gm-Message-State: AOJu0YxoAq9Cw9ALgcKmX8ej5AS+jD2y1EvozXkrcq/rlhC6iaCqMpG+ 7/Yt7eBvblbdhRmBhDrPnIEuZgPR+NyN8hD9X/98eRYgeCE4dcD8Hq9PFiNIs8sh X-Gm-Gg: AeBDietYYEt7KvtacwN8UK8K1n7O2agIFuuuFrmg8MLJMaZkaS79kahThBcStdr+Xgz 0upUP8keD9kzk7mKjQqqRnmeO61+j+mL3+gRxKmFCl5L15acp8vPiyag3mqkFIM3ZG0nm35Mk6m +KdolqnhAnopc3R3COlAPMCLO/k0BvE7qiKKUlq1hQhYxmcn2K29qCCWZpmISK+tZZ4XdrQYZBf dCZvo4oJg2okoNfwerq/d2OjqspMIw6enZuvMayyTIbdj+5V/ypd40DmrXRCnMX9U6OCPidnN2Y CprBJdJ/oKM0Zcb5Kg6N+noD9SWQaTFLP6vnKOARtuq7Rze2I4BUwRez0slE6bAwD8nCMx11m9j aNEfNrO/qEMb382brfI8DssCbaykDeHUaG9EqLRiQ9Ci619MFc7HzZ0Z4Ow87cQW4vy2NlWluUz 0bJhYUNUhh812krbrfDSHWqE6Sl32KIEnewlHSzj35nl84OcDnhYmlVnQBAMr8E6J0zZmtEgLxA sXlfJdZ1BH9EeI9kcOlMQ== X-Received: by 2002:a05:622a:5ce:b0:50d:8389:c3f3 with SMTP id d75a77b69052e-50e36d9c15fmr323811581cf.54.1776868291663; Wed, 22 Apr 2026 07:31:31 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:31 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 02/16] pinctrl: add pinctrl driver for Spacemit K1 SoC Date: Wed, 22 Apr 2026 10:30:58 -0400 Message-Id: <20260422143112.1329478-3-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Add pinctrl driver for Spacemit K1 SoC. Signed-off-by: Raymond Mao --- drivers/pinctrl/Kconfig | 1 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/spacemit/Kconfig | 9 + drivers/pinctrl/spacemit/Makefile | 2 + drivers/pinctrl/spacemit/pinctrl-k1.c | 550 ++++++++++++++++++++++++++ 5 files changed, 563 insertions(+) create mode 100644 drivers/pinctrl/spacemit/Kconfig create mode 100644 drivers/pinctrl/spacemit/Makefile create mode 100644 drivers/pinctrl/spacemit/pinctrl-k1.c diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index 578edbf8168..a3abe0ea04d 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig @@ -419,6 +419,7 @@ source "drivers/pinctrl/nxp/Kconfig" source "drivers/pinctrl/qcom/Kconfig" source "drivers/pinctrl/renesas/Kconfig" source "drivers/pinctrl/rockchip/Kconfig" +source "drivers/pinctrl/spacemit/Kconfig" source "drivers/pinctrl/sunxi/Kconfig" source "drivers/pinctrl/tegra/Kconfig" source "drivers/pinctrl/uniphier/Kconfig" diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile index 29fb9b484d0..ece7a57767c 100644 --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile @@ -33,6 +33,7 @@ obj-$(CONFIG_PINCTRL_SCMI) += pinctrl-scmi.o obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o obj-$(CONFIG_PINCTRL_STI) += pinctrl-sti.o obj-$(CONFIG_PINCTRL_STM32) += pinctrl_stm32.o +obj-$(CONFIG_$(PHASE_)PINCTRL_SPACEMIT_K1) += spacemit/ obj-$(CONFIG_$(PHASE_)PINCTRL_SX150X) += pinctrl-sx150x.o obj-$(CONFIG_$(PHASE_)PINCTRL_STMFX) += pinctrl-stmfx.o obj-$(CONFIG_PINCTRL_TH1520) += pinctrl-th1520.o diff --git a/drivers/pinctrl/spacemit/Kconfig b/drivers/pinctrl/spacemit/Kconfig new file mode 100644 index 00000000000..6aab89e160c --- /dev/null +++ b/drivers/pinctrl/spacemit/Kconfig @@ -0,0 +1,9 @@ +config PINCTRL_SPACEMIT_K1 + bool "Spacemit K1 SoC pinctrl driver" + depends on PINCTRL_GENERIC && DM + help + Supports pin multiplexing control on Spacemit K1 SoCs. + + The driver is controlled by a device tree node which contains both + the GPIO definitions and pin control functions for each available + multiplex function. diff --git a/drivers/pinctrl/spacemit/Makefile b/drivers/pinctrl/spacemit/Makefile new file mode 100644 index 00000000000..0dc43c72cb1 --- /dev/null +++ b/drivers/pinctrl/spacemit/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-y += pinctrl-k1.o diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacemit/pinctrl-k1.c new file mode 100644 index 00000000000..a6a22eacac7 --- /dev/null +++ b/drivers/pinctrl/spacemit/pinctrl-k1.c @@ -0,0 +1,550 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2024 Yixun Lan + * Copyright (c) 2025-2026 RISCstar Ltd. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * +---------+----------+-----------+--------+--------+----------+--------+ + * | pull | drive | schmitter | slew | edge | strong | mux | + * | up/down | strength | trigger | rate | detect | pull | mode | + * +---------+----------+-----------+--------+--------+----------+--------+ + * 3 bits 3 bits 2 bits 1 bit 3 bits 1 bit 3 bits + */ + +#define PAD_MUX GENMASK(2, 0) +#define PAD_STRONG_PULL BIT(3) +#define PAD_EDGE_RISE BIT(4) +#define PAD_EDGE_FALL BIT(5) +#define PAD_EDGE_CLEAR BIT(6) +#define PAD_SLEW_RATE GENMASK(12, 11) +#define PAD_SLEW_RATE_EN BIT(7) +#define PAD_SCHMITT GENMASK(9, 8) +#define PAD_DRIVE GENMASK(12, 10) +#define PAD_PULLDOWN BIT(13) +#define PAD_PULLUP BIT(14) +#define PAD_PULL_EN BIT(15) + +#define PIN_POWER_STATE_1V8 1800 +#define PIN_POWER_STATE_3V3 3300 + +enum spacemit_pin_io_type { + IO_TYPE_NONE = 0, + IO_TYPE_1V8, + IO_TYPE_3V3, + IO_TYPE_EXTERNAL, +}; + +struct spacemit_pin_io { + unsigned int pin : 12; // 0~4095 + unsigned int io_type : 4; // 0~15 + unsigned int ds : 8; // 0~255 + unsigned int reserved : 8; +}; + +struct spacemit_pinctrl_data { + struct spacemit_pin_io *io_pins; + int nr_io_pins; + + void __iomem * (*pin_to_reg)(struct udevice *dev, unsigned int pin); + int (*get_gpio_mux)(struct udevice *dev, unsigned int pin); + int (*get_pins)(struct udevice *dev); + int (*get_functions)(struct udevice *dev); + int (*get_io_type)(struct udevice *dev, unsigned int pin); +}; + +struct spacemit_pinctrl_priv { + void __iomem *regs; + struct spacemit_pin_io *io_pins; + int nr_io_pins; +}; + +struct spacemit_pin_mux_config { + const struct spacemit_pin *pin; + u32 config; +}; + +struct spacemit_pin_drv_strength { + unsigned int val : 8; + unsigned int ma : 16; + unsigned int reserved : 8; +}; + +static char pin_name[PINNAME_SIZE]; + +/* External: IO voltage via external source, can be 1.8V or 3.3V */ +static struct spacemit_pin_io k1_io_pins[] = { + { 47, IO_TYPE_EXTERNAL, 0, }, + { 48, IO_TYPE_EXTERNAL, 0, }, + { 49, IO_TYPE_EXTERNAL, 0, }, + { 50, IO_TYPE_EXTERNAL, 0, }, + { 51, IO_TYPE_EXTERNAL, 0, }, + { 52, IO_TYPE_EXTERNAL, 0, }, + { 75, IO_TYPE_EXTERNAL, 0, }, + { 76, IO_TYPE_EXTERNAL, 0, }, + { 77, IO_TYPE_EXTERNAL, 0, }, + { 78, IO_TYPE_EXTERNAL, 0, }, + { 79, IO_TYPE_EXTERNAL, 0, }, + { 80, IO_TYPE_EXTERNAL, 0, }, + { 98, IO_TYPE_EXTERNAL, 0, }, + { 99, IO_TYPE_EXTERNAL, 0, }, + { 100, IO_TYPE_EXTERNAL, 0, }, + { 101, IO_TYPE_EXTERNAL, 0, }, + { 102, IO_TYPE_EXTERNAL, 0, }, + { 103, IO_TYPE_EXTERNAL, 0, }, + { 104, IO_TYPE_EXTERNAL, 0, }, + { 105, IO_TYPE_EXTERNAL, 0, }, + { 106, IO_TYPE_EXTERNAL, 0, }, + { 107, IO_TYPE_EXTERNAL, 0, }, + { 108, IO_TYPE_EXTERNAL, 0, }, + { 109, IO_TYPE_EXTERNAL, 0, }, +}; + +static inline int k1_get_pins(struct udevice *dev) +{ + return 128; +} + +static inline int k1_get_functions(struct udevice *dev) +{ + return 7; +} + +// The pin number equals to the gpio number. +static void __iomem *k1_pin_to_reg(struct udevice *dev, unsigned int pin) +{ + struct spacemit_pinctrl_priv *priv = dev_get_priv(dev); + unsigned int offset = 1; + + if (pin < 86) { + offset += pin; + } else if (pin < 93) { + offset += pin + 36; + } else if (pin < 98) { + offset += pin + 23; + } else if (pin == 98) { // QSPI_DAT3 + offset += 92; + } else if (pin == 99) { // QSPI_DAT2 + offset += 91; + } else if (pin == 100) { // QSPI_DAT1 + offset += 90; + } else if (pin == 101) { // QSPI_DAT0 + offset += 89; + } else if (pin == 102) { // QSPI_CLK + offset += 94; + } else if (pin == 103) { // QSPI_CS1 + offset += 93; + } else if (pin < 111) { + offset += pin + 5; + } else if (pin < 128) { + offset += pin + 19; + } else { + dev_err(dev, "Invalid pin (%u)\n", pin); + return NULL; + } + return priv->regs + (offset << 2); +} + +static int k1_get_gpio_mux(struct udevice *dev, unsigned int selector) +{ + u32 mux = 0; + + if (selector < 70) { + mux = 0; + } else if (selector < 74) { + mux = 1; + } else if (selector < 93) { + mux = 0; + } else if (selector < 104) { + mux = 1; + } else if (selector < 110) { + mux = 4; + } else if (selector < 128) { + mux = 0; + } else { + dev_err(dev, "Invalid pin (%u)\n", selector); + return -EINVAL; + } + return mux; +} + +static int k1_get_io_type(struct udevice *dev, unsigned int selector) +{ + if (selector < 47) + return IO_TYPE_1V8; + else if (selector < 53) + return IO_TYPE_EXTERNAL; + else if (selector < 75) + return IO_TYPE_1V8; + else if (selector < 81) + return IO_TYPE_EXTERNAL; + else if (selector < 98) + return IO_TYPE_1V8; + else if (selector < 110) + return IO_TYPE_EXTERNAL; + else if (selector < 128) + return IO_TYPE_1V8; + return -EINVAL; +} + +/* use IO high level output current as the table */ +static struct spacemit_pin_drv_strength spacemit_ds_1v8_tbl[4] = { + { 0, 11 }, + { 2, 21 }, + { 4, 32 }, + { 6, 42 }, +}; + +static struct spacemit_pin_drv_strength spacemit_ds_3v3_tbl[8] = { + { 0, 7 }, + { 2, 10 }, + { 4, 13 }, + { 6, 16 }, + { 1, 19 }, + { 3, 23 }, + { 5, 26 }, + { 7, 29 }, +}; + +static inline u8 spacemit_get_ds_value(struct spacemit_pin_drv_strength *tbl, + u32 num, u32 ma) +{ + int i; + + for (i = 0; i < num; i++) + if (ma <= tbl[i].ma) + return tbl[i].val; + + return tbl[num - 1].val; +} + +static inline u32 spacemit_get_ds_ma(struct spacemit_pin_drv_strength *tbl, + u32 num, u32 val) +{ + int i; + + for (i = 0; i < num; i++) + if (val == tbl[i].val) + return tbl[i].ma; + + return 0; +} + +static inline u8 spacemit_get_drive_strength(enum spacemit_pin_io_type type, + u32 ma) +{ + switch (type) { + case IO_TYPE_1V8: + return spacemit_get_ds_value(spacemit_ds_1v8_tbl, + ARRAY_SIZE(spacemit_ds_1v8_tbl), + ma); + case IO_TYPE_3V3: + return spacemit_get_ds_value(spacemit_ds_3v3_tbl, + ARRAY_SIZE(spacemit_ds_3v3_tbl), + ma); + default: + return 0; + } +} + +static inline u32 spacemit_get_drive_strength_ma(enum spacemit_pin_io_type type, + u32 value) +{ + switch (type) { + case IO_TYPE_1V8: + return spacemit_get_ds_ma(spacemit_ds_1v8_tbl, + ARRAY_SIZE(spacemit_ds_1v8_tbl), + value & 0x6); + case IO_TYPE_3V3: + return spacemit_get_ds_ma(spacemit_ds_3v3_tbl, + ARRAY_SIZE(spacemit_ds_3v3_tbl), + value); + default: + return 0; + } +} + +static inline u16 spacemit_dt_get_pin(u32 value) +{ + return value >> 16; +} + +static inline u16 spacemit_dt_get_pin_mux(u32 value) +{ + return value & GENMASK(15, 0); +} + +static int spacemit_get_pins_count(struct udevice *dev) +{ + struct spacemit_pinctrl_data *data; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + if (!data || !data->get_pins) + return -EINVAL; + return data->get_pins(dev); +} + +static const char *spacemit_get_pin_name(struct udevice *dev, + unsigned int selector) +{ + struct spacemit_pinctrl_data *data; + unsigned int npins; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + if (!data || !data->get_pins) + return NULL; + npins = data->get_pins(dev); + + if (selector >= npins) + snprintf(pin_name, PINNAME_SIZE, "Error"); + else + snprintf(pin_name, PINNAME_SIZE, "PIN%u", selector); + + return pin_name; +} + +static int spacemit_get_functions_count(struct udevice *dev) +{ + struct spacemit_pinctrl_data *data; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + if (!data || !data->get_functions) + return -EINVAL; + return data->get_functions(dev); +} + +static int spacemit_get_pin_muxing(struct udevice *dev, unsigned int pin, + char *buf, int size) +{ + struct spacemit_pinctrl_data *data; + void __iomem *addr; + u32 mux, val; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + if (!data || !data->pin_to_reg) + return -EINVAL; + + addr = data->pin_to_reg(dev, pin); + if (!addr) + return -EINVAL; + + val = readl(addr); + mux = val & PAD_MUX; + snprintf(buf, size, "[%p] 0x%08x MUX%d", addr, val, mux); + return 0; +} + +static int spacemit_pinctrl_request_gpio(struct udevice *dev, + unsigned int selector) +{ + struct spacemit_pinctrl_data *data; + void __iomem *addr; + int mux; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + if (!data || !data->pin_to_reg || !data->get_gpio_mux) + return -EINVAL; + addr = data->pin_to_reg(dev, selector); + mux = data->get_gpio_mux(dev, selector); + if (mux < 0) { + dev_err(dev, "Invalid pin (%d)\n", selector); + return -EINVAL; + } + clrsetbits_le32(addr, PAD_MUX, mux & PAD_MUX); + return 0; +} + +static int spacemit_pinctrl_free_gpio(struct udevice *dev, + unsigned int selector) +{ + return 0; +} + +static int spacemit_pinmux_set(struct udevice *dev, unsigned int pin, + unsigned int mux) +{ + struct spacemit_pinctrl_data *data; + void __iomem *addr; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + if (!data || !data->pin_to_reg) + return -EINVAL; + addr = data->pin_to_reg(dev, pin); + clrsetbits_le32(addr, PAD_MUX, mux & PAD_MUX); + return 0; +} + +static int spacemit_pinmux_property_set(struct udevice *dev, u32 pinmux_group) +{ + u32 pin, mux; + + pin = spacemit_dt_get_pin(pinmux_group); + mux = spacemit_dt_get_pin_mux(pinmux_group); + return spacemit_pinmux_set(dev, pin, mux); +} + +static const struct pinconf_param spacemit_pinconf_params[] = { + { "bias-disable", PIN_CONFIG_BIAS_DISABLE, 0 }, + { "bias-pull-down", PIN_CONFIG_BIAS_PULL_DOWN, 1 }, + { "bias-pull-up", PIN_CONFIG_BIAS_PULL_UP, 1 }, + { "drive-strength", PIN_CONFIG_DRIVE_STRENGTH, U32_MAX }, + { "power-source", PIN_CONFIG_POWER_SOURCE, U32_MAX }, +}; + +static int spacemit_pinconf_set(struct udevice *dev, unsigned int pin_selector, + unsigned int param, unsigned int argument) +{ + struct spacemit_pinctrl_data *data; + struct spacemit_pinctrl_priv *priv = dev_get_priv(dev); + void __iomem *addr; + u32 mask = 0; + unsigned int io_type; + u8 ds; + bool found; + int i; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + if (!data || !data->pin_to_reg) + return -EINVAL; + addr = data->pin_to_reg(dev, pin_selector); + switch (param) { + case PIN_CONFIG_BIAS_DISABLE: + clrbits_le32(addr, PAD_PULLUP | PAD_PULLDOWN | PAD_PULL_EN); + break; + case PIN_CONFIG_BIAS_PULL_DOWN: + mask = PAD_PULLDOWN | PAD_PULLUP | PAD_PULL_EN; + clrsetbits_le32(addr, mask, PAD_PULLDOWN | PAD_PULL_EN); + break; + case PIN_CONFIG_BIAS_PULL_UP: + mask = PAD_PULLDOWN | PAD_PULLUP | PAD_PULL_EN; + clrsetbits_le32(addr, mask, PAD_PULLUP | PAD_PULL_EN); + break; + case PIN_CONFIG_DRIVE_STRENGTH: + io_type = IO_TYPE_1V8; + for (i = 0; i < priv->nr_io_pins; i++) { + if (priv->io_pins[i].pin != pin_selector) + continue; + io_type = priv->io_pins[i].io_type; + break; + } + if (io_type != IO_TYPE_3V3 && io_type != IO_TYPE_1V8) { + dev_err(dev, "Invalid IO type (%d)\n", io_type); + return -EINVAL; + } + ds = spacemit_get_drive_strength(io_type, argument); + clrsetbits_le32(addr, PAD_DRIVE, ds); + break; + case PIN_CONFIG_POWER_SOURCE: + for (i = 0, found = false; i < priv->nr_io_pins; i++) { + if (priv->io_pins[i].pin != pin_selector) + continue; + if (argument == PIN_POWER_STATE_3V3) { + priv->io_pins[i].io_type = IO_TYPE_3V3; + found = true; + } else if (argument == PIN_POWER_STATE_1V8) { + priv->io_pins[i].io_type = IO_TYPE_1V8; + found = true; + } + break; + } + if (!found && argument != PIN_POWER_STATE_1V8) { + dev_err(dev, "Invalid power source (%d)\n", argument); + return -EINVAL; + } + break; + default: + return -EOPNOTSUPP; + } + return 0; +} + +static int spacemit_pinctrl_probe(struct udevice *dev) +{ + struct spacemit_pinctrl_data *data; + struct spacemit_pinctrl_priv *priv; + struct clk_bulk clks; + size_t size; + int ret; + + data = (struct spacemit_pinctrl_data *)dev_get_driver_data(dev); + priv = dev_get_priv(dev); + priv->regs = dev_read_addr_ptr(dev); + if (!priv->regs) { + dev_err(dev, "Fail to get base address\n"); + return -EINVAL; + } + priv->nr_io_pins = data->nr_io_pins; + size = priv->nr_io_pins * sizeof(struct spacemit_pin_io); + priv->io_pins = (struct spacemit_pin_io *)memdup(data->io_pins, size); + if (!priv->io_pins) { + dev_err(dev, "Fail to allocate memory\n"); + return -ENOMEM; + } + + ret = clk_get_bulk(dev, &clks); + if (ret) { + dev_err(dev, "Fail to get bulk clks\n"); + goto out_get_clk; + } + ret = clk_enable_bulk(&clks); + if (ret) { + dev_err(dev, "Fail to enable bulk clks\n"); + goto out_clks; + } + return 0; +out_clks: + clk_release_bulk(&clks); +out_get_clk: + free(priv->io_pins); + return ret; +} + +static const struct spacemit_pinctrl_data k1_pinctrl_data = { + .io_pins = k1_io_pins, + .nr_io_pins = ARRAY_SIZE(k1_io_pins), + .pin_to_reg = k1_pin_to_reg, + .get_gpio_mux = k1_get_gpio_mux, + .get_pins = k1_get_pins, + .get_functions = k1_get_functions, + .get_io_type = k1_get_io_type, +}; + +static const struct udevice_id spacemit_pinctrl_ids[] = { + { + .compatible = "spacemit,k1-pinctrl", + .data = (uintptr_t)&k1_pinctrl_data, + }, { /* sentinel */ } +}; + +static const struct pinctrl_ops spacemit_pinctrl_ops = { + .get_pins_count = spacemit_get_pins_count, + .get_pin_name = spacemit_get_pin_name, + .get_functions_count = spacemit_get_functions_count, + .get_pin_muxing = spacemit_get_pin_muxing, + .set_state = pinctrl_generic_set_state, + .gpio_request_enable = spacemit_pinctrl_request_gpio, + .gpio_disable_free = spacemit_pinctrl_free_gpio, + .pinmux_set = spacemit_pinmux_set, + .pinmux_property_set = spacemit_pinmux_property_set, + .pinconf_num_params = ARRAY_SIZE(spacemit_pinconf_params), + .pinconf_params = spacemit_pinconf_params, + .pinconf_set = spacemit_pinconf_set, +}; + +U_BOOT_DRIVER(spacemit_pinctrl) = { + .name = "spacemit_pinctrl", + .id = UCLASS_PINCTRL, + .of_match = spacemit_pinctrl_ids, + .ops = &spacemit_pinctrl_ops, + .priv_auto = sizeof(struct spacemit_pinctrl_priv), + .probe = spacemit_pinctrl_probe, +}; From patchwork Wed Apr 22 14:30:59 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226509 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=pB3Sr/mq; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11rg25tWz1y2d for ; Thu, 23 Apr 2026 00:32:03 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4491084310; Wed, 22 Apr 2026 16:31:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pB3Sr/mq"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7468F842E6; Wed, 22 Apr 2026 16:31:46 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com [IPv6:2607:f8b0:4864:20::c32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A4F3C842E6 for ; Wed, 22 Apr 2026 16:31:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-oo1-xc32.google.com with SMTP id 006d021491bc7-694891f8f75so1813433eaf.1 for ; Wed, 22 Apr 2026 07:31:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868296; x=1777473096; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MnmuuVOHGNPYbSHzBcQPIVg+Nn/lZvvY9kfHbpJ/f+s=; b=pB3Sr/mqcoDK5lUjs/FalP2RcePB07xyeyiBI6lZkqVJFJY4xy+2RnvTwLIokDzAD7 Cx153RE/gy9bosLoewJFU4a4fHv5z8qOq0+ejLpVjJmsqx86fzYwEVIIigFOLKLCpiRU Y+Db/4aoft5MHRIpJnUDDTpBuAptZ4FNBukOIZRrn2+jT2+K5lh5RJrxXyok1pG+qKNY eOiJg1DTZ7LlHk+eMRI3dY89mXZ3qSvVn8yJDMpMEU6hfVl0mF9It1Az9FCeeHibyptW K6RvxXydiCmKnWAAr/Pg7wJd3uPLmQ4NE8DWZGJfD7MRf8Op6ztxBAEL4GIc6OqUEPo0 DWNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868296; x=1777473096; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=MnmuuVOHGNPYbSHzBcQPIVg+Nn/lZvvY9kfHbpJ/f+s=; b=ssE3xe+1QrylPCs9n3Qux+iLWYs3Jk8pf9EHr6GRIDRiNiVBath7qci7bSODrusmc+ VBhnpYZ1R+2nRdEf7HUUOH3dzQ/Mb4HFpAp381bPo19Gd7nSEpYuW5peImbHNZgaBE60 z3HU+MWNbkFJcfmPUyH3CVeFJPeTYLjKijH0AIMFN3ve3Jvnb4S5fFGZrLgDDbRBXPh5 COq6voFNbqyvNWmSmlCLab2U7PB3zAY12yFK93IIo1dRYJrfjjz6UEXgl3roKn9xtqfq 3Io1vazk339t4ci47ckd+njiBWI3o7RzjdsVCC5A1+VbvJkpGe1E4ZfKz92qnPsTtzfg jDzQ== X-Gm-Message-State: AOJu0Yzy3a6y2AG5Les2K2Kh81w6y/8xHyRnzX4Ch5gkEMYA1fpo034n BTMEfYlHl+XWWD4i00zNK51sYY4KAD4FE+ZyzGYo4/T4nOOZt/K5xX2RclBPH9xwhrs= X-Gm-Gg: AeBDiev5EdoEzEnfalfVd3cxKujSVEz2pifSO/dcnJd3zk/1ZAtgkHe0B37NO5w2vgX tWpkLhoGB92s9NA/TsIjuLYs7fV9i7vrSyrFFThJzaaOFsCp4hUDxY/sFWdgjMRpLilpPpnONxv 5MOQL+RZNLnBs8Na4noUtzoV9g2kX2Hh12Vs8KHBMWL1p0mgP3qYcuhk+enT24zc1zSmsJj8EXz m/Yidxz5jORkDBpUorbDoIbAQyi5yLqmr5Kj//Y0TMwqRJA6EXv3AKVDqqVG2ubEw8o8BANU1ok KETWDTOge95ag3NEYuPR5onwBIMVxdCFFcENrUqPaDoBbEEoOX5Qlh6M8iFrE29mltxlO8U1UMP z9/4gKG6rd9tBsugeq7G2v0HIXQL4s6Wt5WBBNP7uRGXA828DQ32pcQbHDm8zEAYG3v9+GuUXjX 521aPAsrXev/8+2UStTefRtUJ+vUlXx0hzdNQcARBRba8SA9hnDIuuvz1npwmDp71ou0Cyvip/C eMR8i+qTCon6oS1KP/dls1b613FpKO6 X-Received: by 2002:a05:6820:210:b0:694:a225:6325 with SMTP id 006d021491bc7-694a2257567mr2318222eaf.4.1776868294293; Wed, 22 Apr 2026 07:31:34 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:33 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 03/16] dts: k1: fix gpio ranges Date: Wed, 22 Apr 2026 10:30:59 -0400 Message-Id: <20260422143112.1329478-4-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao The numbers of cells in gpio-ranges should only be 3. Signed-off-by: Raymond Mao --- arch/riscv/dts/k1.dtsi | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/arch/riscv/dts/k1.dtsi b/arch/riscv/dts/k1.dtsi index 682d2fb88e2..fc3a693a10e 100644 --- a/arch/riscv/dts/k1.dtsi +++ b/arch/riscv/dts/k1.dtsi @@ -383,10 +383,7 @@ interrupt-parent = <&plic>; interrupt-controller; #interrupt-cells = <3>; - gpio-ranges = <&pinctrl 0 0 0 32>, - <&pinctrl 1 0 32 32>, - <&pinctrl 2 0 64 32>, - <&pinctrl 3 0 96 32>; + gpio-ranges = <&pinctrl 0 0 128>; }; pwm0: pwm@d401a000 { From patchwork Wed Apr 22 14:31:00 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226510 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=NF5D8VId; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11ry0cWMz1y2d for ; Thu, 23 Apr 2026 00:32:18 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 916B3841F2; Wed, 22 Apr 2026 16:31:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NF5D8VId"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9BEE9842E6; Wed, 22 Apr 2026 16:31:47 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com [IPv6:2607:f8b0:4864:20::333]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2224F84324 for ; Wed, 22 Apr 2026 16:31:41 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-ot1-x333.google.com with SMTP id 46e09a7af769-7dbd23bc684so3172555a34.2 for ; Wed, 22 Apr 2026 07:31:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868299; x=1777473099; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YiMCHDNSaVY1pWYwMwgilc+Iec389Bar8qB956M5X4I=; b=NF5D8VIdou1UKmcjnYfDWNxibfEFUbxOTOjkxbuUtPyRiMfvii2S7ZCeYssFAxNgLo sLf5SANVUTVNED5cS70BHfvuXUAzVbWQUQspWaPVpfHZDt2c6sPAiJHfhkPBMU04/SUT ycO1sqoPDvsJVb/6pjjI4U/7ab1mZNCbBKUtzuNHArzO5ovyE3RLNRio8odgynCcbbnm 53IC767cHfkg1fX5D1aeiin28NuqsjCKIUtlpuJZgattEIakWNGci9X+7WCSoHMtUNn4 sQqg+Trrpk5qzXGZtO1QqrYDWgCp5wosl9VznP9rmGOUTg+8fNB167NK4yCu839P+wuH jGIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868299; x=1777473099; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=YiMCHDNSaVY1pWYwMwgilc+Iec389Bar8qB956M5X4I=; b=bLMGEAWYK1RHH6nuv7Or1eCSKEkz0qxlj3wYpyRYXSWTtswnbz7kihtA+XtG5ff2e4 6S4eXdLg7H6TX8CXWjHaFJ4d7uSv03h+Rin6y3pWBawi9RIy00uFXwnsrSO5SpnEavPg v7JGjMWbXYiNI+z4zfqs/p7TDl17TFUXMfdhV18Dg3LyDr+tSflIpy0PTPfmVpxex6Dq 2DFlQB2BvhkY1i0HIVY9S7ALgFLnov/dcMHDNaGV3mn4B8PrqoMvWCpMLLzAYcYqKIVi VMbVHoWIbjGpS3ICvEpILe1+Td9xy/8PnFNlxHGl+dx/vU4DFq8O68yKjST1rEbrdvzu HyCA== X-Gm-Message-State: AOJu0Yz6hav6NlDG4ryWxyXEABH93WjJRNBjDGB0gh3FTH8o7zKj4+y+ Kt91RWiGt6YJEmP6GJVo3y/xBujeMPQ2FJILRnWTMPE7JcVBvFArlXjZusOWO9PNTys= X-Gm-Gg: AeBDietjYbsRSRGCfIwCE1KGnCOGqM3sYOBtAqjgYlouvGcFYNbAPfcRldydc3mOfaZ /G2z7CTO5Wns5JmLA+pBv5e+WJS6ss73yObF2UlF+UDsZP+fDaXTuPzppv7fYFVZqdOA5ekbnoc XtiebDW7f1OApbrLQBde/+hYFhO3w9gQE8gY+ZRvmnksPDNjdgU4SrV27HdJhoD+WTGVPo9X0jw Ot3GFMS9d2b11kVhTcSboEkbp+b+95QiLoIRQb6vwIQCgz1MFKWrpcBaScYmjgVtqdT309VMDc/ ohidNaST4SeVGCJSNklArMID6gABG7i3pRxeRG1Km9A/BVUkxSlDRhhzBb/qnD5iuhemvwTHchz ZpjZ762KIq8A5iOQkaXhdFFqL6kCp5yqaY9dNLaNvwNn/xhrDfN15sRvExM9xyMeGrbsCnNP9iv 0YC1YpaGbHsk/qzVGGD43gEPUBQYMsv3Kgyyrp30wQC2fIfVPT71lYRWN6QQ8bpTzG3Q1xlJhEw hN2Cch+gEW91F2rV3rvLA== X-Received: by 2002:a05:6820:c018:b0:686:d107:2859 with SMTP id 006d021491bc7-69462e649e8mr7738601eaf.23.1776868299528; Wed, 22 Apr 2026 07:31:39 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:37 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 04/16] dts: k1: import pinctrl dts file from upstream folder Date: Wed, 22 Apr 2026 10:31:00 -0400 Message-Id: <20260422143112.1329478-5-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Import k1-pinctrl.dtsi from upstream folder. Signed-off-by: Raymond Mao --- arch/riscv/dts/k1-pinctrl.dtsi | 66 ++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/arch/riscv/dts/k1-pinctrl.dtsi b/arch/riscv/dts/k1-pinctrl.dtsi index 14e7096fbcf..aff19c86d5f 100644 --- a/arch/riscv/dts/k1-pinctrl.dtsi +++ b/arch/riscv/dts/k1-pinctrl.dtsi @@ -1,12 +1,64 @@ -// SPDX-License-Identifier: (GPL-2.0 OR MIT) +// SPDX-License-Identifier: GPL-2.0 OR MIT /* - * Copyright (C) 2022 Spacemit Inc. - * Copyright (C) 2025 Yixun Lan + * Copyright (c) 2024 Yixun Lan */ +#include + #define K1_PADCONF(pin, func) (((pin) << 16) | (func)) +/* Map GPIO pin to each bank's */ +#define K1_GPIO(x) (x / 32) (x % 32) + &pinctrl { + gmac0_cfg: gmac0-cfg { + gmac0-pins { + pinmux = , /* gmac0_rxdv */ + , /* gmac0_rx_d0 */ + , /* gmac0_rx_d1 */ + , /* gmac0_rx_clk */ + , /* gmac0_rx_d2 */ + , /* gmac0_rx_d3 */ + , /* gmac0_tx_d0 */ + , /* gmac0_tx_d1 */ + , /* gmac0_tx */ + , /* gmac0_tx_d2 */ + , /* gmac0_tx_d3 */ + , /* gmac0_tx_en */ + , /* gmac0_mdc */ + , /* gmac0_mdio */ + , /* gmac0_int_n */ + ; /* gmac0_clk_ref */ + + bias-pull-up = <0>; + drive-strength = <21>; + }; + }; + + gmac1_cfg: gmac1-cfg { + gmac1-pins { + pinmux = , /* gmac1_rxdv */ + , /* gmac1_rx_d0 */ + , /* gmac1_rx_d1 */ + , /* gmac1_rx_clk */ + , /* gmac1_rx_d2 */ + , /* gmac1_rx_d3 */ + , /* gmac1_tx_d0 */ + , /* gmac1_tx_d1 */ + , /* gmac1_tx */ + , /* gmac1_tx_d2 */ + , /* gmac1_tx_d3 */ + , /* gmac1_tx_en */ + , /* gmac1_mdc */ + , /* gmac1_mdio */ + , /* gmac1_int_n */ + ; /* gmac1_clk_ref */ + + bias-pull-up = <0>; + drive-strength = <21>; + }; + }; + uart0_2_cfg: uart0-2-cfg { uart0-2-pins { pinmux = , @@ -16,4 +68,12 @@ drive-strength = <32>; }; }; + + pwm14_1_cfg: pwm14-1-cfg { + pwm14-1-pins { + pinmux = ; + bias-pull-up = <0>; + drive-strength = <32>; + }; + }; }; From patchwork Wed Apr 22 14:31:01 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226511 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=NC4cLgRA; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11s8610Bz1y2d for ; Thu, 23 Apr 2026 00:32:28 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9168A84355; Wed, 22 Apr 2026 16:31:58 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NC4cLgRA"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9BAAF842EF; Wed, 22 Apr 2026 16:31:52 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id BDDC984359 for ; Wed, 22 Apr 2026 16:31:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-50d7c12e48eso56170521cf.1 for ; Wed, 22 Apr 2026 07:31:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868303; x=1777473103; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MpxaU06EDeZej6KnHjwoygi8KQn5j5oVXZh2NKzs5+M=; b=NC4cLgRAURml1tNwtKbmSgBX8NpXccB8bpg73Jx1dP+nutb58AopBMpf8mPP5fFiMX MblLzG0tsi7QT4GeWZtRna0tnU3r5lysyZmCw6qUi+U/BnZSkqR3kbno9fvWGEz2Qfya IQDJ7vgukYMb1GTFa0N194XzNIlIQeTcV322tJdYEYdeYgjB2r1yiilHjd2jI5sMxDJ7 9dEbmATGlsqwVhXRjby6MRW8jztcqc5RTo0GPgj7RN2E+8kdmo0DERdepBawkUZK0jPi YJDoz/5Mtc4RAeujt5zS1UUVVpUwWZ56D0z0Jbe2Xlz7Z1umhZ1ob6fpq563C9r8t/nT 9yzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868303; x=1777473103; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=MpxaU06EDeZej6KnHjwoygi8KQn5j5oVXZh2NKzs5+M=; b=GYNTwSaMcnKCDGcJ2mkhNU91I3xB3q8kcjsO+bfPYgFqB9boiklKmJQX7a/cJcX8rQ MEpHv/g3pB7yZT5Nt0XZipyAKdwbaIVk2ZXNpFdqMTUwv/UY47ZjQh6aucFYMUDQYd/F mYTIEnOJl8UxvEKiJ1S8LDnMd/CkcZvr5VegqVi/lnzCOQ+OSZu0MHet7xI/Gzxg18nx LUc/ffdOyVrI7B0APWsvAGLO1nXrdzE75hs43YIYUKDU8hoaLButTViVKtbUqDuZFqZz 3U1XFrkhF1T1nT/oEGKdhzigLW73qBj32JkzeBZp/S/+ru0hN5I1LhUADrq0+6yGDGYG OSFA== X-Gm-Message-State: AOJu0Ywb2TIaJQ8EIRQKTF4IXIkgEeEYm33bN6wi5N0PWS+qYPCGP9IF 6ZgjqG8KuAxX978Vd4EoW1mmVcCsOlrvRWSrcRDJ0BwQXXV+SkbFCX2XgPXBSspLDks= X-Gm-Gg: AeBDieu0IRMugfTBxnJlcUu1E65pDh8O3HEygVvgIXi08o4KfmcS+y6ed1/3kNg72sp mufesAq+1mTZfVqGItcLC6fWkDH74bkMA/gDKkGGXuGV0kafGzf5K66ZI8Kw/cCLn9+b+MoVbOK HRetJX1yRVfrTOmCVc3rAtF6ProqyyPokGA4CACPMMcesBHHpFsiUTxs8PBFEi0z5HUuwuTg8vq PHeNNIU8OCmFDE4598ml0MOGxBR9/Oe0sAVtkUAR1nDNRylYew/8LjDyImzfWvJrQHJ5shhqz0q lhw/vzUehMxj85OMN2H4sb707b9EbzohG7U1HIexEgsYnwJqqSYsZGQ509/5ZLEkO+XmZ80PXfK GYcepdE2XT4V5aiUV3hmQ4DRRVKZnPSMw34IT2il1OL2hKvYQsBMiJUX5sJ7S0HbJMCARL2eRfI vAgw/Dr+ldkYv9Vy/Btue9vnNVJe5U3Qjg/m6a32cxhNEHHr7FLeJsO6kJMfCEprPiJmNGz7p5K IF0sH+ZSg9vEsWIdBeFcmRUTH6JRF6v X-Received: by 2002:ac8:5a93:0:b0:50b:3429:a10b with SMTP id d75a77b69052e-50e3667611bmr282423081cf.12.1776868302808; Wed, 22 Apr 2026 07:31:42 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:41 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 05/16] dts: k1: remove embedded subnode in pin configs Date: Wed, 22 Apr 2026 10:31:01 -0400 Message-Id: <20260422143112.1329478-6-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Fix the embedded subnode that is defined in pin configs. Signed-off-by: Raymond Mao --- arch/riscv/dts/k1-pinctrl.dtsi | 102 ++++++++++++++++----------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/arch/riscv/dts/k1-pinctrl.dtsi b/arch/riscv/dts/k1-pinctrl.dtsi index aff19c86d5f..2e4216f94d0 100644 --- a/arch/riscv/dts/k1-pinctrl.dtsi +++ b/arch/riscv/dts/k1-pinctrl.dtsi @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 OR MIT /* * Copyright (c) 2024 Yixun Lan + * Copyright (c) 2025-2026 RISCstar Ltd. */ #include @@ -12,68 +13,67 @@ &pinctrl { gmac0_cfg: gmac0-cfg { - gmac0-pins { - pinmux = , /* gmac0_rxdv */ - , /* gmac0_rx_d0 */ - , /* gmac0_rx_d1 */ - , /* gmac0_rx_clk */ - , /* gmac0_rx_d2 */ - , /* gmac0_rx_d3 */ - , /* gmac0_tx_d0 */ - , /* gmac0_tx_d1 */ - , /* gmac0_tx */ - , /* gmac0_tx_d2 */ - , /* gmac0_tx_d3 */ - , /* gmac0_tx_en */ - , /* gmac0_mdc */ - , /* gmac0_mdio */ - , /* gmac0_int_n */ - ; /* gmac0_clk_ref */ + pinmux = , /* gmac0_rxdv */ + , /* gmac0_rx_d0 */ + , /* gmac0_rx_d1 */ + , /* gmac0_rx_clk */ + , /* gmac0_rx_d2 */ + , /* gmac0_rx_d3 */ + , /* gmac0_tx_d0 */ + , /* gmac0_tx_d1 */ + , /* gmac0_tx */ + , /* gmac0_tx_d2 */ + , /* gmac0_tx_d3 */ + , /* gmac0_tx_en */ + , /* gmac0_mdc */ + , /* gmac0_mdio */ + , /* gmac0_int_n */ + ; /* gmac0_clk_ref */ - bias-pull-up = <0>; - drive-strength = <21>; - }; + bias-pull-up = <0>; + drive-strength = <21>; }; gmac1_cfg: gmac1-cfg { - gmac1-pins { - pinmux = , /* gmac1_rxdv */ - , /* gmac1_rx_d0 */ - , /* gmac1_rx_d1 */ - , /* gmac1_rx_clk */ - , /* gmac1_rx_d2 */ - , /* gmac1_rx_d3 */ - , /* gmac1_tx_d0 */ - , /* gmac1_tx_d1 */ - , /* gmac1_tx */ - , /* gmac1_tx_d2 */ - , /* gmac1_tx_d3 */ - , /* gmac1_tx_en */ - , /* gmac1_mdc */ - , /* gmac1_mdio */ - , /* gmac1_int_n */ - ; /* gmac1_clk_ref */ + pinmux = , /* gmac1_rxdv */ + , /* gmac1_rx_d0 */ + , /* gmac1_rx_d1 */ + , /* gmac1_rx_clk */ + , /* gmac1_rx_d2 */ + , /* gmac1_rx_d3 */ + , /* gmac1_tx_d0 */ + , /* gmac1_tx_d1 */ + , /* gmac1_tx */ + , /* gmac1_tx_d2 */ + , /* gmac1_tx_d3 */ + , /* gmac1_tx_en */ + , /* gmac1_mdc */ + , /* gmac1_mdio */ + , /* gmac1_int_n */ + ; /* gmac1_clk_ref */ - bias-pull-up = <0>; - drive-strength = <21>; - }; + bias-pull-up = <0>; + drive-strength = <21>; }; uart0_2_cfg: uart0-2-cfg { - uart0-2-pins { - pinmux = , - ; + pinmux = , + ; - bias-pull-up = <0>; - drive-strength = <32>; - }; + bias-pull-up = <0>; + drive-strength = <32>; + bootph-pre-ram; + }; + + i2c2_0_cfg: i2c2-0-cfg { + pinmux = , /* I2C2_SCL */ + ; /* I2C2_SDA */ + bootph-pre-ram; }; pwm14_1_cfg: pwm14-1-cfg { - pwm14-1-pins { - pinmux = ; - bias-pull-up = <0>; - drive-strength = <32>; - }; + pinmux = ; + bias-pull-up = <0>; + drive-strength = <32>; }; }; From patchwork Wed Apr 22 14:31:02 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226512 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=srWsNk1y; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11sT0lJZz1y2d for ; Thu, 23 Apr 2026 00:32:45 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C7EB5842FD; Wed, 22 Apr 2026 16:32:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="srWsNk1y"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5CB9C83F14; Wed, 22 Apr 2026 16:31:55 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6B54C842FD for ; Wed, 22 Apr 2026 16:31:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-50d75bfb259so40594341cf.1 for ; Wed, 22 Apr 2026 07:31:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868306; x=1777473106; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=thZ55Hr7rwH2XmmDH2OsEEm1NiF3NL035rQAbGYmDU0=; b=srWsNk1y+4IkwV8l32S3tkEnRWtAUV2JNms9u4Dj6RuUPtmlIJOzwWOZTk/Jw23oq0 P4Le5naHP4qOKziYuqr3DkFEOnstiTGok8lGdqYs7LnGF1g4q76bwV3wPP9hhIj9Nn3S IowCmbrO4q9Az0AqT4Cu+YbdnSg1KPKVlUpibOqx5C4NGuQ2jFRLnq7fIYuPhozmaVnL TaeYz/OzcTYjlEJTdPwA67aXdvgO6SrkUQnsSXLjAIIgpG+hhygHB5rGMPQMgBHNMsod jdXO9b8zTlQfZ4h+elW//qpy2l5ayNVUW0lYC38A5VeZFnJByG+p6zS4BIJWOhmMrptH vHtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868306; x=1777473106; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=thZ55Hr7rwH2XmmDH2OsEEm1NiF3NL035rQAbGYmDU0=; b=P7S8mLNJRavRRrRTCf+K/+440Pn40M9myYiYY2b+48Q5I1FyzlRQIoHoxdMk10q7qc 5ovTT7Z3aYUfDF6A4gYqlENthO284xM4ZBDE4AuDIkGXYhWk0AJPRzivR262OW6QVOmN R53Ecs1cNCj/xa+eJ2I9oX1zDn2Bp9Fy/k3EAZRCjOuIrEdya15X0ZBZSQkXAtRjvLj8 rofrTmshnT9Qf69E9sDSfaDsoPBa+3eoj5bNp63IeljwtwtrCdiaye7IfFsfKlzPQs5d 2vFb7Y5V+GxNDKYin5FxmHQvJWlBjtTS2e5+SDXUbUv9LudFbTERarq/BabR6lYXXCB7 0dkA== X-Gm-Message-State: AOJu0YzbW4R3V9khJVzzBy4OWMUytUKwyRv8puU9Y3KEjw6jN1V5FVJg 3gxiXH43g46uf9rMjSvD6GUnI2D9nva7Y8amg4oghnxYOtIr8A3I9R/vu5wxekto098= X-Gm-Gg: AeBDievgo14lJBvhixtGLi/9klwBNX6750hWKEfzC7rHk/Nyfh/C5OPdKoQjkCqsa1N U7PzrDX6w7MfhruWmavfF1vRrmWO+dyVpeKKOz/ZRaAnBe+wV24ET0dYs+/oL/czj9COOZ0sc8M pQ14gH3REimSHvje5thqdUVZpTfJctzcd+AOxGFJEC22MtwloMIH57S9GSvA7PUsJPgEa+djL9/ g93kCSI9Sp8ijJPAaSSZkCrsQ3okplW7v6YwOZVtvip8qiSlksUxsWDUxjLGNbr/LDhvuSmVn2A usBDzgZKocPxmgGqRCwHSY3hLehKaqLdtgGftaHxgzHQe6GPQ35X6MAidY1Yx23mlUnDV2ArDbp RY1kFwhBhpk/4khwNT8KjFQ07yGy4Hm0NXtG0E9VWys1V43ILyKBYZtI2kvqoX8I2JC4shzLyRX 4jUOL1XtQtFyQ/byo1IqkCvMxLjhDCdFwAhhU5csk3lWWMbJIgP4hefvJJ/h2DaoNovsOyijBf8 fDcKcz1R9JPnO5to2k5Hw== X-Received: by 2002:a05:622a:2446:b0:50f:ade2:2da with SMTP id d75a77b69052e-50fade20ae2mr142241581cf.44.1776868305967; Wed, 22 Apr 2026 07:31:45 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:45 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 06/16] configs: k1: enable pinctrl and gpio Date: Wed, 22 Apr 2026 10:31:02 -0400 Message-Id: <20260422143112.1329478-7-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Enable pinctrl and gpio configurations for Spacemit K1 SoC. Signed-off-by: Raymond Mao --- board/spacemit/k1/MAINTAINERS | 2 ++ configs/spacemit_k1_defconfig | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/board/spacemit/k1/MAINTAINERS b/board/spacemit/k1/MAINTAINERS index 408621ab819..6a2c4c23f9f 100644 --- a/board/spacemit/k1/MAINTAINERS +++ b/board/spacemit/k1/MAINTAINERS @@ -6,6 +6,8 @@ S: Maintained F: board/spacemit/k1/ F: configs/spacemit_k1_defconfig F: doc/board/spacemit/bananapi-f3.rst +F: drivers/gpio/spacemit_gpio.c F: drivers/i2c/k1_i2c.c +F: drivers/pinctrl/spacemit/pinctrl-k1.c F: drivers/power/pmic/pmic_spacemit_p1.c F: drivers/power/regulator/spacemit_p1_regulator.c diff --git a/configs/spacemit_k1_defconfig b/configs/spacemit_k1_defconfig index 16754ea98d3..29a3c71f19e 100644 --- a/configs/spacemit_k1_defconfig +++ b/configs/spacemit_k1_defconfig @@ -31,7 +31,11 @@ CONFIG_SYS_PBSIZE=276 CONFIG_HUSH_PARSER=y CONFIG_ENV_OVERWRITE=y CONFIG_PINCTRL=y -CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_SPACEMIT_K1=y +CONFIG_GPIO=y +CONFIG_DM_GPIO=y +CONFIG_CMD_GPIO=y +CONFIG_SPACEMIT_GPIO=y CONFIG_RESET_SPACEMIT_K1=y CONFIG_SPL_RESET_SPACEMIT_K1=y CONFIG_SYS_NS16550=y From patchwork Wed Apr 22 14:31:03 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226514 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=S7lNswxP; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11sm6nhhz1y2d for ; Thu, 23 Apr 2026 00:33:00 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B5B4B84359; Wed, 22 Apr 2026 16:32:17 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="S7lNswxP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 838028431C; Wed, 22 Apr 2026 16:31:58 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-oo1-xc34.google.com (mail-oo1-xc34.google.com [IPv6:2607:f8b0:4864:20::c34]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id D21E084348 for ; Wed, 22 Apr 2026 16:31:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-oo1-xc34.google.com with SMTP id 006d021491bc7-6949831a7bcso1078324eaf.1 for ; Wed, 22 Apr 2026 07:31:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868309; x=1777473109; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cBjqcJbQmtrI2trtC008GaGaTb/hb6UcohpHtGCVcZw=; b=S7lNswxPRiWrMkAa24BhVq5BU9tbGFzvw33IuA6KytXy4p1JtxFFKmtc7ObwO37erT Nys51tRn6jl5X9yC8d3GMShDkj7E2OK/tmppvMR0upyxZo3tshCVExSHIaLRlhLnBFqV 61iIcdyHEuPgRy0/bmDjvS522Vg6PAoLnInnGjfP1X1hl+mntRqDCMSNcoqcnV+8Ojtr RXLgMaRrhHEBNhkncY2Z9DhphQ2CSIfohZGJR1SSJ/hMSr+dmw6ldYNrItWoGPL9M1BB IrMlXEuGAM0hQ9ppA8nWQiN6FsaI6XHS4ME10LWOlePMrltEMgNurJToUbclC6xGGgDW 7cRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868309; x=1777473109; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cBjqcJbQmtrI2trtC008GaGaTb/hb6UcohpHtGCVcZw=; b=WYT3aL3trL1gCoJvcKwqzcDxQsOFAvfdIG4dVHwPNzxAbePEvTxuOkKJYklT9l/sto juGvS9FUkvU6ds9CCrN1+cmMk3I6MFNN06NKvST0EOgMFS1LBjXY+kQQLrXIB3NcDT4F FWTvUA4aO7qJwPKcO+1Bw79AML5pa3fILgpTdxT2lJ9yS2ecWROp8bOj8tfjIQv3Ir8v Vv4UafrbXafTYBY5w8b764fx5P3kZynEmCW9DsVPo+1n8k86auQUu3lGgqQgx0rntL7v d+MF4hMqec4Uwee0WUtohwoUhIArsk8L5yovSugar5hBlvjbCRFyH+O1lrp5HVO0kbmM I0jQ== X-Gm-Message-State: AOJu0YwRseyB6phgvnVqv4IfaF4iROAP63ESgSnctROO2Q5spqXibWhw ffxbsL54UOk6AmOGxT40DWPPH7uCnr28r/xiYNun4/jUYNei8odVnMG7ebRkeim+h/o= X-Gm-Gg: AeBDietGGE+ZIp8e4ax+gWrj825YexG2hBbnwVfQgNIax5kAjizFw8H8eMZbb1SRJl1 VW6QVgWKD+4dJWqRDYmeAYizXhgr0bYA7L0KPV0CMIkRap8QXJe0Pdq+q2xmFCt7EgO/ZWNwqzY Fj5di90fIZVaWL4Z5c8NA1Du0/0rp9VmFtiuMYWpM+dYnwHKdIMkvCAwqk1AwYePw17uRR+iKkw rRNOyhhW006sOECkjBzwU3EednN5xktD7bx2zVP/KrW7iJBpS6LUuXUGhcEMvo8654tRtL27yc/ e8CqqJka36ik4hd4fQooBstD8qX+CmIZH/+Pk6f+vxm5j4w6LLkOwhWzzD3jAEvBo48VHWmUvY8 Op3gC9pa934cQLJuza0R72VdW2TlHFQAxwePHKQX+D9iJo2rZtjGxfYhBzxFB9EpXSwYiJmAEdw Dt424jWE82ytS4Unq8k/GdfNsh9rmzdd3aoObtNds0A1m+02x/a+uyhQwGfry6L629uwHYFU4Oo r4m6Ju4j2YLja84U9JbX62SrHmOPkep X-Received: by 2002:a05:6820:1907:b0:685:3561:8945 with SMTP id 006d021491bc7-69462f303c1mr12417462eaf.46.1776868309181; Wed, 22 Apr 2026 07:31:49 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:48 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 07/16] mtd: spi: select SPL_SPI_FLASH_TINY in SPL stage Date: Wed, 22 Apr 2026 10:31:03 -0400 Message-Id: <20260422143112.1329478-8-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Fix to select CONFIG_SPL_SPI_FLASH_TINY in SPL_BUILD stage. Signed-off-by: Raymond Mao --- drivers/mtd/spi/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/spi/Makefile b/drivers/mtd/spi/Makefile index 44e67cd913a..9a96be11e6d 100644 --- a/drivers/mtd/spi/Makefile +++ b/drivers/mtd/spi/Makefile @@ -8,14 +8,13 @@ spi-nor-y := sf_probe.o spi-nor-ids.o ifdef CONFIG_XPL_BUILD obj-$(CONFIG_SPL_SPI_BOOT) += fsl_espi_spl.o +endif + ifeq ($(CONFIG_$(PHASE_)SPI_FLASH_TINY),y) spi-nor-y += spi-nor-tiny.o else spi-nor-y += spi-nor-core.o endif -else -spi-nor-y += spi-nor-core.o -endif obj-$(CONFIG_SPI_FLASH) += spi-nor.o obj-$(CONFIG_SPI_FLASH_DATAFLASH) += sf_dataflash.o From patchwork Wed Apr 22 14:31:04 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226513 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=FO4NOOak; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11sZ3bWCz1y2d for ; Thu, 23 Apr 2026 00:32:50 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B6D8784353; Wed, 22 Apr 2026 16:32:06 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FO4NOOak"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 00AB584314; Wed, 22 Apr 2026 16:31:57 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com [IPv6:2607:f8b0:4864:20::c2a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7889F842EF for ; Wed, 22 Apr 2026 16:31:53 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-68470763896so2974100eaf.1 for ; Wed, 22 Apr 2026 07:31:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868312; x=1777473112; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YJQrUhf/+NFviOHocvIKyPkp9LpZCdfjoBdkPkubOg0=; b=FO4NOOak83wlokWFAH74LhGz0t0OkbtYyWlDygZo0hzuEWmD9fcYAM7LAxRBpgLS8d dc3qYG2gLAMsgoR4R5DHfvvTE8So4rS5oFMgQ1VI78gTTDvsjl/yUobesBFL3bWZzsqM eFJ0Ij75dVk2yh9iz8I95Z88HclXT5Nh39PJP/fLQgyxJvl42u34lVk7o2oekuq6Dv2z rLoYkN+ja+166xMWCBCIkDhc4ngpc64q4W5b8JRcpRchzKqEGcMTzcBtK1dKypTPv6pU 56jQ7VPYWhVkCnYI4buO+nOwMujYKVMQMLse56RkVnx4nYFezmpxLRtfQtJX9O8qNOIc ZRGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868312; x=1777473112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=YJQrUhf/+NFviOHocvIKyPkp9LpZCdfjoBdkPkubOg0=; b=R9wDBG2RgsIgyUuEO+trJliwpjF9XJ5F59dHJqUPx/y61iDLTWQOLvRAhmz0xVdGdJ DBVABp6ADkfCrLzZnB6v3DkuqXayMZi8e+5PIlqUVWF31KZr9qOFuf6xzT+TkJ0LVGdE fWApnWhxuOiXAfnklc0skbjBMj+sw6Ps+YaCvOJgS21hTVYQFVzXWK1lggCoeSY4+EZR TDY/9d3rUxUhPmKVZoOJg+Uf0KvbabMcxFUZKi6i2VdZQ6CvuFUQyH0xbehNn+oQJkZU 33B3Kz/XaaCWCIFg9y06KywwZwZ77+n6NuOBw5+nXnSd/21UOjIBhHlV1DXakEP3Ojdy EEWA== X-Gm-Message-State: AOJu0YwiZGRuVDWT7lT+1GvNZNNMj3a751MIPthGQ8cA5uYAR6jeZkYq h8ApWDEPfCR0oU3L3Xlbmvw1QLcj+9e0R+g067ac2i3GhmQ9noeWzxr0aELkVklu/H0= X-Gm-Gg: AeBDieu/r1fschwrKTnHdieCNh5SzrVuGXmHbjD811rEkP3Ri4nKZX782UeiyqKVEwG M2DgcvVID1WNVHZliigz4Y+BdfgR7U2ehFF9wwTMWpSrL/5XR4tZF6DVBctFiWWXpNaREdlLyUV JlcRmsA2vYol3F7UAEps6fjIDZ9c9+H1wGPmclz3U3hZdu3g9ZeHyULHNppzmjColzkpcN/zczv rkSLJ6eRU2A3bAICNQlG7MhdcX9Q/3xlbJzpIEHwS3EFCI1ZzMNOv53RYVsUcVpsPIM2BeV1S/9 X1umqfA6WcVIYsZKGs2IoyQINUg9i6luQq8VjmtxILK355itChEbW7fKnJ+gLqLUCrJyiQ/Jg0Z OLlJxpr4lQwi7u2+26hgHyOgTafUJ+vp2uSMoFfGfeCmL5BU1hsmbdeqJUtIiKAhgs9CeErV3P4 XAUp4KOMa2RZ4mkW+/ljNjrl/v6u2TGKcaoegrifhc1MFfXwSAnWpDRLZhQg67FK4dpAYIk9D2o WDjsUK/67s7Zabi2AI9aoLXpXrxZ8Ez X-Received: by 2002:a05:6820:f015:b0:694:84f3:612d with SMTP id 006d021491bc7-69484f37b85mr7774319eaf.44.1776868311831; Wed, 22 Apr 2026 07:31:51 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:51 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 08/16] mtd: spi: enable spi_nor_remove() in soft reset config Date: Wed, 22 Apr 2026 10:31:04 -0400 Message-Id: <20260422143112.1329478-9-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao spi_nor_remove() is only implemented in spi-nor-core.o, not spi-nor-tiny.o. So make spi_nor_remove() only valid for CONFIG_SPI_FLASH_SOFT_RESET. Signed-off-by: Raymond Mao --- drivers/mtd/spi/sf_probe.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c index 7100b64bf22..dee03662d45 100644 --- a/drivers/mtd/spi/sf_probe.c +++ b/drivers/mtd/spi/sf_probe.c @@ -229,9 +229,11 @@ static int spi_flash_std_remove(struct udevice *dev) spi_mem_dirmap_destroy(flash->dirmap.rdesc); } - ret = spi_nor_remove(flash); - if (ret) - return ret; + if (CONFIG_IS_ENABLED(SPI_FLASH_SOFT_RESET)) { + ret = spi_nor_remove(flash); + if (ret) + return ret; + } if (CONFIG_IS_ENABLED(SPI_FLASH_MTD)) spi_flash_mtd_unregister(flash); From patchwork Wed Apr 22 14:31:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226516 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=VNa3B+eN; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11sz01Jqz1y2d for ; Thu, 23 Apr 2026 00:33:10 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D838A84324; Wed, 22 Apr 2026 16:32:18 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VNa3B+eN"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 336C4842E6; Wed, 22 Apr 2026 16:32:00 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B06C0842E6 for ; Wed, 22 Apr 2026 16:31:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-50e5ad864a6so30581041cf.0 for ; Wed, 22 Apr 2026 07:31:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868314; x=1777473114; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MnOix4t5SDSjTmsq3YKDD9MvoLlV1GsfOpJKAbgcM2c=; b=VNa3B+eNa/al6p4HcGnelExnYfejdc6nH14AnKVdNc3NZzhfXi0bp1L8nwFyx5FwGo 4SuZ62uMYmBk5ea0L3N/TW1y4z7cBLx+PVyJLsYDutN4zIqf6By96IU6jya41/7+SBaM nrsv3nRVeZKxAi+V7m38H/hSu3nVteVQH5EEn1EKsMq8/XX70yI/N1ygAniTbSyzl4MR 64xxsSfvGjZbsXcxSod090PfGuNa6LFO9hMN2BImBWrbAJSTwhNmwrEQSMhTrOM6ezu6 cdNcPsfNQ3CXuuT1jhSQlYTRR4z0ZKzHsVX5OPQMD+BU6rs4LGy8EiCRDqLs9CY7UrvZ Oi5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868314; x=1777473114; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=MnOix4t5SDSjTmsq3YKDD9MvoLlV1GsfOpJKAbgcM2c=; b=MB0fGwJKtnt+qY/3qvcxmGbenA32G/SAyX4ZCz/pYj+poJzqhNWocD2rEjGMWMFCtu zLMoSNssylwIfQNFaaq8Pn43m5G1QOPDWX63MxEDTRpm2vQoL42iDXLDAk4nJcrB7G3U o2cq391IiydgIn0luiOCzoacsY9vzGlCPst8n+CBIL4BR1K4j+NanZIBY13L6jCVG+3u vyACtbS8ow3JzeQpzsZrRW8UCDgLZ50MjvmhmD2D4tSgJd+jl/0VTbvTb7o7pCUkJRc9 Tp+0SN7qjPjof2YiQk+FVnG975liv3gpSz2sbZr03vJorTIRNrKO03O54sEqjASrgGNS 1/8Q== X-Gm-Message-State: AOJu0YyNAjcY25b5mhv5LjA0H0FXhax6buB1uy5o12jZ3PDaR93SIneZ xzfZhCu6ZcuxD9P4SWr4DUcdL8dhYmFj8EGVn99Bk77m8tB9t3/dY0qPe7dNDkpt2Kc= X-Gm-Gg: AeBDieuaVzakIB3jH2S4q77fdT78N/YDeSVqH+prKMTF/JXQHCU6uHXl+iz4ya7MElL im6wrBGpxPsLWJM/NXnQK94QkMyv4/elFtue6t28Q0MiBtC+pK/8sZWsgPlJv3xbDJjT+nasKcP 3hWVJYwWGAn9+ZBhDpcwLn2bhUgeHwH3zyPwEBzHz4TcqU0IfsPu+kVvFhQiC3m1mX5Ur3pRopS k1tE4ogski9nHzaq6jcVRBFgME4EI5t3rVPyvvmJ4mqazcQIviYY6+1+TCYDmQJT8WhTbAIkOnu YUKHO16zlyrNBilx3zDZPK/hMKORGSD8bc3K0L9fz8EfgnwGCTPMCzmFs7K77QUuhtvjaLGal0y Q82J0yoZSvb4ghfmfvSwduPgR3bgO+J4pBBdRwvXiwbmdq2ucMooTPzdqrqUHebIKBLYG1MEC2T LY+pstG7jJ7F0FTPRaqpIWlf6Czf0Lcz7aSHjwHdWyiEOJJSvz8GUhi+Vnd3f0inZHoJQtVJUhE LlmjL4NSd0dC4sNdH23GA== X-Received: by 2002:ac8:5907:0:b0:50f:b732:202a with SMTP id d75a77b69052e-50fb732261amr96802141cf.27.1776868314389; Wed, 22 Apr 2026 07:31:54 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:54 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 09/16] spi: fsl: add support for Spacemit K1 SoC Date: Wed, 22 Apr 2026 10:31:05 -0400 Message-Id: <20260422143112.1329478-10-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Make FSL QSPI driver supporting Spacemit K1 SoC. Signed-off-by: Raymond Mao --- drivers/spi/fsl_qspi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c index 65ab3e306d7..5692510a558 100644 --- a/drivers/spi/fsl_qspi.c +++ b/drivers/spi/fsl_qspi.c @@ -267,6 +267,14 @@ static const struct fsl_qspi_devtype_data ls2080a_data = { .little_endian = true, }; +static const struct fsl_qspi_devtype_data spacemit_k1_data = { + .rxfifo = SZ_128, + .txfifo = SZ_256, + .ahb_buf_size = SZ_128, + .quirks = QUADSPI_QUIRK_TKT253890, + .little_endian = true, +}; + struct fsl_qspi { struct udevice *dev; void __iomem *iobase; @@ -870,6 +878,7 @@ static const struct udevice_id fsl_qspi_ids[] = { { .compatible = "fsl,ls1021a-qspi", .data = (ulong)&ls1021a_data, }, { .compatible = "fsl,ls1088a-qspi", .data = (ulong)&ls2080a_data, }, { .compatible = "fsl,ls2080a-qspi", .data = (ulong)&ls2080a_data, }, + { .compatible = "spacemit,k1-qspi", .data = (ulong)&spacemit_k1_data, }, { } }; From patchwork Wed Apr 22 14:31:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226517 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=LJiQ9FZA; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11t90km2z1y2d for ; Thu, 23 Apr 2026 00:33:21 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1A093839D5; Wed, 22 Apr 2026 16:32:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LJiQ9FZA"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C479884312; Wed, 22 Apr 2026 16:32:03 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-oo1-xc29.google.com (mail-oo1-xc29.google.com [IPv6:2607:f8b0:4864:20::c29]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7A3F8842EF for ; Wed, 22 Apr 2026 16:31:58 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-oo1-xc29.google.com with SMTP id 006d021491bc7-694891f8f75so1813700eaf.1 for ; Wed, 22 Apr 2026 07:31:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868317; x=1777473117; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hz9g0CB4rbgBqrP7jXG4TBlTFFMgP0uYRbCrnzqOw/E=; b=LJiQ9FZAhzhU/Zej8V3lEmTMn8B/s3bX2aKm60bmkNX2X3lfzMEY9z8ykYcFdE4tcw ylgc1veXtASxstLFrBKF1b/yHRJ36RPu9PIB0KJRhTj26ad6jZTGn5sCbobW+3WeNznl w7iBcxnKJMKTTG4vfzw4a9E7FaAahL8327nbpceCIZhyzQj1vdL3nBZyvPUvsUH8xfNH Khv+Y90TQBF9sOMlTFa8ayU7MUsCbRkrWgyp2FDktb65d241MjwR6Vzr7KNkpuU8Xwch 9Sk8JnW59qNy2guUQ+DZLkB+cwfjqKRIGw/jBxa8fttTRaFKHzkH+zcbee3F8x6e8gR6 8lfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868317; x=1777473117; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hz9g0CB4rbgBqrP7jXG4TBlTFFMgP0uYRbCrnzqOw/E=; b=iqKMakkm46Z+quavzTQpEJRc7pDS0mcuv/etL/+oKIY7A6J9LGWzXZaFlr9EOMbVpb 2nNHxw0b6GAkE+BNof94QyDNsmchoIbLEuon/m8t3I3Nn70KXCuKokBP/x3BpT+px2qH H8VbLOD0y+4l/FmxBldh3hdKroHfT60wiKyWrPmm4eYSuVwmji6z9pJjHvalGkcHry4q JzjyoWyYPVRn+1zfxu6DmhPdeeaXgIyNROIrIndvpdPB/kB4HCl6gmC2QOppmhafiLJb swnSCUbPP9rvqXGT/p7Bhg2fOCk48E8C7wx5SrLJtqEcaZHxy7Pz7bXh5+LvAoopCmBy TWxA== X-Gm-Message-State: AOJu0Yz2cnHSQ7BsZubu+vRUqsee77euzg/LmS1hR66L+cWGoyW/erFm PT6fMkOtLuzN6M7VyQeJGIDQnmrtAy9QRJQoDCSa8OpshoYQn3A/lfXN/5uxKBX4NkE= X-Gm-Gg: AeBDievEVPCUgKz8rRioPYruOyE1yZpvEGqhVk4TxZpRKB69SG67SaEa6C6CSYX9QUV +qY7BIg0wY+bkHR/zzPea+g55jTNWI4/SYzOuiUDpAu4qFGIbLc5hnVzPtnJ9K6uiJdU23f02mC tmfBuwwP1+Lg6JgymvhcFWql4tXlT33rrVSf32QNtUysZUqM1kM3MnR6ECjje6C/u0KjbQH/2YZ 7m3z5GTuItWGtXmjcuHp8CDmIxstzBGwy25eXzBPqHKzqOyHcrxo4uygcAEY9FlxVXX1eYnyBGy dMEXheFsJUDWbYpO6Wo1uBXfNb2zSgcOzIZ8ChhVCSjjlYZ9p1Qy9tPcmhPVT+exjHH3c0wfznC A8AnooHcjtz3BlHd9KQ3HrfvqPBiKmTas5bJvMBTBiO6U+kc9EWmA9S6aVvwAjR9LeSc+JdvFHw eM/ljmvj8w43RDogfZ5xAa9tK6Hu3nFt3V7fkM6lgH+WxTJY3jQ3g+sTu1LrIw+cAs5gfl/woK9 KPItXv8l2jA76rXg9+BBg== X-Received: by 2002:a05:6820:1391:b0:688:6d55:17b with SMTP id 006d021491bc7-69462f09dc9mr12038597eaf.51.1776868316876; Wed, 22 Apr 2026 07:31:56 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:56 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 10/16] dts: k1: add QSPI controller support Date: Wed, 22 Apr 2026 10:31:06 -0400 Message-Id: <20260422143112.1329478-11-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Add QSPI controller support in DTS for Spacemit K1 SoC. Signed-off-by: Raymond Mao --- arch/riscv/dts/k1-spl.dts | 15 +++++++++++++++ arch/riscv/dts/k1.dtsi | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/arch/riscv/dts/k1-spl.dts b/arch/riscv/dts/k1-spl.dts index 6f9407aada6..e3311af76e6 100644 --- a/arch/riscv/dts/k1-spl.dts +++ b/arch/riscv/dts/k1-spl.dts @@ -226,3 +226,18 @@ }; }; }; + +&qspi { + status = "okay"; + bootph-pre-ram; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <26500000>; + m25p,fast-read; + broken-flash-reset; + status = "okay"; + bootph-pre-ram; + }; +}; diff --git a/arch/riscv/dts/k1.dtsi b/arch/riscv/dts/k1.dtsi index fc3a693a10e..96f604b0561 100644 --- a/arch/riscv/dts/k1.dtsi +++ b/arch/riscv/dts/k1.dtsi @@ -879,6 +879,22 @@ status = "disabled"; }; + qspi: spi@d420c000 { + compatible = "spacemit,k1-qspi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x0 0xd420c000 0x0 0x1000>, + <0x0 0xb8000000 0x0 0xc00000>; + reg-names = "QuadSPI", "QuadSPI-memory"; + clocks = <&syscon_apmu CLK_QSPI_BUS>, + <&syscon_apmu CLK_QSPI>; + clock-names = "qspi_en", "qspi"; + resets = <&syscon_apmu RESET_QSPI>, + <&syscon_apmu RESET_QSPI_BUS>; + interrupts = <117>; + status = "disabled"; + }; + sec_uart1: serial@f0612000 { compatible = "spacemit,k1-uart", "intel,xscale-uart"; From patchwork Wed Apr 22 14:31:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226519 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=Wg+d0Z5d; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11tX4NV7z1y2d for ; Thu, 23 Apr 2026 00:33:40 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7CF2F843A4; Wed, 22 Apr 2026 16:32:21 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Wg+d0Z5d"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 43A1C84374; Wed, 22 Apr 2026 16:32:07 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id DC1F584314 for ; Wed, 22 Apr 2026 16:32:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x82f.google.com with SMTP id d75a77b69052e-50faeb8317bso22150331cf.2 for ; Wed, 22 Apr 2026 07:32:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868319; x=1777473119; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TmkjJ8tdrSt9FopBWWFI70C+HtzT1To5aZFAo3zc0Bo=; b=Wg+d0Z5d9IXed/0SLPFTfniusIJsf6ofhvMMhZzyWD3ilGPwbJ3S7jdtvim9zAoZp5 MCxXwqsQ8bKUcVmZn+HZUoKpj4PCEwh9XRQBa7FAXAL82ujFtHi27/akRpsb4YoKuVV6 XZK566Y9EwgukCiL5d6nGm35CBjKYgElmp1df2rNE1xWpclnpL0bUT7VMtuRqC3vpn6T pmOBx/jhWapARYik7DuLp2Ts91my9lbSWD1bdYe49rJg49ypiWQr8Yk0UPzCcYZiteTU LfyxjzUayl9Kx4FK1HZZgSVIas1nordPFznSGAajAnBZWdT5cs/R8BYKS2qqY3+VxVxs Sdzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868319; x=1777473119; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TmkjJ8tdrSt9FopBWWFI70C+HtzT1To5aZFAo3zc0Bo=; b=WF6MaZj9dOXhmiMDuvBG+Qq5bzBzPgZ/iKrxi63KsO9yZU1PaCq+Hwxf1jYhoH57xH mLIaq5b8cD6VD6I4UbUSd8XLTI0auirCorrXNJIWOqS3hIFku4tF4uckT3TBLY20o9GA v0WLCsuxalVECTPkGH4QmILjUxYx+M6lIGKzXxUaSExQshwSr69K2raLoWe6AI8WYPP3 6XtIeKD52BV+WKIf+9ebGxYGa/AaLiptyEX4GQtt5Twsc4/SAXgsO5Qb1ak4024C6Ijf 4UCdT5hcEDIg957NJagbXwN0e0t5KL084SmU4+SzQGVVSrFqFcUQrdzFFKcqD34VaqbK uMMQ== X-Gm-Message-State: AOJu0YzhPv2i9mPQ/TW3WTQ9HEYk+xOdL2oWW0aDM9IazH010tXTlCsO AOE+G8rhQnTbMF0MEXIWa41+CRkwweoc8k+/ehwplnns9A6/JsU5CoUWvw9xv13/NSw= X-Gm-Gg: AeBDies137qJYneY/3mFoZ2zIg3gpSqOGRNYSDtD9mOuaVGAM4KTSbhX3OAGJ3c42F5 E+9pBjsejk5mZOdADRypo3ufBu+W1fxWBLvmAgQhBz2e+ydlxaq4tpJdxu5Q01kianTiAk5mRR8 Uf/HcGyS4BOhtBNJISofBD9yngxked3fexLIBs1C7TBM5Os1cFwkqaXFU1JX6mMzYUgG9aASlCx UQZynwNawix3yV8MDc69taEyLnpuxtdm8owKrOf5t+I3F/4FYIb5riOvVx9XMH8ct6JgwFDVxZn qc0Zq428lT95D8Z/VUlOzFCkDblCiFRy/hcmK+sy4RjoDCdZiRD+pYR5A3/GGvq33awsFFMFv1/ c0zDZMRRKl5f6iPyVwreR62zm39+vWq4iIYDlKTfrPRP6ktRVOqu8vXGjg6nH36Ubf0q/8jfwy9 7A6bHoNwJjJ4RqxDa5VaY+CCiDX8uXPhOloTfhL2+p3SfA884jRyhezRU0ItBqKUxv5EsozJiRJ FUZ0++meCEuk0gAxrgWWA== X-Received: by 2002:a05:622a:1f8f:b0:50d:9c60:fe2a with SMTP id d75a77b69052e-50e368209a9mr340791501cf.1.1776868319323; Wed, 22 Apr 2026 07:31:59 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.31.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:31:59 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 11/16] board: k1: enable SPI NOR flash in SPL Date: Wed, 22 Apr 2026 10:31:07 -0400 Message-Id: <20260422143112.1329478-12-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Enable SPI NOR flash in SPL stage. Signed-off-by: Raymond Mao --- board/spacemit/k1/spl.c | 24 +++++++++++++++++++++++- configs/spacemit_k1_defconfig | 22 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/board/spacemit/k1/spl.c b/board/spacemit/k1/spl.c index 5af804f0409..77b6df1371b 100644 --- a/board/spacemit/k1/spl.c +++ b/board/spacemit/k1/spl.c @@ -20,6 +20,7 @@ #include #include #include "tlv_codes.h" +#include #define MUX_MODE4 4 #define EDGE_NONE BIT(6) @@ -309,6 +310,21 @@ void ddr_early_init(void) log_info("DDR isn't invalid\n"); } +void nor_early_init(void) +{ + struct udevice *dev; + int ret; + + ret = uclass_get_device(UCLASS_SPI, 0, &dev); + if (ret) + panic("Fail to detect spi controller.\n"); + udelay(10); + ret = uclass_get_device(UCLASS_SPI_FLASH, 0, &dev); + if (ret) + panic("Fail to detect spi nor flash.\n"); + udelay(10); +} + void board_init_f(ulong dummy) { u8 i2c_buf[I2C_BUF_SIZE]; @@ -335,13 +351,19 @@ void board_init_f(ulong dummy) pmic_init(); ddr_early_init(); + nor_early_init(); } u32 spl_boot_device(void) { - return BOOT_DEVICE_NOR; + return BOOT_DEVICE_SPI; } void spl_board_init(void) { } + +void *board_spl_fit_buffer_addr(ulong fit_size, int sectors, int bl_len) +{ + return (void *)CONFIG_SPL_LOAD_FIT_ADDRESS; +} diff --git a/configs/spacemit_k1_defconfig b/configs/spacemit_k1_defconfig index 29a3c71f19e..97b6c8cbbb0 100644 --- a/configs/spacemit_k1_defconfig +++ b/configs/spacemit_k1_defconfig @@ -14,6 +14,7 @@ CONFIG_SPL_HAVE_INIT_STACK=y CONFIG_SPL_STACK=0xc0840000 CONFIG_SPL_SIZE_LIMIT=0x31000 CONFIG_SPL_FIT_SIGNATURE=y +CONFIG_SPL_HAS_LOAD_FIT_ADDRESS=y CONFIG_SPL_LOAD_FIT_ADDRESS=0x08000000 CONFIG_STACK_SIZE=0x100000 CONFIG_SYS_BOOTM_LEN=0xa000000 @@ -29,7 +30,10 @@ CONFIG_SYS_CBSIZE=256 CONFIG_SYS_PBSIZE=276 # CONFIG_BOARD_INIT is not set CONFIG_HUSH_PARSER=y +CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_OFFSET=0x60000 +CONFIG_ENV_SIZE=0x4000 CONFIG_PINCTRL=y CONFIG_PINCTRL_SPACEMIT_K1=y CONFIG_GPIO=y @@ -65,6 +69,18 @@ CONFIG_DM_PMIC=y CONFIG_PMIC_SPACEMIT_P1=y CONFIG_DM_REGULATOR=y CONFIG_DM_REGULATOR_SPACEMIT_P1=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_DM_SPI_FLASH=y +CONFIG_FSL_QSPI=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_SPI_MEM=y +CONFIG_SYS_SPI_U_BOOT_OFFS=0x000a0000 +CONFIG_CMD_SPI=y +CONFIG_MTD=y +CONFIG_DM_MTD=y +CONFIG_MULTI_DTB_FIT=y CONFIG_SPL_REGMAP=y CONFIG_SPL_LIB_RATIONAL=y CONFIG_SPL_DM_RESET=y @@ -78,3 +94,9 @@ CONFIG_SPL_CMD_TLV_EEPROM=y CONFIG_SPL_POWER=y CONFIG_SPL_DM_PMIC=y CONFIG_SPL_DM_REGULATOR=y +CONFIG_SPL_SPI=y +CONFIG_SPL_DM_SPI=y +CONFIG_SPL_DM_SPI_FLASH=y +CONFIG_SPL_SPI_LOAD=y +CONFIG_SPL_SPI_FLASH_TINY=y +CONFIG_SPL_SPI_FLASH_SUPPORT=y From patchwork Wed Apr 22 14:31:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226518 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=G37vI3OP; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11tL2KMVz1y2d for ; Thu, 23 Apr 2026 00:33:30 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D937384383; Wed, 22 Apr 2026 16:32:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="G37vI3OP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0E6DA84324; Wed, 22 Apr 2026 16:32:05 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EAE0584353 for ; Wed, 22 Apr 2026 16:32:02 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-50d87c138e1so57417121cf.1 for ; Wed, 22 Apr 2026 07:32:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868322; x=1777473122; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DkfmryHwdGQ5l1KIWxsJNe7YCml+CLUslMHSJ5U5BSM=; b=G37vI3OPquBqJOla/Dc0zn26eSrQBdmF4fGRTxTXD7chRD5LN+4UILjN8d2MYySmSx 6hLv+z/iPDA1ibCFz3v/vL+t/0UAhM/nr+PR3od1m9xOkya15QyfkK+6UdeokA37GvMn kMLq6K3530DX12cRu2CTnTFMlJGhaaUuC+WwodbQe8ye/y26MM1T5AHYWIEV67aY5sg5 /1nMTU5lpkXbSnWTYAnnfCKEEsgiqCrCZ1j+9LUVT89OnRP8IBwzgvs6jb6qVQGUEwA2 wLvfgBISz2VOXTotaG+s+ECalyUTYY5YySJmwCNqB+SVy624/EICrT/+OrXR/10kmlKm 84Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868322; x=1777473122; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=DkfmryHwdGQ5l1KIWxsJNe7YCml+CLUslMHSJ5U5BSM=; b=Ep6hT0Id2jswASgUWgLuGY4Uj+sDSiW5cOQpSSYjQBnSl1kXIb6INq/awckO8PnbS/ uRy8vc9c6cEmcqu7c0u0A0BwvkeCeoQ+nxX4vTdZw/z8K8AC/M1izRXXa7BhoGd9k3LL EEsY86sUeCfZS538jlyZVTcVVop/Rrn8/38HJHBf7POd8nTh7lMFuP1b98KOkkXfD0MD wzuDeukl1F0EBvxMXL02J2sVFbv0TIYk6LBgBgVaBEX7zG56FeCnsWrZ7GwnKTCqy7TX sZRbbXtCbIuJdCKERv9PUzZ7yGEKADj76LjLwxVj9lYj1BeHW29t4yPgEYS4tRdbquZM LwXQ== X-Gm-Message-State: AOJu0YyyFi6LqpuO1saM2VuBolb9+3fQoUprNL1TFO/OQHUDHxy5WJES 2gx5osVCpwar7hYRPNR2fR36Eqgc29pGt8bWBuG4LFoqLffIdbalGhLVypFGw3VqTSc= X-Gm-Gg: AeBDiesnq/C8PhJ92R3FhjiCE5OEx8ZArQuTL69KB9ZmCtijVQiBeRcrNVgyPyLqgBM QaMF8qrasInyehHXvxodmrrRl/JTY8tGYrqInKhK4cjQ0M2Lja5YBhxDIuFVY2sSiVwTE3nQpCj JctJsz3GGY2+Bu4/4FQP/Ymbk6F1BQby+n623HpAsKnW+lmWAmRaauWLcWe0Z/8HzoJ69VvtQml eU484P3StE9QR01b8wZcefpgfq9HIBt9mdMSHQjfO8MK0CWbxm7yHRUSip9mNMz5K0tDMNUiqAV u236MP7yRzh8FfwhOEum3FZlm+omfCsRxmk1tii8z6VUTQza4n5wSgTCX9QEE4ucaCXmm5nILxn aCHD5Nkx4Zufs2WF+UVLfJJxzSKJmCfuKv1xLMAPmFcNYWsPgDFPa6A+QSUhqeyR48TmAXXFdbN 0fBmdzjkX3t/kBwdei9n4x53LNDpXYN99USGAuXDi/SwFi6KE8rUv7mKNLPO4XuugV2NUzyYHFL RA/tpjAIkUX5MEx68tcuQ== X-Received: by 2002:ac8:7f90:0:b0:50d:5a11:1b5 with SMTP id d75a77b69052e-50e3694a5a4mr352088681cf.17.1776868321541; Wed, 22 Apr 2026 07:32:01 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.32.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:32:01 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 12/16] riscv: binman: Always set default configuration in FIT image Date: Wed, 22 Apr 2026 10:31:08 -0400 Message-Id: <20260422143112.1329478-13-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao When CONFIG_MULTI_DTB_FIT is enabled, the FIT image contains multiple device tree configurations for different boards. The default configuration must be explicitly set to ensure the FIT framework traverses all available configurations instead of falling back to CONFIG_DEFAULT_DEVICE_TREE. Without this default property, fit_find_config_node() will use CONFIG_DEFAULT_DEVICE_TREE as the configuration name to match. This prevents the SPL from correctly selecting the appropriate DTB based on runtime board detection (e.g., from EEPROM). Remove the conditional guard so that "default = conf-1" is always present in the FIT image, regardless of CONFIG_MULTI_DTB_FIT. Signed-off-by: Raymond Mao --- arch/riscv/dts/binman.dtsi | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/riscv/dts/binman.dtsi b/arch/riscv/dts/binman.dtsi index b518560bb94..84c261c6849 100644 --- a/arch/riscv/dts/binman.dtsi +++ b/arch/riscv/dts/binman.dtsi @@ -93,9 +93,7 @@ configurations { -#ifndef CONFIG_MULTI_DTB_FIT default = "conf-1"; -#endif #if !defined(CONFIG_OF_BOARD) || defined(CONFIG_MULTI_DTB_FIT) @conf-SEQ { From patchwork Wed Apr 22 14:31:09 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226520 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=dIQD/tM1; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11tk0vTrz1y2d for ; Thu, 23 Apr 2026 00:33:50 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4C29B8439C; Wed, 22 Apr 2026 16:32:22 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dIQD/tM1"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E42BD84380; Wed, 22 Apr 2026 16:32:09 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5365283F14 for ; Wed, 22 Apr 2026 16:32:05 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-50fb1932b62so17595431cf.2 for ; Wed, 22 Apr 2026 07:32:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868324; x=1777473124; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4KnABhFTiQ+hgc9Zoyavg/bcMhFeOEbPPYGyIOK6c+0=; b=dIQD/tM1/OEi/Z1/BvQLZwqRC+bljFD/oB0/+byQLMpXzfN0fQ6/iN+PTumgd/LRmz nbeRUH4d50uzwEyzLA24AXhI1i0wLjZ/VXSA6DKvB7xdH5VQrrTJKKVxPZLxmxOZLtFM YLn5eI9CuMGH2O4KR+7CxeJEK6Eishbq4IVd8+3bDsPKp4Ngne/QkbERdTRTdxNaZ2NX i7KXPK7HdSwdisYw1NOdGmPOyD/FYXjwszWvSa9cqdBd9UlB9jmVchxVYItL+rdJI9xE QoT8WTeFc4JBNrb+IUt90qLWMGXzwYrl5yc3OaeHFfnzcC/Qd6zNPjhjHjGYRZRXvLlp xdxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868324; x=1777473124; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4KnABhFTiQ+hgc9Zoyavg/bcMhFeOEbPPYGyIOK6c+0=; b=cGsllC2h0sK18DbOMUulfYvPMTeNYzyyLUoduvhSkfgpdfFG2TX1A32bYck5VCqnnM HqpoXszgjWlX5Yy4xKyP4adztnjYtyo9jYPd8++QXci3p/UDWB9XZv75A4vdXtB/DffP 72TfM7Uou/4ETokP1L8orU55IWGsqi11+3C7ifmz/GW/R1VDQ2ZkwQk5mHif1YN+fpop FeL+Lw5VZ1YSlBjUpqr30mNel8uVRi84Pv0V4vrU3793ZdZ5rNsYA2nmspkjGKPFE9Be wQvLZfIXsleG8AtCahe16nFTVJdkgSuRfUkxiRFWR7fj3i9Wt9zVRrmrBgekse0imAOw wfOA== X-Gm-Message-State: AOJu0YwpyS8NR8wFKK/MaQeZgVp1gvMTTw2RpzOheHH8egzRApWy2ATs ZrsDTtNzYT4Uvn8NW+UIfu2Zzmd6TN0ZVnpqkTo34PD5u9ZrFql+qQZDzW6o5+ZyU5M= X-Gm-Gg: AeBDievvsm4oe119oMZ3DSscK395j/Y5FzzriDyt+7+/umvtw3AGCPT08FhssnwaBAy B2TU/aStPsTJDvph0z6ZX/bUIkOwwTEfE7CMTZcv1CkpWXkI1VCvw7Hzb7dy5Jm7DNrov1nmyb3 MO48k+nLOHSTVI6nQYv3ZwXHPluq8qNnwOWpsfdDY3xEsYRCsY2S2EgKh0QR92D9kZaWAWUVBfW fArBaD/e5yrEb/Ri5BEwfNUMOMbivwmjBtnQ1uxY7hFRzGmtlQgyJGfRRq/w/xfq7uiS6olQ2zT HHH02Yg9tKJ9jWFDD0NuI7IPZrIYy4nsWigkWJrkL//HM4XN6Qhvv9Uswx6Qz0dU087sDrzI8PA mdOwTgRoPwNx2v/sLpXQIWRVSCh23lHJH1bzBtgwomdM1jU0vZ9hjkrJThYOP557oblypG2zcGK M1/kGjJWzAedwv/nZSc4RAFK4uHQmjSruAP/2CEXSB3fJB+JhDKLT3SwP58IcoVa/gS42bXcyOu 5vHiB5Tmeto4pbTfe5iTzbAGEih+r/a X-Received: by 2002:ac8:7f55:0:b0:50e:defb:9dc2 with SMTP id d75a77b69052e-50edefba0b3mr152357111cf.27.1776868323893; Wed, 22 Apr 2026 07:32:03 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.32.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:32:03 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 13/16] spacemit: k1: append RISCV_MMODE_TIMERBASE Date: Wed, 22 Apr 2026 10:31:09 -0400 Message-Id: <20260422143112.1329478-14-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Append the definition of RISCV_MMODE_TIMER_BASE & RISCV_MMODE_TIMEROFF. Since they're required by riscv aclint timer. Signed-off-by: Raymond Mao --- include/configs/k1.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/include/configs/k1.h b/include/configs/k1.h index 8e148803dea..33cbbeb6fd6 100644 --- a/include/configs/k1.h +++ b/include/configs/k1.h @@ -8,12 +8,14 @@ #ifndef __CONFIG_H #define __CONFIG_H -#define CFG_SYS_SDRAM_BASE 0x0 +#define CFG_SYS_SDRAM_BASE 0x0 -#define CFG_SYS_NS16550_CLK 14700000 -#define CFG_SYS_NS16550_IER 0x40 /* UART Unit Enable */ +#define CFG_SYS_NS16550_CLK 14700000 +#define CFG_SYS_NS16550_IER 0x40 /* UART Unit Enable */ -#define RISCV_MMODE_TIMER_FREQ 24000000 -#define RISCV_SMODE_TIMER_FREQ 24000000 +#define RISCV_MMODE_TIMERBASE 0xe4000000 +#define RISCV_MMODE_TIMEROFF 0xbff8 +#define RISCV_MMODE_TIMER_FREQ 24000000 +#define RISCV_SMODE_TIMER_FREQ 24000000 #endif /* __CONFIG_H */ From patchwork Wed Apr 22 14:31:10 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226521 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=IzliHqcI; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11tv0SK5z1y2d for ; Thu, 23 Apr 2026 00:33:59 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3426B84394; Wed, 22 Apr 2026 16:32:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="IzliHqcI"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id DA80984376; Wed, 22 Apr 2026 16:32:13 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-oo1-xc31.google.com (mail-oo1-xc31.google.com [IPv6:2607:f8b0:4864:20::c31]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 050F78437E for ; Wed, 22 Apr 2026 16:32:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-oo1-xc31.google.com with SMTP id 006d021491bc7-682fce74c06so4388598eaf.3 for ; Wed, 22 Apr 2026 07:32:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868326; x=1777473126; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TDi49fOsBDu/j8iSMpnY89CSA1eEfiOL2bVznXJi5RE=; b=IzliHqcIIdL9bD11ZfVVVct+PV9bZsQ4COZj4GQl/ASdtTYnkJasBgAu7ItuBd5+Sb 3CduDBc2nhP/Vtk6Oi9D84BQzX8C9E6aUTK2mdNNIdWsuT1Tu3AvD2dccbX/Q+qFMM9E TcKJ91iq3V6TgX1D7nFEyYCDUM6H31PQPwCqr3hAj3VdWnC680P5zRLJtkvMXDXRlAev R7qTqLlprl6w5FRmJtSLdNGF5MuskFEIEaGERLKCWXY1mgd3vfptmlTfJ0fXuSJOqV/V 19m7kwN68ReqhKOwpUZasIGcr5wWo2LVBfbRpXW5lB/gcAmJZyzpJpo3hQj4fR4guUqx TfHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868326; x=1777473126; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TDi49fOsBDu/j8iSMpnY89CSA1eEfiOL2bVznXJi5RE=; b=WRntrr957Y0yXwkmRsfqmmx1Ziefcw+U43JAv6z00/ZM47H28WBO3r/dF93zAVOmjo FkDpq/MK8fRNmtPv+I5aJW66lKhRok5w0KJhR0IxZ8CTESgC7v4obflx2ZmV6t6bW4of MAJVxsgjHN1+4XPwz805Vs8OnlSEOT4Z+EE9BVpXr4ohmTBMGuuNaVgurxow88pBMzsA cSAccuCGndodrQ210Gt2EL6S+rsSZMXi3itbf7652QIoa3hWjl92tcKMuGGkcLIeLl3Z K8rgex40WJU6GTg9vrkT8UvK6QD001cJNrv6yEeNplrw7o2cCMS/qLd8/SFDiaIf+w6Y cvvQ== X-Gm-Message-State: AOJu0YwxMOOYRffWdQ/DSZpxRGSYPUpY3uqf7KbPDpB6VLlNWqEkKAVI /UU4rnuU5XWOmN6EcRoX45KbeA4XNx0A942H5W9x+buVRBb1ZHkKYLYKA5MEg/Smvwo= X-Gm-Gg: AeBDieuEQ5u0y9W55/3PQVeZdiW8DLWFo0hZjfMmkug8+XJz7pQNPTSqpHgIPrII+I2 fXnsm2myxQlgCGUoWkJeQzfINHRMtx9xQkuJ8YF8VFM9vgyFBOd15ZTmVglgc6lXykLIEycAEGq kCuYG3fAJCrCSimqiwGZFuP2uNtibEpeve97p0wK5k0Kba3OoCeYuAZCrpquwCwLMfWvU0CwTy+ cidnGT6X1+ZdjyoKXa5HbMxZC45ew5d2BeyeK31Az+As3etmL/0XQIVy/gKl1clNBzR1veaXxHx l1hQMJhve7QltFucoWy1pvfhhDcPUYpWTub6MEEUiflpk4FT5UJwegAlg8EY6zR9vY6EqFqVK1o WH8nL8CYe4OenmbQu96UZZF+AfY5Vl62ikeAm5oQj5mUrTo3e3pPQ0VlZUW4YWlPDd9rbKuihOC DD/6GKFmLn2QgNWqGQGzfWAh6pXyo7k7SZ0TT0wQGSAKPj9GCKh3x3iEZppNjlr1EEV6gCkXzSF DS2qL65S9LysfabWULjaw== X-Received: by 2002:a4a:e846:0:b0:688:29ff:2dc0 with SMTP id 006d021491bc7-69462ef72e7mr12872632eaf.39.1776868326298; Wed, 22 Apr 2026 07:32:06 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.32.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:32:05 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 14/16] spacemit: k1: Add multiple device tree support Date: Wed, 22 Apr 2026 10:31:10 -0400 Message-Id: <20260422143112.1329478-15-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Enable multiple DTB support in the FIT image for the Spacemit K1 SoC, allowing a single U-Boot binary to support different board variants. The SPL reads the board type from EEPROM and selects the corresponding device tree at runtime via board_fit_config_name_match(), ensuring the correct hardware description is passed to U-Boot proper. Enlarge CONFIG_SYS_MALLOC_F_LEN to enable multiple device tree support. Switch to MMODE since opensbi firmware is included at the same tim. Signed-off-by: Raymond Mao --- arch/riscv/dts/Makefile | 2 +- arch/riscv/dts/k1-bananapi-f3.dts | 161 ++++++++++++++++++++++++ arch/riscv/dts/k1-muse-pi-pro.dts | 199 ++++++++++++++++++++++++++++++ arch/riscv/dts/k1-spl.dts | 47 +++---- board/spacemit/k1/spl.c | 29 ++++- configs/spacemit_k1_defconfig | 7 +- 6 files changed, 415 insertions(+), 30 deletions(-) create mode 100644 arch/riscv/dts/k1-muse-pi-pro.dts diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile index 61a7acabd27..22b62e25d4d 100644 --- a/arch/riscv/dts/Makefile +++ b/arch/riscv/dts/Makefile @@ -9,7 +9,7 @@ dtb-$(CONFIG_TARGET_LICHEERV_NANO) += sg2002-licheerv-nano-b.dtb dtb-$(CONFIG_TARGET_QEMU_VIRT) += qemu-virt32.dtb qemu-virt64.dtb dtb-$(CONFIG_TARGET_OPENPITON_RISCV64) += openpiton-riscv64.dtb dtb-$(CONFIG_TARGET_SIPEED_MAIX) += k210-maix-bit.dtb -dtb-$(CONFIG_TARGET_SPACEMIT_K1) += k1-bananapi-f3.dtb k1-spl.dtb +dtb-$(CONFIG_TARGET_SPACEMIT_K1) += k1-bananapi-f3.dtb k1-muse-pi-pro.dtb k1-spl.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv32.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv64.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-binman.dtb diff --git a/arch/riscv/dts/k1-bananapi-f3.dts b/arch/riscv/dts/k1-bananapi-f3.dts index 6b5b83bcdb9..ea11029c182 100644 --- a/arch/riscv/dts/k1-bananapi-f3.dts +++ b/arch/riscv/dts/k1-bananapi-f3.dts @@ -21,8 +21,169 @@ }; }; +&vctcxo_1m { + status = "okay"; +}; + +&vctcxo_24m { + status = "okay"; +}; + +&vctcxo_3m { + status = "okay"; +}; + +&osc_32k { + status = "okay"; +}; + +&soc { + system-controller@d4050000 { + status = "okay"; + }; + clock-controller@d4090000 { + status = "okay"; + }; + system-controller@d4282800 { + status = "okay"; + }; + system-controller@d4015000 { + clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, + <&vctcxo_24m>, <&syscon_mpmu CLK_PLL1_31P5>, + <&pll CLK_PLL1_D4>; + clock-names = "osc", "vctcxo_1m", "vctcxo_3m", + "vctcxo_24m", "pll1_d78_31p5", "pll1_d4"; + status = "okay"; + }; + + i2c@d4012000 { /* i2c2 */ + status = "okay"; + eeprom: eeprom { + compatible = "atmel,24c02"; + reg = <0x50>; + status = "okay"; + }; + }; + + reset-controller@d4050000 { + status = "okay"; + }; +}; + &uart0 { + status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&uart0_2_cfg>; +}; + +&i2c8 { status = "okay"; + pmic@41 { + compatible = "spacemit,p1"; + reg = <0x41>; + status = "okay"; + + regulators { + buck1 { + regulator-name = "vdd_core"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck3_1v8: buck3 { + regulator-name = "vdd_1v8"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3300000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + aldo1 { + regulator-name = "vdd_1v8_mmc"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-boot-on; + }; + + aldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo7 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + }; + }; }; diff --git a/arch/riscv/dts/k1-muse-pi-pro.dts b/arch/riscv/dts/k1-muse-pi-pro.dts new file mode 100644 index 00000000000..43f08317e31 --- /dev/null +++ b/arch/riscv/dts/k1-muse-pi-pro.dts @@ -0,0 +1,199 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright (C) 2026 RISCstar Ltd. + */ + +#include "k1.dtsi" +#include "binman.dtsi" + +/ { + model = "spacemit k1-x MUSE-Pi-Pro board"; + compatible = "spacemit,muse-pi-pro", "spacemit,k1"; + + aliases { + console = &uart0; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; + +&vctcxo_1m { + status = "okay"; +}; + +&vctcxo_24m { + status = "okay"; +}; + +&vctcxo_3m { + status = "okay"; +}; + +&osc_32k { + status = "okay"; +}; + +&soc { + system-controller@d4050000 { + status = "okay"; + }; + clock-controller@d4090000 { + status = "okay"; + }; + system-controller@d4282800 { + status = "okay"; + }; + system-controller@d4015000 { + clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, + <&vctcxo_24m>, <&syscon_mpmu CLK_PLL1_31P5>, + <&pll CLK_PLL1_D4>; + clock-names = "osc", "vctcxo_1m", "vctcxo_3m", + "vctcxo_24m", "pll1_d78_31p5", "pll1_d4"; + status = "okay"; + }; + + i2c@d4012000 { /* i2c2 */ + status = "okay"; + eeprom: eeprom { + compatible = "atmel,24c02"; + reg = <0x50>; + status = "okay"; + }; + }; + + reset-controller@d4050000 { + status = "okay"; + }; +}; + +&uart0 { + status = "okay"; +}; + +&i2c8 { + status = "okay"; + pmic@41 { + compatible = "spacemit,p1"; + reg = <0x41>; + status = "okay"; + + regulators { + buck1 { + regulator-name = "vdd_core"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck3_1v8: buck3 { + regulator-name = "vdd_1v8"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3300000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + aldo1 { + regulator-name = "vdd_1v8_mmc"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-boot-on; + }; + + aldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo7 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + }; + }; +}; + +&qspi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <26500000>; + m25p,fast-read; + broken-flash-reset; + status = "okay"; + }; +}; diff --git a/arch/riscv/dts/k1-spl.dts b/arch/riscv/dts/k1-spl.dts index e3311af76e6..b8b600b792e 100644 --- a/arch/riscv/dts/k1-spl.dts +++ b/arch/riscv/dts/k1-spl.dts @@ -7,6 +7,7 @@ /dts-v1/; #include "k1.dtsi" +#include "binman.dtsi" / { model = "spacemit k1 spl"; @@ -19,29 +20,6 @@ chosen { stdout-path = "serial0:115200n8"; }; - - binman { - u-boot-spl-ddr { - type = "section"; - filename = "u-boot-spl-ddr.bin"; - pad-byte = <0xff>; - - u-boot-spl { - }; - - ddr-fw { - type = "blob"; - filename = "ddr_fw.bin"; - align = <64>; - }; - - u-boot-any { - type = "section"; - size = <0>; - offset = <0>; - }; - }; - }; }; &vctcxo_1m { @@ -54,6 +32,29 @@ bootph-pre-ram; }; +&binman { + u-boot-spl-ddr { + type = "section"; + filename = "u-boot-spl-ddr.bin"; + pad-byte = <0xff>; + + u-boot-spl { + }; + + ddr-fw { + type = "blob"; + filename = "ddr_fw.bin"; + align = <64>; + }; + + u-boot-any { + type = "section"; + size = <0>; + offset = <0>; + }; + }; +}; + &vctcxo_3m { status = "okay"; bootph-pre-ram; diff --git a/board/spacemit/k1/spl.c b/board/spacemit/k1/spl.c index 77b6df1371b..9b30bc9ea7e 100644 --- a/board/spacemit/k1/spl.c +++ b/board/spacemit/k1/spl.c @@ -8,12 +8,12 @@ #include #include #include -#include #include #include #include #include #include +#include #include #include #include @@ -56,6 +56,8 @@ struct ddr_cfg { binman_sym_declare(ulong, ddr_fw, image_pos); binman_sym_declare(ulong, ddr_fw, size); +char product_name[I2C_BUF_SIZE] = "k1"; + static void reset_early_init(void) { struct udevice *dev; @@ -327,7 +329,6 @@ void nor_early_init(void) void board_init_f(ulong dummy) { - u8 i2c_buf[I2C_BUF_SIZE]; int ret; ret = spl_early_init(); @@ -343,11 +344,11 @@ void board_init_f(ulong dummy) preloader_console_init(); i2c_early_init(); - ret = read_product_name(i2c_buf, I2C_BUF_SIZE); + ret = read_product_name(product_name, I2C_BUF_SIZE); if (ret) log_info("Fail to detect board:%d\n", ret); else - log_info("Get board name:%s\n", (char *)i2c_buf); + log_info("Get board name:%s\n", product_name); pmic_init(); ddr_early_init(); @@ -363,6 +364,26 @@ void spl_board_init(void) { } +int board_fit_config_name_match(const char *name) +{ + char fdt_name[I2C_BUF_SIZE]; + int i; + + memset(fdt_name, 0, I2C_BUF_SIZE); + if (!strncmp(product_name, "k1-x_", 5)) { + snprintf(fdt_name, I2C_BUF_SIZE, "%s-%s", "k1", + &product_name[5]); + } + for (i = 0; i < I2C_BUF_SIZE; i++) { + if (fdt_name[i] == '\0') + break; + fdt_name[i] = tolower(fdt_name[i]); + } + if (!strcmp(name, fdt_name)) + return 0; + return -ENOENT; +} + void *board_spl_fit_buffer_addr(ulong fit_size, int sectors, int bl_len) { return (void *)CONFIG_SPL_LOAD_FIT_ADDRESS; diff --git a/configs/spacemit_k1_defconfig b/configs/spacemit_k1_defconfig index 97b6c8cbbb0..13f055cdf53 100644 --- a/configs/spacemit_k1_defconfig +++ b/configs/spacemit_k1_defconfig @@ -4,6 +4,7 @@ CONFIG_NR_DRAM_BANKS=2 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x1000000 CONFIG_DEFAULT_DEVICE_TREE="k1-spl" +CONFIG_OF_LIST="k1-bananapi-f3 k1-muse-pi-pro" CONFIG_SPL=y CONFIG_SPL_TEXT_BASE=0xc0801000 CONFIG_SPL_MAX_SIZE=0x33000 @@ -22,7 +23,8 @@ CONFIG_SYS_LOAD_ADDR=0x200000 CONFIG_ARCH_RV64I=y CONFIG_RISCV_SMODE=y CONFIG_TARGET_SPACEMIT_K1=y -CONFIG_SPL_RISCV_SMODE=y +CONFIG_SPL_RISCV_MMODE=y +# CONFIG_SPL_SMP is not set CONFIG_FIT=y CONFIG_SUPPORT_RAW_INITRD=y CONFIG_OF_BOARD_SETUP=y @@ -58,7 +60,7 @@ CONFIG_CLK=y CONFIG_CLK_CCF=y CONFIG_CLK_SPACEMIT=y CONFIG_CLK_SPACEMIT_K1=y -CONFIG_SYS_MALLOC_F_LEN=0x5000 +CONFIG_SYS_MALLOC_F_LEN=0x10000 CONFIG_DM_I2C=y CONFIG_SYS_I2C_SPACEMIT_K1=y CONFIG_MISC=y @@ -100,3 +102,4 @@ CONFIG_SPL_DM_SPI_FLASH=y CONFIG_SPL_SPI_LOAD=y CONFIG_SPL_SPI_FLASH_TINY=y CONFIG_SPL_SPI_FLASH_SUPPORT=y +CONFIG_SPL_SYS_MALLOC_F_LEN=0x5300 From patchwork Wed Apr 22 14:31:11 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226522 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=aBwui5rE; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11v63L6Dz1y2d for ; Thu, 23 Apr 2026 00:34:10 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4F05D843E4; Wed, 22 Apr 2026 16:32:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="aBwui5rE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 75DDE84368; Wed, 22 Apr 2026 16:32:15 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com [IPv6:2607:f8b0:4864:20::829]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7809984372 for ; Wed, 22 Apr 2026 16:32:10 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x829.google.com with SMTP id d75a77b69052e-50d6ab4476eso54497901cf.2 for ; Wed, 22 Apr 2026 07:32:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868329; x=1777473129; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2W2VmNbJ523zXunxGjidDwxZqBDpi+fzLc3etzSO/OE=; b=aBwui5rEHYTeJjEM918xJ+HKGrRD7oVVCZmc17td3EyLp/5yY84dpequbfsqngFaia Q0CGA74aKOx5KcKSIIAJ42lyW44wbDXhZ2/ZhyxefWLw5QgFuA8oJUDwrPFpwxFTE2nU ddganRTKLl7PO69EdpZRR5nNzLukIAq8kGhBZfdKK8O6F/pT9YW3a8tiZOnX7nqfwqik sy5jFtSLLa32ktYuAlXcowIoousSfAA7bdFr00JEftgWJNqFxuEK+sNUvGR+vR4siymN yYzxiXqoflYtKARosfSXBIZDrOAcpAMzLnUjoi2kKYdo4cT2PtL0S+kjXv5qUoTEBKIK 6RPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868329; x=1777473129; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2W2VmNbJ523zXunxGjidDwxZqBDpi+fzLc3etzSO/OE=; b=QeOg9+6VQTMROqI2QGxCVHWKOdY7DcrGcWN/S21/LO9QolbhnDfA8gJAEo6zzWqd6b x8buxLPp2cJo0cFlIpNtUxUfrG6jlssa+lMdgzemAfLIqAyVg16FrGZcQy6QD+JEqvqt 2c3WHAy7MamI9S4GWGHbXibd1DSzshplsjEt2BLGhplA922m0Kn9dM5ZTybQb8ME9ITl 2fINySUPPiNrOVfi0lXpALmhtZBupG2QwwRbIgsoDVk0ByA+Jd11ZCyeuxiM0zsNfb3e kVpKc4taooNFhW3rIkHzxk1dUw3JNgbMwDLbqHoxSyXFWoA/IYSlkJlIShZcU009XSpO ox0Q== X-Gm-Message-State: AOJu0Yx/5o6MuXsLoHm9S284iviKrX/QxqbKLoGZlOv83psYYfP3VTpC 3eECk8p3QSaHsAq6zB6xLCzAmVV3CINuoFoq8DnOloU8306+9l2xoh7f2x6gS/saQQ4= X-Gm-Gg: AeBDietzw5M+hPrbNcu4h44qBQ6AJFfNWIp/w9exSARW4bo55FyvcoExYCAUutEDeoP a3rwqDkuiJubW5rs4hxIjVjUntgq9wVwgKyXimJmkbeP1a5PrS73R4oV1QUMvbUjxlFEsmUn6UV 3mFddvFEMtTUefnYA51+hOZBtwcccz2yvJwxP9x9f8zbw65K3Iq6ni6WqK5a9lcrvsf1Hc+RTtn 8TH8peljn3CdeMY6nPC3HkjzEHKQY7sWWciG80S/fWP2jAeNS+Fao/kdy+Q96g9261QTP+KvowH DPng9bjRpK103X+VVmjLPzEVPO7mfsqFMMvDryB/zsUtS4KTHEdhofktyaHrBWPX6gO703jpxQ6 XI7hLTBvWImA3V48AqIRv8Z4hkQywH7mAWUk3U+pf/EniJya5ouDiGzPNWdq4gfg/knnZl+y6ve rTcAq5Ye3xjPbBMhzwSv6adt4zN1iYH5eZuud4Jmfjy/7sqHBnN4sH/6Wiope8edX9x5dA3Q1oQ eGCUS4HBHoj4BcARxzjpA== X-Received: by 2002:ac8:578c:0:b0:50f:be8b:f803 with SMTP id d75a77b69052e-50fbe8bfb47mr56072851cf.29.1776868328958; Wed, 22 Apr 2026 07:32:08 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.32.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:32:08 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 15/16] spacemit: k1: Add support for mmc regulator initialization Date: Wed, 22 Apr 2026 10:31:11 -0400 Message-Id: <20260422143112.1329478-16-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao Initialize the 1.8V supply for the MMC I/O domain to ensure proper voltage configuration for MMC interfaces. This is required for reliable operation of the MMC controller. Signed-off-by: Raymond Mao --- board/spacemit/k1/spl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/board/spacemit/k1/spl.c b/board/spacemit/k1/spl.c index 9b30bc9ea7e..2556dfe047a 100644 --- a/board/spacemit/k1/spl.c +++ b/board/spacemit/k1/spl.c @@ -196,6 +196,9 @@ static void set_vdd_mmc(void) ret = regulator_get_by_platname("vdd_1v8_mmc", &dev); if (ret) panic("Fail to detect vdd_1v8_mmc (%d)\n", ret); + ret = regulator_set_value(dev, 1800000); + if (ret) + log_warning("Fail to set vdd_1v8_mmc as 1800000 (%d)\n", ret); ret = regulator_set_enable(dev, true); if (ret) log_warning("Fail to enable vdd_1v8_mmc (%d)\n", ret); From patchwork Wed Apr 22 14:31:12 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raymond Mao X-Patchwork-Id: 2226523 X-Patchwork-Delegate: tim609@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=PWzHZEUI; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4g11vK2lkyz1y2d for ; Thu, 23 Apr 2026 00:34:21 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B04D68431E; Wed, 22 Apr 2026 16:32:53 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PWzHZEUI"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8F4E984390; Wed, 22 Apr 2026 16:32:18 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_GMAIL_RCVD,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B703584324 for ; Wed, 22 Apr 2026 16:32:12 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=raymondmaoca@gmail.com Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-50d87610513so61403581cf.3 for ; Wed, 22 Apr 2026 07:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776868331; x=1777473131; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3DKyP1GeLlM2HxM5e4ojKxbvYqrComSgv0WjNQBya5w=; b=PWzHZEUInl/RPTqcCfKT+PnduG10vXZJ74PRFWL6avfwbwzXco9EjFl3doAPfcXY9j LFqOx+irDmhDqAzswW9Y2HIx6D2BR0jeBtUQ5niZs1r8rzUiT1vdvNq2xfXJU31strtQ l23RO+f4il5OPE9g7dZ2NneQKgLvTzDqIwhEa9HqhjXV3FYEwgFfz+ltTW8Cx9E1zU9r nd3GwYxGvhdkBxgmR4jRC6sR8wJR/xtsNhwDTIREi/xI1FojHy5yFPOzHqVAK+VDGA8b YLCuPoPdLzl8zzyuf0gqUc8IwF/UXJDBnvaAfcPH7MWsSebUy/d5v59SYZT3Ea6GVJK5 kOzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776868331; x=1777473131; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3DKyP1GeLlM2HxM5e4ojKxbvYqrComSgv0WjNQBya5w=; b=BdK8PMNmSi9edh9wnF+aTImArjqrs9hTa33cJOGaooxcn8zZK36pHup7c2OE/85AzU xaeWm1rZN27pivFZj3a6/13V5/KbjxU0NYJD9BB0btuSBytPAicGY3FkOUOkACrBqE/0 b2WX+njsdb3XrP1/ECT/94oOkFWljkDIxNz90lwnovC6GFSwSLmX+xnAFu+SQRFczeZR rOZUcKIT90pSi7hgQXKTwyLTKdfU1+ue6CEzO/DVFqGANa9I45w8s5+/byec16MzcZRY R0GLkMgYVuSzYr1sw3QJQAzYcRmlFUWSb+TLn4ResAgVnz/alP2h01wiFwLwQbZ4eYaK DL/w== X-Gm-Message-State: AOJu0YxpRN0q2iBdKmkeeA0AwwzIKeMg2xdsPpaZpZ+0UWpYyvNmNBmI SDHZUNzaUpATe6DRwq6XRADKSLUWCqQ5iwkSag7ZMJGvhb9OKWWLRROy217hY7MD7SE= X-Gm-Gg: AeBDieuz6Lpy8ElELL1bbA3JnfzfX6ROC58c2ldSkHam5mKOOIl4lKovW+gqhbxpqm4 i1ULNosEGHF2tVqLz/+Z6VgVLgGN4GtqaScw33PTeNcM+FeC+TgKqwwCci7udnYUm3bZpupKNO9 mxU7Jus2Rqk+3xA5BEWhDOh2w1LlFB0YIJbu8eSgMAdAG6OoQxuvPd+ow4DeX6PesSmye6l8Bb3 UPc9WMVPZVJr4IA+oiQLKMALv8GcM2ogmJy66oGF01KkZbLFEqklU9YtOk831CV1l2qTuQJehJJ p4c+D+MYxrGLC3H9DewawwvPFPTEAT3E25kfL/2S/cc1muBCCrQfY5hKXshr+rXGILcd5Ilq7Uj IwGw5lB6GR71N02U+wMhJPezY00ZNAEd91oPNHArnDXDXLlosjdgoLMuH8N2PuNcM3GPPCDpnQ0 zmhbwYYRm0j04dhF2zz/z4nN11xnu1rduUHM6Y5zaFjTVQuIFNIafjcAKZyR70eLdvhm40rqqZ4 5Vs2oyjWqYtyIaAIBqgBKUgmSuC6j/+ X-Received: by 2002:a05:622a:5147:b0:50e:631c:c38d with SMTP id d75a77b69052e-50e631cc483mr165465571cf.46.1776868331274; Wed, 22 Apr 2026 07:32:11 -0700 (PDT) Received: from ubuntu.localdomain (172-97-209-197.cpe.distributel.net. [172.97.209.197]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e394903dfsm138772501cf.26.2026.04.22.07.32.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 07:32:10 -0700 (PDT) From: Raymond Mao To: u-boot@lists.denx.de Cc: uboot@riscstar.com, u-boot-spacemit@groups.io, raymond.mao@riscstar.com, rick@andestech.com, ycliang@andestech.com, trini@konsulko.com, lukma@denx.de, hs@nabladev.com, jh80.chung@samsung.com, peng.fan@nxp.com, xypron.glpk@gmx.de, randolph@andestech.com, dlan@gentoo.org, junhui.liu@pigmoral.tech, neil.armstrong@linaro.org, quentin.schulz@cherry.de, samuel@sholland.org, raymondmaoca@gmail.com Subject: [PATCH 16/16] spacemit: k1: rename device tree prefix from "k1-" to "k1_" Date: Wed, 22 Apr 2026 10:31:12 -0400 Message-Id: <20260422143112.1329478-17-raymondmaoca@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260422143112.1329478-1-raymondmaoca@gmail.com> References: <20260422143112.1329478-1-raymondmaoca@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Raymond Mao This change replaces the hyphen ("-") in the DTS prefix with an underscore ("_") for consistency with other prefixes in the Spacemit K1 SoC platform. Signed-off-by: Raymond Mao --- arch/riscv/dts/Makefile | 2 +- arch/riscv/dts/{k1-bananapi-f3.dts => k1_bananapi-f3.dts} | 2 +- arch/riscv/dts/{k1-muse-pi-pro.dts => k1_muse-pi-pro.dts} | 0 arch/riscv/dts/{k1-pinctrl.dtsi => k1_pinctrl.dtsi} | 0 arch/riscv/dts/{k1-spl.dts => k1_spl.dts} | 0 board/spacemit/k1/spl.c | 2 +- configs/spacemit_k1_defconfig | 4 ++-- 7 files changed, 5 insertions(+), 5 deletions(-) rename arch/riscv/dts/{k1-bananapi-f3.dts => k1_bananapi-f3.dts} (99%) rename arch/riscv/dts/{k1-muse-pi-pro.dts => k1_muse-pi-pro.dts} (100%) rename arch/riscv/dts/{k1-pinctrl.dtsi => k1_pinctrl.dtsi} (100%) rename arch/riscv/dts/{k1-spl.dts => k1_spl.dts} (100%) diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile index 22b62e25d4d..3827ff72215 100644 --- a/arch/riscv/dts/Makefile +++ b/arch/riscv/dts/Makefile @@ -9,7 +9,7 @@ dtb-$(CONFIG_TARGET_LICHEERV_NANO) += sg2002-licheerv-nano-b.dtb dtb-$(CONFIG_TARGET_QEMU_VIRT) += qemu-virt32.dtb qemu-virt64.dtb dtb-$(CONFIG_TARGET_OPENPITON_RISCV64) += openpiton-riscv64.dtb dtb-$(CONFIG_TARGET_SIPEED_MAIX) += k210-maix-bit.dtb -dtb-$(CONFIG_TARGET_SPACEMIT_K1) += k1-bananapi-f3.dtb k1-muse-pi-pro.dtb k1-spl.dtb +dtb-$(CONFIG_TARGET_SPACEMIT_K1) += k1_bananapi-f3.dtb k1_muse-pi-pro.dtb k1_spl.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv32.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv64.dtb dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-binman.dtb diff --git a/arch/riscv/dts/k1-bananapi-f3.dts b/arch/riscv/dts/k1_bananapi-f3.dts similarity index 99% rename from arch/riscv/dts/k1-bananapi-f3.dts rename to arch/riscv/dts/k1_bananapi-f3.dts index ea11029c182..bcb5be5f1bc 100644 --- a/arch/riscv/dts/k1-bananapi-f3.dts +++ b/arch/riscv/dts/k1_bananapi-f3.dts @@ -5,7 +5,7 @@ #include "k1.dtsi" #include "binman.dtsi" -#include "k1-pinctrl.dtsi" +#include "k1_pinctrl.dtsi" / { model = "Banana Pi BPI-F3"; diff --git a/arch/riscv/dts/k1-muse-pi-pro.dts b/arch/riscv/dts/k1_muse-pi-pro.dts similarity index 100% rename from arch/riscv/dts/k1-muse-pi-pro.dts rename to arch/riscv/dts/k1_muse-pi-pro.dts diff --git a/arch/riscv/dts/k1-pinctrl.dtsi b/arch/riscv/dts/k1_pinctrl.dtsi similarity index 100% rename from arch/riscv/dts/k1-pinctrl.dtsi rename to arch/riscv/dts/k1_pinctrl.dtsi diff --git a/arch/riscv/dts/k1-spl.dts b/arch/riscv/dts/k1_spl.dts similarity index 100% rename from arch/riscv/dts/k1-spl.dts rename to arch/riscv/dts/k1_spl.dts diff --git a/board/spacemit/k1/spl.c b/board/spacemit/k1/spl.c index 2556dfe047a..b8e1327dc57 100644 --- a/board/spacemit/k1/spl.c +++ b/board/spacemit/k1/spl.c @@ -374,7 +374,7 @@ int board_fit_config_name_match(const char *name) memset(fdt_name, 0, I2C_BUF_SIZE); if (!strncmp(product_name, "k1-x_", 5)) { - snprintf(fdt_name, I2C_BUF_SIZE, "%s-%s", "k1", + snprintf(fdt_name, I2C_BUF_SIZE, "%s_%s", "k1", &product_name[5]); } for (i = 0; i < I2C_BUF_SIZE; i++) { diff --git a/configs/spacemit_k1_defconfig b/configs/spacemit_k1_defconfig index 13f055cdf53..ddd0c959c12 100644 --- a/configs/spacemit_k1_defconfig +++ b/configs/spacemit_k1_defconfig @@ -3,8 +3,8 @@ CONFIG_SYS_MALLOC_LEN=0x1000000 CONFIG_NR_DRAM_BANKS=2 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x1000000 -CONFIG_DEFAULT_DEVICE_TREE="k1-spl" -CONFIG_OF_LIST="k1-bananapi-f3 k1-muse-pi-pro" +CONFIG_DEFAULT_DEVICE_TREE="k1_spl" +CONFIG_OF_LIST="k1_bananapi-f3 k1_muse-pi-pro" CONFIG_SPL=y CONFIG_SPL_TEXT_BASE=0xc0801000 CONFIG_SPL_MAX_SIZE=0x33000