From patchwork Sat Feb 21 09:42:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4473 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id EC0303F184 for ; Sat, 21 Feb 2026 10:43:01 +0100 (CET) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-483a24db6ecsf25575275e9.1 for ; Sat, 21 Feb 2026 01:43:01 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666981; cv=pass; d=google.com; s=arc-20240605; b=gDHl+S9l2PcH/pFDQ4H8fxFioUJhDOEnKN8wOz77G7cBvqR+fSLNLztZL7mlBIWEI8 t88VZVLfQFtAIbkDdHmYtwDl+F8kvC80Lw9PnoYSsDfRjIiCU3LhB8OMDM0iAQpVwPOw c8KqpJLbWE0Zqs1live5UFT793NMUoXdAevZhkXGEx3HHaIFm99y3Fx9JyraseE9sNuW upw2pojx+HnMNJUb0AZP9f/B5PFwh40TQV6P/dgEBfVy4dFqg5fxnmhEDS0G20O2q+GB I4mopwj2Hwq42gIegyaIUtgTDOf+TyaxlrUcRywLQDVZ3OvryYIkypQgdDXFwYtEoxby 7DEA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=pXnIc67cJ+5hHBYLAtcNI2CzvLYOz0UjRT/z3AzIEMg=; fh=xxbaV3o3CD161aWWVegO/MOKsUGW8bdi2zvqKXub1Mo=; b=fVFmCax9wPSqIDYgoYKgpSom7iFbibP18BVerRct7sH+aQ7h8c1f2lFiKw/QSdBavX FMA6parl7Ia06pPt27Jq7sR1hvmL3uw+mUdwnPTpWy7VHC2pliW/0TmDpY+/BOrmW7Uv 56Dik2p/gYif93JtGcnF8agaPrI+CDiINAMjfZlCdg3g6MkOefEnBrcAgPrdCbXvXfva VZ5Y7B8Z/zcxNwpLb/LIeu+ALx/aXL0tIxTa0S7VMYnHTzyzBCp32mtmYpldhHLa34m0 7Wx6R8tJ6fukUuY00hBlwuM7A0SaTyyzpIctFl1KuKBgnnnCGQCuZzK33s26egD2ArfF haeA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=eXvVmMCC; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666981; x=1772271781; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=pXnIc67cJ+5hHBYLAtcNI2CzvLYOz0UjRT/z3AzIEMg=; b=UibMiC2BO+RShE1/T3MWmxpDCT/+MnxLInVzscXtCd3AEqUGt+Krmsucf54HYIaP2F +HPBRMCHB2jNgmyKRfctqjJG+BA0qvZo97EYacRoyq44vQeVoWOFpSL9pd054p+LITRK vXU/e59wtjs9JRYLAPacTI3YnE2Rk6JvzXhzU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666981; x=1772271781; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=pXnIc67cJ+5hHBYLAtcNI2CzvLYOz0UjRT/z3AzIEMg=; b=Mp3taCodbANFP6cn/BJGJsa3+bNuJX6ycSm/okkIo5aXUdq6SMQFHeaRJo81mb/6oE KZaWiBHKrB1j348rMfECsClWHh4H18iAfj7wwLeX9ZPvIUfsXASwRkk9OAG4k95UH6Xp BO3ydX/4yJ20K4/2r/jgXTbWuR8mofZSS/lrG1w5b3WwXnCiErA2PuqHrRsbresr88M+ m3ZpcksvNs5J+fGXXuKb+odlNpQvKcWI/8r6U/f2mOzCqlPPv5htuDjgXDeZwMZtI+/V P9ylf+QAWTzPlMO3gGEBaTev9Y+ADjp44c6ZB5BlIklwf0W+thaOQJgmAh+U8Q0JEvYj U+TQ== X-Forwarded-Encrypted: i=2; AJvYcCU+kmVzbyJB087teMxyEsW45Zy/EvLsobhJz1DKwOSHrEhjuecI0BNcaQ4k18gfipBfWDIZCfZdPnl9Ha3+@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwNLZtrLiV9TBguPcuRQZ/muHbhdNxSAApT4CQpfHXlFTOgFPIv v3qZ5fd3TW7f2JGKmsYcAdkG5I4hAFaEBJApjuqD9btCp8XgyxO3/Whr/gX6iuzuEienZQ== X-Received: by 2002:a05:600c:a00b:b0:477:af8d:203a with SMTP id 5b1f17b1804b1-483a963778emr34610265e9.27.1771666981253; Sat, 21 Feb 2026 01:43:01 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+HVUfCD6S/y56n+xYXdfaBV8b1sKDn/Sml0EHYSMWZcFA==" Received: by 2002:a05:600c:3592:b0:480:711f:49dc with SMTP id 5b1f17b1804b1-4837908b062ls90267775e9.2.-pod-prod-07-eu; Sat, 21 Feb 2026 01:42:59 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXlSp0iQ1aDUixl5i6qAG/2s5Oh82kj59YsHhKzD1cOGxZ7kRN700FmjXrE6Q/pJtxR/+07bnzjxnUwusdL@amarulasolutions.com X-Received: by 2002:a05:600c:8708:b0:477:7c7d:d9b2 with SMTP id 5b1f17b1804b1-483a963d62amr31033665e9.32.1771666979265; Sat, 21 Feb 2026 01:42:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666979; cv=none; d=google.com; s=arc-20240605; b=Z+vDG90D8v0VBimIsf+9CCZwKc/BWBiP6+m6Ql00/2pqmpMuKyVrPwtUfOm5Wh4BpM 2VPVyAzzhB4EfhN7oOMAwmX2mpAsvv29F8Y0rGh/T4gLKYXAej7ZB29+tqKiZ9A45vXm KKQmGolsFtUDv1tahvozezgfETfH2CHlSBQBlLr6B4nrNa5b61SizuWrEcg0WjDWSCiJ Ye7tmbNpy8rv7G6zQpqVjknyRwLTPRSVvxPQIf8KSfWi6r1b0DovS0iCYBb37+5l4ZtJ vYHmN+RucVNVWjZrzjmpWCFZs6X6GDdpla2VqSjYidDmj6F/dG/ZJ09eQNnYhpcJFVcd 7xKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=5SpwVBfDTYR9+u4Mo5qtV6hRcGkLnuLeVILyHGsncm8=; fh=IIG/K475ERmD+Gd54olYVkqw5FBEi5HDM0wCDy9Pw8U=; b=GpMyh68QKeYZkxrVpJD8O9RkH8RpahLEcFi9rv0u1ZKX3i7c6OpB2ZA53iObtD3VNX 8+LkdAOvB7pNUoWPwJ0XQA8OXFixIEI5EsI2gN8DOcc6AYdl6E6e9BORr+Z0RYyaBZzJ 5lXM3ZtXJ2euJaePNn8O0ZcM+q+yozThcQ69stHwDTXHX6v00pHXPEG1coNAD7G3wyRD B/mxJCGaOzAwwrV7LCYXA4ISVsYxU2U8oWhJmpRwyAerpy5/pqdxvW4nh3p1iAWFr+Ro 9JtANqXX6nD2KFbe7fzeUHPUdaGTmLIYdx8TyEJ6lfj7UCLCErUFwBGwI4g5ISELRsfR R3BA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=eXvVmMCC; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-483a9cb0e70sor1379655e9.19.2026.02.21.01.42.59 for (Google Transport Security); Sat, 21 Feb 2026 01:42:59 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCXHT7W23SoRz3Q4pdsAsrKoECtXJyo6fZBE3DYjJt/oukuKZ/08tohxlp5ALcAXwvSuneYJh35JzgFJ96Zd@amarulasolutions.com X-Gm-Gg: AZuq6aK0vxQJutuoJxEXp/yONYziQfz2A4DbgmI5QoRkbuckxbjEtOGYvCf+fQk4xw4 FnN+B2srOimo1sOF4KcAuH1ApKwikAnTceZ7El3p9yFeF9a1Zqj/R72pAJPrmm1UvGDmfBNVzZf q59r5Ab7DJaRvJyIk6l7kvqXoTwqA4tOucvPz8iCMuD47chcW9ZcyDneh4JQfd/rpujoDgAy04I tVkH3NWIPISSet8Zg7lxFvr3NWgn8OStHpxBviW9znNJ7vEb1Q6wteI9FS1iD78QniaZdLyG6dQ FxFfpv18qEG7lEhoVUTNqZUyn2lCfb5or0Og5WotVoTyGuBOHFAhNCHoowCu+Yy4sXvRjInmmC3 xJmzRyMhHp18RdXb33z3cD45kT5mrTXxpbAY+h+z4dpQSDiJpJ0K8UjU66NdgrEaDH+E62szoZS 0NHWfe927G7K5ld+q+qGQsmMHfxnx/Oi6K+qirVARmpbERlHyOU8lhAIZsWAszarfFEtd4rtSsw 0PK+Gqx7lksCkA0DQaDktZ7uonJfK3HJQmftEPxBouoOGnAIzVWa6Ugb1kr4xa/FcA664E7Fe0Y EsFP7QeA+nEo8cHJBbji9GeY X-Received: by 2002:a05:600c:64ce:b0:47f:b737:5ce0 with SMTP id 5b1f17b1804b1-483a96378f0mr35132405e9.23.1771666978815; Sat, 21 Feb 2026 01:42:58 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.42.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:42:58 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Andrew Goodbody , Christian Marangi , Jagan Teki , Tom Rini Subject: [PATCH v2 1/8] spi: add support for bits-per-word setting Date: Sat, 21 Feb 2026 10:42:15 +0100 Message-ID: <20260221094252.3103034-2-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=eXvVmMCC; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Allow dynamic configuration of the SPI word length. This is required for controllers and slaves that need to operate with non-standard word lengths, such as 9-bit wide transfers. Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/spi/spi-uclass.c | 19 +++++++++++++++++++ include/spi.h | 12 ++++++++++++ 2 files changed, 31 insertions(+) diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c index 49b584c648d6..a4a3b6c25b7d 100644 --- a/drivers/spi/spi-uclass.c +++ b/drivers/spi/spi-uclass.c @@ -91,6 +91,20 @@ void dm_spi_release_bus(struct udevice *dev) ops->release_bus(dev); } +int dm_spi_set_wordlen(struct udevice *dev, unsigned int wordlen) +{ + struct udevice *bus = dev->parent; + struct dm_spi_ops *ops = spi_get_ops(bus); + + if (bus->uclass->uc_drv->id != UCLASS_SPI) + return -EOPNOTSUPP; + + if (!ops->set_wordlen) + return -ENOSYS; + + return ops->set_wordlen(dev, wordlen); +} + int dm_spi_xfer(struct udevice *dev, unsigned int bitlen, const void *dout, void *din, unsigned long flags) { @@ -144,6 +158,11 @@ int spi_set_speed(struct spi_slave *slave, uint hz) return ret; } +int spi_set_wordlen(struct spi_slave *slave, unsigned int wordlen) +{ + return dm_spi_set_wordlen(slave->dev, wordlen); +} + int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout, void *din, unsigned long flags) { diff --git a/include/spi.h b/include/spi.h index 2783200d663e..a92f54a7404b 100644 --- a/include/spi.h +++ b/include/spi.h @@ -729,6 +729,18 @@ int dm_spi_claim_bus(struct udevice *dev); */ void dm_spi_release_bus(struct udevice *dev); +/** + * Set the word length for SPI transactions + * + * Set the word length (number of bits per word) for SPI transactions. + * + * @slave: The SPI slave + * @wordlen: The number of bits in a word + * + * Returns: 0 on success, -1 on failure. + */ +int dm_spi_set_wordlen(struct udevice *dev, unsigned int wordlen); + /** * SPI transfer * From patchwork Sat Feb 21 09:42:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4474 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id DC4F93FA4C for ; Sat, 21 Feb 2026 10:43:02 +0100 (CET) Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-48079ae1001sf328725e9.0 for ; Sat, 21 Feb 2026 01:43:02 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666982; cv=pass; d=google.com; s=arc-20240605; b=LHordmhV3RqnCqvTwrw496InZETMRA+0ydOwmGrjYy7TKVU2+beitej8+85l8CAebi Ks/cvY4eURomJWCvziAgW9/kFqyv2jFqGeq0fbdfqtMLRnjAtFHTpNIvuy+OJnBgMRfU WGJ39u3/Nzx1Uf+2ESKmZfabGXoFLnLz+DGELHI5KjU0AfOVZydesWGYwfNlnFb8qWb6 otViCzXGVOmpisjTGoTxWEgzObIq/yekXDTuzVK9C4JKhLtU1D0EgZNv228BpXUwYlzU Wyh9AWEa2YdwU1HLFUXfJv2AOSdDHP0mnIyC/s8xUO0aUzKVXxvpUA0he7kPjml5eUXL XkKw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=kxVytbmWIKOOh3plyHCrUsSJEj+nfWx3D5ywCewowkE=; fh=rwoqnFJgjFBvdlnQC+x9jt2gdGMw1Zw0P9Q/pMLoWNk=; b=YtP7i7U3XfeW0j99b9qMeHLM2bEYRBaopp3YpPKGxDFf7fY9s5lhnl1O2Qfnqu7Lo0 q+y+heDxJ+YYMes6ACGdivth1CEWkUHMhq/kAPUXtvHh2P52+Xk08ty7ze9taXgFhtCC H08XeVaGbP1hXRqMHtEXXh9OvuEp5ucT+9hAoR18TfpXgDTOfm0Hqd470wk8Wlx8aWzx dV++6BWvVv6hk2tk9h2uRy9gP2tyNfdVfZAnvDamkkSml6yptp5pWBT2ZS+ZJ0Gt4Mq+ SxsRGJU3jrHWdBSio/BtuoP4FpaGpD529syB8DL/GtPBrl7s9Yk9fMKoB5HMNw9GL7op +ZZg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=eXN86hfa; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666982; x=1772271782; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=kxVytbmWIKOOh3plyHCrUsSJEj+nfWx3D5ywCewowkE=; b=dEjab2dQhszcadAAYKRgY384+FwWQUi2FBidyU8C8guzJ8VsqGdxkHLmN33vtLRGvx 6ZY9Fr6cgMUAWi1axcQdEVnQjst6JRnoAQIKdlFnCjoSwUva37pbuiDfpE6gB0WJ4kvI WcsMIHoP8v96furZikFrEKbsHRr06Obib1BYY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666982; x=1772271782; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kxVytbmWIKOOh3plyHCrUsSJEj+nfWx3D5ywCewowkE=; b=bwq7xPoEXSxftPWvLs5olbQyyVgtoKiPx4muuurKk0AxCWVcPLFB2fjsEnHGe9rk28 mXZnL9/dvHN1plPi91a+cfe4EoCf4GA/XGQqJCFzr7faIGIuQd35AxabnBe868BmfWgy LDXA1uAY33iEQxGcBHyJD5rpcRp0BXlJ27snuf1jdk/oyJyTdPa8yBJiV/iRfr4dCrn6 14woMwCi8dS44GxOPIqBlKbeyoVEizOHDBPA6ltpM+YpYnEf3N0Y6PZ3a0L96tn8A1oE mXUICPGk7h0uILPy5mw/SsW52e6qsRpxf5IReI9mn7sGkfzq34A4E1jARXW0hJRNj1Wk 2uCQ== X-Forwarded-Encrypted: i=2; AJvYcCUUsiBGDgjWHOSDuCJuQq8KIxVIw9cN8kL2vQi2k7N4WixpGPpoBE9x0GhxMGf7HlpEZGh221xVtMJeELm/@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwtTaURofIx4Q1ZlPj3Fg7I8nOwrdNmqjJRKXAkQ+6vb1I7T0C5 nythsCvwnhdET5GQScnub7/pEHYHc/M3nAXozOIF5ARClIs/E+zsI9ahyAU3M63mJVnNxg== X-Received: by 2002:a05:600c:4e4a:b0:483:129e:b573 with SMTP id 5b1f17b1804b1-483a962d1d1mr43919975e9.18.1771666982340; Sat, 21 Feb 2026 01:43:02 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+HO28znfcDKnRb0XeylSHf155loE+EJQ/D4DVHRpEGU4g==" Received: by 2002:a05:6000:611:b0:437:6a7d:54e9 with SMTP id ffacd0b85a97d-4378f24b347ls6926591f8f.2.-pod-prod-06-eu; Sat, 21 Feb 2026 01:43:00 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXjIApIFyOFOFXSm6k5ouN550eMAH+Ucc7lHCrFCyW+wm0bBvDR2yS65viCxwVwDQ4jTATgNUbgECWr9AMW@amarulasolutions.com X-Received: by 2002:a05:6000:40ca:b0:435:9e81:105a with SMTP id ffacd0b85a97d-4396f15b31cmr5465577f8f.20.1771666980421; Sat, 21 Feb 2026 01:43:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666980; cv=none; d=google.com; s=arc-20240605; b=hU0TgSMwd3NcrGgWRb/z7XeIwLIihyiFXnXRy/IrhNessRAw5+HBjlHqNy61AnFH8K 81uJukm3n8tXsN8bQTzxiQAc6c91FM1i5j8LiCCX9g4R4c6hwMjxyiqkcEV89szJn/0w UG3UGizFMYcsNSToHzeF4MWQfWz8R3gSRQwZNI38rJKqK75AdkQWx3j7UrOEISSNIyA8 THkkOKbPrrifWSWAdIZS0G5fKXns6jElMLbGapnW73ZOjXOd1yYPzjBUGbwFIvUm2iJt JrinMA+7xq7nFA0zb1liTLbwJpYdQTeT11MYAQiCJB7uE/VeBHrJylIEsLqfYclul4u4 AkEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=F9mxAFse+1KkxrCjPFiqiDmArYA7Aup8uovARfrottY=; fh=oAe771zf7Ufb/eFrAEHi2o3e70ohGpB0eP2kYaL2aTU=; b=e8qZ83nbeUONZe2J7fw2PH/eUBj7QqnTA0v58gRS3wM29gHc1aGe4K4Lx5r3ETUg8g Z+58b2AaDEWbXxWki6qqgPg+iJlJ//Dw62mMz79gyfkgHuUUirgrEj1e0YeNo2g4h0yE qDxpybUJ/iCV8bgzPaISw2Ecit5piT58vm4xnSuXf0KbypqQwcdrYBoeUsSwJs2S9AHR BRdk5sWZK7cObiqnqy3zKtG8uonLNRXBhZYUnXO6psPmH0bmlpNP2KBbneEXNw/A/ccX A+ITnK6DH0p3y1qa2OMGIEIpuzl8TJpDu5Kw1zL58T7qZ+j8R/D6M1KoYZrdbZT4q7+3 AN0A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=eXN86hfa; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-43970d646ecsor183035f8f.14.2026.02.21.01.43.00 for (Google Transport Security); Sat, 21 Feb 2026 01:43:00 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCUbyOS4kw1lHo15qFLL1O6+VfyWbM8Gqj4BWrkRsk7pej6onq89DNqM/Im1/PsOwzYDk/+njxL0g2sDzz02@amarulasolutions.com X-Gm-Gg: AZuq6aJRhIWMeUDuoHOLNhzMTMv9WY52jLYRVB22aBX33rpDhmFTN1zycYB5CxRiKM/ TULLr5SEoSH72i3snbyKUHrxQf0T2GELSEqbcI104owFA+Wp6h/msp7ux/36DivNDivBbSFzViE xLccZ7M3gbYTdyPayFCV+hN7kOC7ydD8YWukpudURYNz1RfeXzvSEgyA+OOGhbZPAfad0Dxoced XyvAwiWddWdjiDoyFuNwxa1FiEl5+DA+eq5k3wFK/Wwz2XiurtBPENoo8gTxduKWZvbllNfXn45 nso0qChf4RlyMUnYMLFpLERt4bHtgN6zTlD2/xdi9r+Vrnqv7X75KDUTkcfT5lPP5WfA1xMBUYq U12QG/vFIJGEUPepfo+L+gc+J2Gp/MeDciBnZmwFRR/Kt8akD9XgDpOgc7thW7tHJv6PXAyuIZw vJa2YbpVGUxw4ZPRf2wsOYOVITgWQaD2lq+d6TxmYoRNCYnmHGX1bp6TfEVr29gJ8uZaA00cX88 VcEc4INf2ruNmgwTb78pBpK9elq7hvvNPoaCkxdvjF3MhxpDATILM8P0EJmYOMD0a2u3iWypJyO Hmm8I+O7sc10f6n/TD4n/SaT X-Received: by 2002:a05:600c:8b88:b0:47d:885d:d2ff with SMTP id 5b1f17b1804b1-483a9636340mr34250205e9.29.1771666980031; Sat, 21 Feb 2026 01:43:00 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.42.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:42:59 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Jagan Teki , Simon Glass , Tom Rini Subject: [PATCH v2 2/8] spi: sandbox_spi: support wordlen setup Date: Sat, 21 Feb 2026 10:42:16 +0100 Message-ID: <20260221094252.3103034-3-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=eXN86hfa; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , The driver currently ignores the word length configuration. Implement the set_wordlen operation to store and track the current word length. Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/spi/sandbox_spi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/spi/sandbox_spi.c b/drivers/spi/sandbox_spi.c index 4cc016138b11..8eed56140f6a 100644 --- a/drivers/spi/sandbox_spi.c +++ b/drivers/spi/sandbox_spi.c @@ -34,10 +34,12 @@ * * @speed: Current bus speed. * @mode: Current bus mode. + * @wordlen: Current wordlen. */ struct sandbox_spi_priv { uint speed; uint mode; + uint wordlen; }; __weak int sandbox_spi_get_emul(struct sandbox_state *state, @@ -61,6 +63,16 @@ uint sandbox_spi_get_mode(struct udevice *dev) return priv->mode; } +static int sandbox_spi_set_wordlen(struct udevice *slave, unsigned int wordlen) +{ + struct udevice *bus = slave->parent; + struct sandbox_spi_priv *priv = dev_get_priv(bus); + + priv->wordlen = wordlen; + + return 0; +} + static int sandbox_spi_xfer(struct udevice *slave, unsigned int bitlen, const void *dout, void *din, unsigned long flags) { @@ -158,6 +170,7 @@ static const struct dm_spi_ops sandbox_spi_ops = { .set_mode = sandbox_spi_set_mode, .cs_info = sandbox_cs_info, .get_mmap = sandbox_spi_get_mmap, + .set_wordlen = sandbox_spi_set_wordlen, }; static const struct udevice_id sandbox_spi_ids[] = { From patchwork Sat Feb 21 09:42:17 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4475 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 3236A3F184 for ; Sat, 21 Feb 2026 10:43:04 +0100 (CET) Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-48069a43217sf23885905e9.1 for ; Sat, 21 Feb 2026 01:43:04 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666984; cv=pass; d=google.com; s=arc-20240605; b=kNGOqis46/KnAOkKEVqTg7Z9+yG1V/gI0RAyUb1vO5M7Wj7lqpFV+/hvWAD5FYNZHb QvILesQT+2+vXYMFjVauC2Fho5fkafQODwsGx3KqsU7X/lAlj9Mb1QLyI7xkgFh8gPV8 f7Hd+LhCKEDDWgQLw3OQS1xTeZbSpPZ4euq1QhDJbjlXquauf8NCx6sAlSrfld+DVGrR GHN0lgm52v0XRjRqTJXPOjIP1/DbWTMJKigs6CZ2/dQArutD0Evtj3g5PZtyeW5bZ1MN guSuF8MCgs/E85Sw72UNdjBdVdkwimf21P7UOZHoq6XjxJOkkZkoWmlPnw3SRFFTyKix U0eQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=D4DmN/ofmLFshCUfd/fPSq8tyDuSEkUvPvjTPb+1zwQ=; fh=R2lFlWjZUBRAlQpEiwR33CaAP6SohnA5bVX2W6UufvI=; b=OqsKtmyO/dW7dLeZtJ/0ueRXWT4cGJrghP7zllX0itNAmsv3a59EBb2sZlt2MdUiin 3pGMte5zfY+1+PYYOg1W5tuWq9MbkFVXI5GGMUJ1UkLdKqgQ5Lxb24DWkMS7RyRNtytW SBkYRihs9apzF8a5+dDl5LQPEXLR/JK2NqlNiWaJqRT/mNrfy6EKdXzTBcCF1aKKJFt4 ElB8D4EFb45FUHwYxgWhvYaTGBqoxO0flqDRdNUDvc+JQuYLEy7qKQV0U+lYcWLsvsSb OfOIuqmKXEOlGHTikbITz9wjFFYDSpxC+ijhUoDlQjeMBtL8uKgpdUTNGdfW+TVDSzYl jmQg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=baY7ojQg; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666984; x=1772271784; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=D4DmN/ofmLFshCUfd/fPSq8tyDuSEkUvPvjTPb+1zwQ=; b=rR2Zl87GOSWSobE2DJKXd1e+hqPrJQwllkld3ABJzpHeVgBU5ej5sXVKV4sX2NYLRW PzMGay6HDm4eHw5C6+FI58+LEIBbpg5KANdJDqeYmzP7/rNac8QtBYJBHw4a/vAemdkR mOUyuVnjY7YDo8OADjt0mdtx/fF3wgcCE0Ok8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666984; x=1772271784; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=D4DmN/ofmLFshCUfd/fPSq8tyDuSEkUvPvjTPb+1zwQ=; b=rn/fc7dkElyrTmiv1J1rpl8Qy/AL3A6wavhuj/ZoXVkmQcsIggA2J5dDvF3brFsRmD 3BqBDY/nXLmda91oCv5m6Oa5cB5T3qssLT1ND993qcdLe2TNsK6nt5np3yvw0TnljfV1 T8HIxaS1/NrxWpevZ3ffIw+sxRkJ1C68ATXaoQrwQ45Y7nyXHtl4ljZp1gEAF5GKINa9 kW6f9/3FbZVDGJt35iwma9dLdbsxkq35PQ/SQIa4Y5yuY7JuRoqQk6jFy6M16NRNQb7E E0K3fJXz1dahQiviwQ6EYFvgKmDm4JG6NPjfigcBKCWQAOK+5AdcmOXZXdgffZtBZqUp RtRA== X-Forwarded-Encrypted: i=2; AJvYcCU5ccDBrRnzv5EDOBQW46anqEgPjh8g0TYe/cERYh7NGqi5h3gR9H8Bmbkx4OdPM0pFk8K6JmpzoyO6n72w@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YyM0yRQvcvYxu75Hc4JlEvowkm32iWpHdcLt8TaAJDwadpiP933 SmopUwD7bbsfamBmp2torXfZUla9zvGjjj/SLeUEKtxxwnL/e+dWUKgeXrVK51xdSlPsOA== X-Received: by 2002:a05:600c:820e:b0:471:1765:839c with SMTP id 5b1f17b1804b1-483a95eb319mr39214715e9.20.1771666983781; Sat, 21 Feb 2026 01:43:03 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+G7T9K2pbkLOGoJg6oOg1VpMo5VY02Fbx4eiWNdlt3Npg==" Received: by 2002:a05:600c:1d0e:b0:477:5a45:da9e with SMTP id 5b1f17b1804b1-483670213a0ls66006305e9.0.-pod-prod-04-eu; Sat, 21 Feb 2026 01:43:02 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWLmp6744iAAxTS9DHQB6c446HKaw5yY1OZwN8EHZsOBbjNN1+B6QT4cmOA1gaWO39/Bf9Ofqx3dYya4qtV@amarulasolutions.com X-Received: by 2002:a05:600c:6296:b0:47a:81b7:9a20 with SMTP id 5b1f17b1804b1-483a95c6774mr40419945e9.9.1771666981774; Sat, 21 Feb 2026 01:43:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666981; cv=none; d=google.com; s=arc-20240605; b=ZOJzCgbAqIK711Ssz/BAJEu9M9hIY4mto6bq4/YQfP2r0HE5IWSoUGtdqvs6z6TIow TT5DOcAsDEzY7suKnYFn+RdxbBl+AHZO3kYliifCuzo543e7VXCd5MlG2bJKkc7F+bfP 24ETxXVzpIDsRz8JEtFbV+ExOX+EpOwetgQ7BB/3XEtBptrVjRu5tsvJhglIB++QTtly +3hcsXeY6MvECAiLRsUk90zWT+l1jioc/kMgqWjJ6rJe5Y5PhDsItemeawjSbNP9qKPN y9MN8tZa7pTWT3xeQbUaNh9PffWGy705U7D3mkpVnjJfGUn6xS2U1I7LaKj3JKGLQoRI yLNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=dh5Z81BHMLz+L3luo+o19BjOyiH42+e1YEzMpViHm8c=; fh=7aOlLes2dP5CoyGHxm7C+pwo1KAuQ/aYWFEPliKul9k=; b=Cgs92YALBIx3ftVqLvhkZNKLoslud58tr4HMwTZmi6bStBVmEXj2xGruiBLHzxcIhI i4d/MRrGa8UFAwIf7HBTLUBGhT9xFH8wwgJ11+GvN82w5Wg6Ed/ynjiaeeUiBUh4NZsd uFP2FCGjjEMFg/BB0qYLT8h3yBEVLFfOExVf+ieTwO9ry9CC0Y/i1ju1CMIQC6YcDN4h wS+2pSM5pOrYrfPjNlvbxe88fGpxFwDZ0pLzfqeu/CwtY/rkLnTjgUNJrpJhwPTxKZFr raJucTtFw3RQGhlqvBftuW3LddwS96YjmSPzVJCj9z4l3jrHrG7qctVBtzawsjq6M6R+ JxIQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=baY7ojQg; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-43970c04b25sor231479f8f.8.2026.02.21.01.43.01 for (Google Transport Security); Sat, 21 Feb 2026 01:43:01 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCUbEDGTnB2z1dhWxlp799OWN4xZ6J5wY3+pPsFnfqhF7GhzTPxqjpUi+sKUdoLjfKRohij9yUpF9J2cfwZk@amarulasolutions.com X-Gm-Gg: AZuq6aK4cbJZEPh3lDvVfpZbmCEwnmliChymnhNmsAuH/btsDF2fFX/JIcpvczAzGaN 1euLP2Lmt7fa/M98HaOj0a39X6NyzAOqUMlWzqeyyUxf/3FtV2vjLZNfvZiRrXZ0lHVEcxj+NiQ 6Hra9O2I2lTX+dYZ8V7c06xq1NJc0vGNZrxDfJkBsE8h6lPeBUhv+p64jfHI7dYd9sgfzMy1yt1 3vASsM0v4kjvJZNBum2BNNARu7UvFM3PT7VWH0Mw7EbV3+PUHodbiAlCXbhHXCMKkEhoIKclvZa LHkcMQw5WZnJN2hT/m3B5umdO0ZN7dxGE9qV6QIJVVl7o9yXBx7G41zQQWJQGfflbUHub1m7Mt5 rqU3fasP3NCIX1TgVfGNmr+42JMlZdQmSfjvaJtJDgyJs5ueFqjTP4yOhuhhp3n99pRjMAhAouO ZiWYdfldndqJwm1o7iXNYlIr/5o+DL5bgzjsDcRUrZJwppeuBS1/9IuQdOCRjjJhILAqLPYfcKD 7hTK3Ced/J7MTFdjkGhsJMxDhfDS9LNM0ANvvO8cw4OMTmAho5ni5WY1jwdgVHtvMunqCgjjdSe M/enr6qoDQ0hPG8I8Tzl3rQ8Fu81AorAtEw= X-Received: by 2002:a05:600c:3484:b0:483:7f4e:fef6 with SMTP id 5b1f17b1804b1-483a95fa4e7mr29237575e9.26.1771666981323; Sat, 21 Feb 2026 01:43:01 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.43.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:43:00 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Jagan Teki , Simon Glass , Tom Rini Subject: [PATCH v2 3/8] test: spi: add sandbox_spi_get_wordlen interface Date: Sat, 21 Feb 2026 10:42:17 +0100 Message-ID: <20260221094252.3103034-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=baY7ojQg; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add the sandbox_spi_get_wordlen() public interface to retrieve the internal word length state of the sandbox SPI device. This is intended for use in sandbox SPI test cases to verify that the word length is correctly propagated from the SPI uclass to the driver. Signed-off-by: Dario Binacchi --- (no changes since v1) arch/sandbox/include/asm/test.h | 8 ++++++++ drivers/spi/sandbox_spi.c | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/arch/sandbox/include/asm/test.h b/arch/sandbox/include/asm/test.h index 0e8d19ce2325..0438790028b9 100644 --- a/arch/sandbox/include/asm/test.h +++ b/arch/sandbox/include/asm/test.h @@ -243,6 +243,14 @@ uint sandbox_spi_get_speed(struct udevice *dev); */ uint sandbox_spi_get_mode(struct udevice *dev); +/** + * sandbox_spi_get_wordlen() - Get current wordlen setting of a sandbox spi slave + * + * @dev: Device to check + * Return: current wordlen + */ +uint sandbox_spi_get_wordlen(struct udevice *dev); + /** * sandbox_get_pch_spi_protect() - Get the PCI SPI protection status * diff --git a/drivers/spi/sandbox_spi.c b/drivers/spi/sandbox_spi.c index 8eed56140f6a..b035a60ef43a 100644 --- a/drivers/spi/sandbox_spi.c +++ b/drivers/spi/sandbox_spi.c @@ -63,6 +63,14 @@ uint sandbox_spi_get_mode(struct udevice *dev) return priv->mode; } +uint sandbox_spi_get_wordlen(struct udevice *slave) +{ + struct udevice *bus = slave->parent; + struct sandbox_spi_priv *priv = dev_get_priv(bus); + + return priv->wordlen; +} + static int sandbox_spi_set_wordlen(struct udevice *slave, unsigned int wordlen) { struct udevice *bus = slave->parent; From patchwork Sat Feb 21 09:42:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4476 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 3D1723F184 for ; Sat, 21 Feb 2026 10:43:06 +0100 (CET) Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4836e35292csf25372575e9.1 for ; Sat, 21 Feb 2026 01:43:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666986; cv=pass; d=google.com; s=arc-20240605; b=cjg+kJ6BkK5hEHWKUKnAokc8nJQMUGjAVfrUjtB4eJdCxRC8K+zCi3ETck4ho1Dnms AcCNZSKR9pR0uesRJwEk0HNgaGzq7d7Ubmmt+uNj8vLmCRj/rd51Y6eHn4nZDQ5b0TJS t3Fzlx0aTiWUQBL2ZTgvgkvedCRERey1PhTOgGpALmIrMF6IkG55364n9Wz4Z82NOPPE W5FyNufyvEuoBVfjUwG3Mg1fSWaYQOMjDl/ZCOyYEG5hCZX0/z3ZvQLUacSGUZKIg54/ TTY8b1z1ydGCeBOwgPYTJvw4P8TErdcerYsW4SeyYiv4TJqgw2AZesoNA8PZFVjUxJpu 0KKA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=1vtbP2v2e2cdv4Tz0dF6JoFuOCaz6+dM8mxAsvzN3ho=; fh=f0le8WX28jNM0ilBEr9kXv9oE8CLolBozavfr955ol8=; b=ed1hpA6Yb9nPUaF3s/HmcvpJV9qBjxWf92ENNuZtSEFLSmQ07uMB6k++v1r48Iq6Z6 8Kmj1hjjipdpUVod1GXqTRR1Y2F6XLfJM+tT42+ekMoJBaWjGaU1T6LH2PHG0AHMQZ4m MCD9bRx3p2dhUt0KUABvagzaY/mmtkkRFNMOeO78cF+PK7OYRbh/BSDNcRCbtFAXDDx1 WXs3VCSmVwmN5rWhqfLKM2fqhB59q/2tR7YF6wHM+qiYVj2qCCJzdaKXAcvohPgDcSbw PZGkx73law6sfIR/pF2IQ3JcGw+2uLZOyhhVUtgBFsuiRqJk7ecVZBdQRUopDKpNZE+6 ftjw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=DkZ+OgTR; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666986; x=1772271786; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=1vtbP2v2e2cdv4Tz0dF6JoFuOCaz6+dM8mxAsvzN3ho=; b=XM2x8QoIAfzWvejUMRjyh7bDWXhx+KnU4V+79czCM2wTPsYlEGEZTH1epGlutq8XDn WAtA7qum430JVepDJmmuf0I8I/frzc3XBSsqKEIEXhV86P/utuROk4mergoJyK7NdjnG pD4pe436mfwYCfYnCI6ZbPnMgiIP9e7f65MGw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666986; x=1772271786; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1vtbP2v2e2cdv4Tz0dF6JoFuOCaz6+dM8mxAsvzN3ho=; b=we3DhpC7jOAX8GXwznpRiK9R8ghs/scxb6WEuOAibAJRx9ecBUUouWa6XSglFxVzpO R1C9bzmaAf3n2aql04a3TOBsv+CEQ3xq3YNtEuAoS7+RDNR6LnkIlARJuI6y78XkDGXy dfLp/Lny5rLbFQ78Kudz+/ZXFOQTYBTbqovuT9DVESqPL+y/1GntaPeWH7ViH1MzpXNv vZghi2ujzBv7/+WzB02wFtEMySb/zSRPU3C8mIh5KO9/LEozTDetBI1J2yHRreHobMQI wXVCl1O0dN4Gi+IWBWmDOpLpBcy267Du8fG0ER1kFfTPzw7ekSSV6rEgK09N9eyND6xT UGOQ== X-Forwarded-Encrypted: i=2; AJvYcCX5IrwgzVNUcyZ94VcYNf58jIwAuftLBjzrHIinLfWzZery6eOnw+kUOcz5sa1WYZEWDKCtr2LuhO+924LV@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Ywuvoy/lMZ7oSm00KZk8H1Ii9TCOxXuwxPAlP1RN0JGd+iypKv7 fX2/IbGCAqftjSc1XFRsu7GLFeuE7CYSodiwpGTjxtjbVK6HsMDYvdPjR8RYShR7MybwZ3siHs0 jpg== X-Received: by 2002:a05:600c:3484:b0:480:4b59:932e with SMTP id 5b1f17b1804b1-483a95b58b7mr38151005e9.11.1771666985801; Sat, 21 Feb 2026 01:43:05 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+H7/16+7NtBCL3UR6jEdsFlDJf56lEmi/A3k8xuYbJ1YQ==" Received: by 2002:a05:600c:350d:b0:477:a036:8e60 with SMTP id 5b1f17b1804b1-483670260a0ls62929125e9.0.-pod-prod-02-eu; Sat, 21 Feb 2026 01:43:04 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCW9CkhdfmMvAjiflzzX1vRC2iqezUw0+oOVza/xtpq6W08HzIdYBsro1TMQJ00gapMFiybn3jd/a78xH+Fv@amarulasolutions.com X-Received: by 2002:a05:600c:3484:b0:480:4b59:932e with SMTP id 5b1f17b1804b1-483a95b58b7mr38149565e9.11.1771666983802; Sat, 21 Feb 2026 01:43:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666983; cv=none; d=google.com; s=arc-20240605; b=Zd/XSJzfsc5UssUKST+iXVb3F/IW1VcRAbvDdKZQlObt7B2RAnRdezHSqAX3r/o+g9 fFA2mIwRxfNSo+LKOpLsCFj0lR6CAFo4guvM1kbXx0iQCyOYKfIBORytmMgeoChcJuoB /eLnwVhFWztyI6xNDhWv0WZcgv8tkmzzpLnRPhbGs+U2MsVcljELczOW+DmP2BH+qLr1 FQF8q9Uapg/nG2RdgKBj2LDe+M4W/ryJfU3ONBvvtdwPPo46VvdUNVFtgKksZNxxNF5H /NmAfdZv8yBHmLV2l7kVhWvGzNtC5lXigArnx2+Vkqih0IFrChR19mnD7XekH3vxSVd1 70kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=c/L2uEpNTbQuctgMgYus4x+1Tt+OICDGut2oOlePUus=; fh=ycf3Ez5wWXpTzLp3G8SmMai9LU3AwrMKsI+aQ6ZQXjA=; b=BTYhLsZ2l/7SC/ptIu5hxNgi0UokykQU/ZaOUR1ceeK9YIys7INb4OkpgZ0EpVg02X rOO+S0xFkzQY31tkvuWk8ByhcNPYoUlNSGNduInTtKEKgguAWIYZLP0NFcsat7gKnyFv Uv0LFslTVIex/72qrkdTx1z4Nz5LdxT36xEDRsEK80M3xT5+1Z3GHJyCvSYXcGBCvQv8 8XVO6iDVmY31OEVA85ytnuUsFqi0bhQKVUI+U0oO9v3/Fq9Y82BkGoxti8VZr8x20L5Z b1IB8Eb44HjABKjIBoZfh/f+0Db0QcD7MPsIHpjXCWS4lbngYV0h3UvJXadq7mYoA8YW 2LlA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=DkZ+OgTR; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-483a9cc8a28sor2513675e9.22.2026.02.21.01.43.03 for (Google Transport Security); Sat, 21 Feb 2026 01:43:03 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCXFC+WOXUtuN8JIXpVoudrPowUrzzK2gUw+LCZ7CFpy8TWm20PHCO+UgD28kjslkEqFeDAe9Cr3Rb/lqVAa@amarulasolutions.com X-Gm-Gg: AZuq6aKMPabkJ+fM7aOP+vT4Z/FI6Pk+1d+XSSQNAaozzbEMUyzOeTETmNfSerY2bNE NVPc7bW9V+qFLihvZx/uNSPjF84K191l4P8IvJJWSWsJPy72fFBrAZ1pPWsnc8H3fXFqG5MY1+E 6HcfNpXcJRAUVRChE89S2nrdpegnBn7vDRiLu1wQQa7A5ltgAoRcAdF/b9EEUTNBnhxOT2rmjH9 PkFeAHSBI/hAC92ChFo4ZdSkUy/6GOT0BDB50Y+2lDrI7vrQ5OJOamT5Ec8LaDVnFqSQP1OFTYa WfMIJimK+ja2uED59uOSaay1LKAHl8OIRr5ZnJ28yLf/gZy0oRpsjYcIFiy0uixp0ftj6VtxOZv hUAjiSkMgkBknCp4wiPB9kef3g0P/RzxXF++YihvoiOiZVf+/CdMPEZMZniM7QJ0YTPyyNau192 nvde2ZOZD1Me17/EjU8S5DHNEMGfJANvuXTANUC+TzVxVElajf/bTDpSeVbXuDfTV4EpS81DzBY WL9/2iDVWd0pULCT69mHqQLTshYHB7OB8oahuXPb1jl6SaGw4HPLuVc78/nl9G1IolT0RnGCv2B GaXPgcH6Oh2h8I07SdqJPgFU X-Received: by 2002:a05:600c:470f:b0:482:eec4:758 with SMTP id 5b1f17b1804b1-483a95eaa50mr31280085e9.26.1771666983310; Sat, 21 Feb 2026 01:43:03 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.43.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:43:02 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Jagan Teki , Simon Glass , Tom Rini Subject: [PATCH v2 4/8] test: dm: spi: add testcase for spi_set_wordlen() Date: Sat, 21 Feb 2026 10:42:18 +0100 Message-ID: <20260221094252.3103034-5-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=DkZ+OgTR; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add a unit test to verify that the SPI word length configuration is correctly handled by the SPI uclass and successfully passed down to the sandbox driver. Signed-off-by: Dario Binacchi --- (no changes since v1) test/dm/spi.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/dm/spi.c b/test/dm/spi.c index 249a9238fedc..a89ba06274fc 100644 --- a/test/dm/spi.c +++ b/test/dm/spi.c @@ -170,6 +170,22 @@ static int dm_test_spi_claim_bus(struct unit_test_state *uts) } DM_TEST(dm_test_spi_claim_bus, UTF_SCAN_PDATA | UTF_SCAN_FDT); +static int dm_test_spi_set_wordlen(struct unit_test_state *uts) +{ + struct spi_slave *slave; + struct udevice *bus; + const int busnum = 0, cs = 0; + + ut_assertok(spi_get_bus_and_cs(busnum, cs, &bus, &slave)); + ut_assertok(spi_set_wordlen(slave, 8)); + ut_asserteq(8, sandbox_spi_get_wordlen(slave->dev)); + ut_assertok(spi_set_wordlen(slave, 9)); + ut_asserteq(9, sandbox_spi_get_wordlen(slave->dev)); + + return 0; +} +DM_TEST(dm_test_spi_set_wordlen, UTF_SCAN_PDATA | UTF_SCAN_FDT); + /* Test that sandbox SPI works correctly */ static int dm_test_spi_xfer(struct unit_test_state *uts) { From patchwork Sat Feb 21 09:42:19 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4477 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id D438A3F184 for ; Sat, 21 Feb 2026 10:43:07 +0100 (CET) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-483a24db6ecsf25575775e9.1 for ; Sat, 21 Feb 2026 01:43:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666987; cv=pass; d=google.com; s=arc-20240605; b=Lan/RLNHg3/X7PONBQpo/bG9yzopyV/aiTUoBGNEaLHHvu0E90bDtTKIDVEvqfZ0Mo 9VcQTb7V/tBj1CVIlHwcud0QrFYj/BVetKwxS8JOVOKmOda2ocuGWD+2Wab7c58n0reo HspId+7je2pKUrQLuXSf2bDxhWmcdo5fwSV/h0A+QORW1jG0E4Hmxw08FVHqhaHl7frN Ub/l2Ztz89BxCuZkv38cwBR1Mrlonj//iLP/d3zpMt3bqkCLn8D9IsdIZeaMj5F3XcJp gJdppWAax/v7CKPRhZoGYqbgd6zh+65dwm2NhNy6s12FaqM18nFcJZHh2/NuLFNff3cS mc3g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=j6uGyFHGU3TY4cBz3FVzowa4JVeO2TXeeeTam5QQRzY=; fh=Skq4UO+x7ToRzchJN1EhxPpW7n7Qp7V4KCMqF60ZDP8=; b=JBdCH+gFBJ7Y6NqN7YQBS/9M0yXlRRZev1DCLAmZFsXoIwblZ7F4YM+n4dCeWcak1f egvWsCT1m0xfBbgdh2NDX04tePiLhgjHbWy+51NashYZuerFzpI3lGL+W8ucmharvnl1 MAK/pzt099ZFGqphnlj9Fw8InY6ouZvB9YIanLLsib522FMymXYUPFf5cKe7CVLB3Jqa TWzNS9C+M6LUA27HFlwcT6BdzVqpz8hqiMkXtwf00tVgRPYMV9n68dmEOjUSG4gORM9O v1cgf40vJ3G3m2VTM8h3IlT1cKYF1Bn79tez15ewgf9YHIwM6fl5aiE6UvJ0fioWJEOM hZ+w==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="nfh/Qugf"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666987; x=1772271787; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=j6uGyFHGU3TY4cBz3FVzowa4JVeO2TXeeeTam5QQRzY=; b=VZ3mVCOX2lXaKOFyeaOPftF154/L+bo0OVLmlcJf5IqovbGc0qCW8dsFhuYirsyR6B YojLYBDuiR8GtM8n51L9sYP0crNpvLKmQ4M13XmXoXoCV0PsF5hg6UIyD79jUkCZM/Fd b9hG+3wKmXplWj2fBbHdOlqu9JdR5KlFEQ8jY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666987; x=1772271787; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=j6uGyFHGU3TY4cBz3FVzowa4JVeO2TXeeeTam5QQRzY=; b=UsVOU4huJ5QDy5MYGyytf92qKHaQdOOvO0pl5Fa3Bejdr5v2y8IDUqqSdl7K1sQljM 99EIAJbTvVVs8FTEJclwaAcBVo+I0tHUDzPc6DxIo9ZU8JFnBVk+UMykaCuk/QyXMJaJ aCaeFFtxU/u+sEvIJCdydaGL6EycR5g/HIiVsFlG6+jisZFdnZE3YftO6XmjcWmvnwpl cxTI4v3iHm0cJp4ml3q5SGWTF3W+VFtEzxdRXjwOhDWeSmTNQ9YDg4CEmKHQtwlAVX7d HH9ljgZltyQzf0APAyxUHYjIXAhE5HBAKobSV5nZChT+OYxoEgj6TFAoNyhWLWGuOuPu WzUg== X-Forwarded-Encrypted: i=2; AJvYcCVYxVZawr4r/DAHrz02MmCtUjxPldHTnBiw4RBxiA8vJXIWLpDM8+vbCvMVZn4hDWUpO7rTn21DXklkRMsu@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yy96tUfXIDT6KbHOxRw+Dp8NCYeTj3jjplqnD7kJ9pKP7dnioVe gp4Vg/7lyl8PaP+UYUoSDJI3rXWaPD4gHY4SdSSsxcdneVEFWOLDZyy2MPOjl7e6QDfRkyh3TLn H9Q== X-Received: by 2002:a05:600c:1f8f:b0:47e:e57d:404 with SMTP id 5b1f17b1804b1-483a962e459mr44387075e9.16.1771666987226; Sat, 21 Feb 2026 01:43:07 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+HvMdcy1AfNh8JYgKlDMAJheSNUc1J1Ywb+zaERYhJGRw==" Received: by 2002:a05:600c:1550:b0:477:a2eb:9a0a with SMTP id 5b1f17b1804b1-48373a7c5bcls63454615e9.1.-pod-prod-07-eu; Sat, 21 Feb 2026 01:43:05 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUIqSlzQjImh0sV6uvcikT5OtNScy9SHIa/19ofcb7gA6RN/l1fB+MQVYGON75kPpxX322UkIDM/2zusnQc@amarulasolutions.com X-Received: by 2002:a05:600c:4e46:b0:483:a8e9:201b with SMTP id 5b1f17b1804b1-483a95a3851mr38635925e9.0.1771666985075; Sat, 21 Feb 2026 01:43:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666985; cv=none; d=google.com; s=arc-20240605; b=R5eeXM7nbIxBBhCgI94HY6l8hwaY2q9+GNxds9EKAfqlErOxtPYB7em7Zl43G5dHxB Uy2hztQetBz64+bCFjT9m5j+IoeaQqOqTaufiHTWJPGW5Ae6li7KUe6QP73amYwALdMZ HaxsxmIbcX8jsg0CHlq1xKgX11/Kuvc6PGbhoJm8qTFAvVf33sMZD1bQAVe/EKcHQxaM MK46DcIierBXvNxKOpmhRXpDI3uifjn+HQgfJfReRTIX9Kvw4dCqTmCxo+ZqrV8GNhJC SbnAQt2gl8bIkL+S+JXJlslpkXwuH4zECnOEHnGiUng0SAjTAHdp1+eA5bMR0jftoDH9 9KMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=Z2I0WIwQmrmNMS5z4W7A+IyZgO6lMfDS/49I6LdDnFY=; fh=J9MlKUBwbtkC3S5Bq0+klV2uabB9HBvaL5+lLjOp7oI=; b=HFUwXdHAGL+/rr77l4Dhb7+/g3TvmXMWmXRTRdr8D/0g5rK/pIANy6S93kyslKw9Qc yXIFVEdgBP7/iG+AnRibYWdyTw/m0OuNpBPID4RQsQpQgrLznTYXhOptttaSUJoUMkXr v/Rvlzi1z8V1CT0icGEwOzGF7H7TFsZwJrvy48KejNBDqvL0hH5TM+vcCBBMwGTEwU4g 4nFrGsodyJMIu02g1+/+spyZssG2JLB8TVDVK1FVO9vtwTbmyK6R3ahtUCzBTQipDVX0 w8Waio8zsigJkGeaRPQFnhBa9sj8MDzOmw2xeFVGS4RRYoUOJuqZPeq+Mua5LpDYwynD k9cQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="nfh/Qugf"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id ffacd0b85a97d-43970bf9f98sor273719f8f.1.2026.02.21.01.43.05 for (Google Transport Security); Sat, 21 Feb 2026 01:43:05 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; X-Forwarded-Encrypted: i=1; AJvYcCWqkhjqGO+mQLTLCRzRTsF8l8Kht3b2h4/FSriSGZJJINcN612PDeytGl3y/wfHg5m/M1EY+b7vcoZAMT0U@amarulasolutions.com X-Gm-Gg: AZuq6aKAP8y1UMV89cb5ApfC2ehKFAIZo6V4CRGiNTaiVvScefgS+U8lDdMF3dpw9nF AzlnCs9CxcEo2QF+B3t5EtOuI2VCrF+eQsTZkrwVcofBqUKn5TWLBTUloC3K2jryb0qeMD57kFQ VtBiTrSEUwkfRqP6/V6M2wdRdrJ5WWhUaG/L3Zf4n5v3zxGlJ1/SjFblr5eHEXTMbrByHRmApZ8 ssR1dyBQ5QXfnamNnpUjSgz6vlNBwqblyRYBHl/H50uVAUvx44xotY07fvJ0DDrwv4HvzTvXlcG 0Pz2PLenZng0ix/JOhlzvADb6vxxJKGA9Y0aG67sCiUPlf5PE9OjFVF9NZmZ+1uPAa8NlPYQCHW dtvbmcgJ2gvRowQnBgk6kHK9IOJ5VLwZzYIWX/CPen0Eibah+4PMAxqx1JKm1n/VLaHco7BG3SS SxwZ6KZC+pQeU10JjEvjm/ieNmPb7T1ut1qiacRQ85FOKxlk0I0DGiELqYxD21po0HSP+7ybCar XIyiFiWKDQxyrFvMewIacMPFr+m1YD92JOIg4D3uCbL2R3PCN+hfg1NozaOBDJygbm3dSF/UkDm SmpPTDyRRrs/dnrdzX8Xt2pr7IaZmkL5DvI= X-Received: by 2002:a05:600c:c8a:b0:483:71f7:2782 with SMTP id 5b1f17b1804b1-483a95fc09emr38949375e9.12.1771666984641; Sat, 21 Feb 2026 01:43:04 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.43.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:43:04 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Jagan Teki , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH v2 5/8] spi: stm32: clean up buffer length assignment Date: Sat, 21 Feb 2026 10:42:19 +0100 Message-ID: <20260221094252.3103034-6-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="nfh/Qugf"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Remove redundant divisions by using the already available xferlen variable for setting the rx/tx buffer lengths. Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/spi/stm32_spi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/spi/stm32_spi.c b/drivers/spi/stm32_spi.c index a1f31cf653c7..adba97915cd3 100644 --- a/drivers/spi/stm32_spi.c +++ b/drivers/spi/stm32_spi.c @@ -404,8 +404,8 @@ static int stm32_spi_xfer(struct udevice *slave, unsigned int bitlen, priv->tx_buf = dout; priv->rx_buf = din; - priv->tx_len = priv->tx_buf ? bitlen / 8 : 0; - priv->rx_len = priv->rx_buf ? bitlen / 8 : 0; + priv->tx_len = priv->tx_buf ? xferlen : 0; + priv->rx_len = priv->rx_buf ? xferlen : 0; mode = SPI_FULL_DUPLEX; if (!priv->tx_buf) From patchwork Sat Feb 21 09:42:20 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4478 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id C79643F184 for ; Sat, 21 Feb 2026 10:43:09 +0100 (CET) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4837b7903f3sf33067575e9.2 for ; Sat, 21 Feb 2026 01:43:09 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666989; cv=pass; d=google.com; s=arc-20240605; b=Le2UtMuGe+diYRT/9x8BzVWLzWiT4/5fQPM4/lN1hQAO8qE+RsomsVb3AFs3s10OBm ymLdgBC+VyUwhCKJF0FHpb/RjYX5x4eBucatqsBhaDyt5w+M29Gr5h+p+RHcV5Lir9IG aJ2XGY5CHrRXBv03vueRkVayLB1mtDbo7xF4enNo3KCqr1NsiUC1Qc7NmDFScO/RzdaE 2EXo3T8ykrQLHbco0eF/rteP+MEz4lSM3jhHZNCPOCol/gVfJHSPW2BRTWMxoRBGiUrm xbzs40XazYxkZtS9OOHiry+Cms40zAJDB8ayxWHh/tcfw7ldBjNV/K+Ka3/NzdGw7v9d o6pA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=A/Ph0JLLDlk7ZggAvhNFyEKPIrTsUq+ymQ48Mm9kM5M=; fh=YwfAwZrlqRLyldsO72da5ZgdYfo5CLyMtuvq+xHHt/0=; b=i4XF36gwNObOVSLf7ohqs0/hf41nH5pwcR0udRm3xFZbZXJ0WYaAxKcqm7D6uphPUF BHZiG7+xPzXo/ert6tH70jyxv7msLduUiq28693puj5+7Y0A2aKHV75toLJpLWw5eSER 1n+Y9IFqPEKaAFLM7VEItSN2fPQpz848GWoRqU6JW+UM+hBHK+gJdwKvPwSNf7lZOB+Y X3HuMCYEQeUmsf8zMomqIlCd1ogwkp2I3cJ/R364EOCz3wNE7pa5NFREy3VQzLds0It+ FRzyLdNWoR/dSEot19AOFxIkUe3Rz9K6bCm2o06sqln183QOD0UYDXQ+CGwyl7K8Rw0J 294Q==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=kWn5sDfB; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666989; x=1772271789; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=A/Ph0JLLDlk7ZggAvhNFyEKPIrTsUq+ymQ48Mm9kM5M=; b=k1BQh0u0/0/knFXq67LlLLlCBplQDSQCiLXPr+BCgcLWjWi54r8caQ1ClI/1/eoI+p ORCZ+A2uEgUGdY25oR6r5/KEK7TxZ2UhkkRFsbodyiZujQc4Qtu1cu37oCs4ln4pY4d/ 0Wib170WJRNRJWqeYRrXEWv2Uw7wlM+9Q/tmk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666989; x=1772271789; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=A/Ph0JLLDlk7ZggAvhNFyEKPIrTsUq+ymQ48Mm9kM5M=; b=At2wJayskaAZEfJojMkfNxYB0YxXOXsRheKnusVrwceDkhJcsQmeIDXKPg1l+EXprP vZe3AvATdsmdNXYrDlWJ50Eizr0h16a4kQF6L1CVfHQN/96vIJgEiJ39WluekaEM3vwJ UkxHAT3LvtJr7Ok5KYHMyA04qAh48Yi4bOplQ4SdimkSU5C6ZXJ8Ee5b4vaOM2g9GvS0 s28kgRd9vVKshij4eJOICihbUjKwKGn67r6wByzE1lXjy4teHBc4CyQ7knljJYegZNAg 1LJlZNtYduhro11UfAdOrpsmTQpWWe6p4W4bvfPXLM7n6ESKv8lDOcGk6NdP7833QYVQ A5ug== X-Forwarded-Encrypted: i=2; AJvYcCUiqVrM0wITAf4LeMLO7pARGg35iF592pqm1QkGcuieWyLyZi8M7GXhDshzYJsT7qV62/kX7OIioHuNpDVa@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxTUsvspgpBv1+EhfP1sfPuwzlDFA6hWfR1DIOLuF4aok/INIKm Uwsi/NNaPFydC8jDgvpEGbajUlBpiTEB3to5F1JyklP7m+uhTqJ9yaq1wJqWTJbhplhR/w== X-Received: by 2002:a05:6000:288c:b0:437:75c1:578d with SMTP id ffacd0b85a97d-4396f14cd46mr4986112f8f.11.1771666989363; Sat, 21 Feb 2026 01:43:09 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+GtKKt/OmQro5SVitD/7w4pkB5ehyp3xhla/urEQfzhmg==" Received: by 2002:a05:6000:290d:b0:435:a126:d553 with SMTP id ffacd0b85a97d-4378f1ed796ls6839627f8f.2.-pod-prod-07-eu; Sat, 21 Feb 2026 01:43:07 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWxaj8YIoFOZjLwdr9F8XZKnQueI4QxCbTRFqnXr2vr7UQBPbTX3oHRJwinSts/M3L6V2mT0/fcQuYeByql@amarulasolutions.com X-Received: by 2002:a05:6000:1a8a:b0:437:6e63:9172 with SMTP id ffacd0b85a97d-4396f14cb2fmr4367724f8f.4.1771666987194; Sat, 21 Feb 2026 01:43:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666987; cv=none; d=google.com; s=arc-20240605; b=Gk8VdGZWILz3B280KzkerHD1sDsD2yQgGMXg/KFaDwvyU5Eh5FpBJhqydr0XCpTl1c Pmz3RVHA8qSkO1Y9y1dTXJZvMs0HBGjt6V/Y4Ke3mj0spm4pCNMBBPmDpxa235j3w+oL uCGMi1+5PCAu02KIcQLL7STDAhAHP0a1bOGO2P9OLztUXTi9DqLp715qCYTTaPkNCBo7 bFdRR2JYR/DWmErjd/dnJ8moG0b0bA8J1nhm9BkbHyDULGI0zxySb0bYZEtLIGQmyoVC M3o3utoYgh+UuslBWSVehwifwwTXidyL4psn4rJ4munls175ZVp+z8TabHYJKg7Da+yt 4EDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=HVJjtEbwe5nCMncteEhAFW8OsYXtxdYRfirYYIp13Nc=; fh=uOB0drQLx/551UWUmOomVVu+1RoF8Oy4+NyCriUFoZU=; b=FEnCH7Jm2y1FEwH5TNsufoq+ZnVJaF32oeo061qHYUJk25HCUdDoekifnzC7RvG78p sfh4LWeCB4ue+CtXlWo9OmqheHtw4Gwh3NOFO0I7+B+RgjYeLd8I/fjVcyLe0q/skfDE lujIvv1V4uWXZ4WKfRecKPj+qU+xrQ2SNJJayXFgN1xliHfUvvwlwCQEjv1xx6ssF9W1 rEU4U+k6mjZxS99xf++RgLN8IzTQssuOZilAiu9BNG9O6y0wIyc+FfZKC0x/GDwxx0AP m9/EpgZq1IR9iLpWZDRKa7q+RjhlzSwn8N6Av2WLZVKidfeEy5VahztPp+5A/1nBoSsn 9Gtg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=kWn5sDfB; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-43970d8718bsor233230f8f.18.2026.02.21.01.43.07 for (Google Transport Security); Sat, 21 Feb 2026 01:43:07 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCU1rPFKben75tPJXp8RMrPuAjbb8bjm+Tb4TEck20C6uwajKWLgoHAD6GcguWbzFRoMju556/VET5qEndu/@amarulasolutions.com X-Gm-Gg: AZuq6aIhBt9Ke3ZEl71Q74KV6mFVgnVDhWd7hoUG+c+0NCGdjm1+ErdSaM9yMUm/PSu 0104UCxZza0DAjcfwTCeQSpD91xjugGpo/Xo2+ppydvFzgNNCmIXmDro9GjmZPTbpmEksxksEGH 0QBOXOg/jKoZkoJ3nFokjrr+s0ypdoxt0GWgT4mvgDdl+9fxWknrji+hGliX4r2j/vRZFLv9xhu AgJ/kBHhu0WQH4gyU7y1lodA8H6BPHtIsXQsUE0dG29N2HOglumhWjMal5IsecDL8ldLcWTv2Bv 050et8scvbGGF5WTbpkluEv6HwK7TK/gsvh8AFhFe94//+rB43jR7Z2xiQHTJzbqpsf+oKls+nj AnGozVgURyeZ030W8g/Alp+vVDSXHOmhTgt1OtfiuwcbGVHIuVQW0+8Jydo08bUo0OnAm7ewK/T kOuMVN4HG6QP59mzMBR0zUbc91m+uSp9FMuwxL7flT58c0s/FaEYouI0Q08568sHWZsnzSwrPpF MGK3ROVAvA9vJNZ3zUp7nPUPityZ/wUlFT6g8nt0BCguhbW3aH12hYibFxa5adjetoFcfWmsYbU gquqO06YoXIvvJHRa3zL1agp X-Received: by 2002:a05:600c:3553:b0:480:6910:abd1 with SMTP id 5b1f17b1804b1-483a962e49dmr44613365e9.18.1771666986738; Sat, 21 Feb 2026 01:43:06 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.43.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:43:05 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Jagan Teki , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH v2 6/8] spi: stm32: add support for bits-per-word setting Date: Sat, 21 Feb 2026 10:42:20 +0100 Message-ID: <20260221094252.3103034-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=kWn5sDfB; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Implement the set_wordlen operation to allow dynamic bus width configuration. This is required for peripherals with non-standard requirements, such as display panels that need 9-bit word transfers during the initialization and setup phase. Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/spi/stm32_spi.c | 62 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/drivers/spi/stm32_spi.c b/drivers/spi/stm32_spi.c index adba97915cd3..39ea69c68174 100644 --- a/drivers/spi/stm32_spi.c +++ b/drivers/spi/stm32_spi.c @@ -192,6 +192,11 @@ static void stm32_spi_read_rxfifo(struct udevice *bus) log_debug("%d bytes left\n", priv->rx_len); } +static bool stm32_spi_is_enabled(void __iomem *base) +{ + return !!(readl(base + STM32_SPI_CR1) & SPI_CR1_SPE); +} + static int stm32_spi_enable(void __iomem *base) { log_debug("\n"); @@ -381,6 +386,44 @@ static int stm32_spi_set_speed(struct udevice *bus, uint hz) return 0; } +static int _stm32_spi_set_wordlen(struct udevice *bus, unsigned int wordlen) +{ + struct stm32_spi_priv *priv = dev_get_priv(bus); + struct stm32_spi_plat *plat = dev_get_plat(bus); + void __iomem *base = plat->base; + bool spi_enabled; + + if ((wordlen - 1) < SPI_CFG1_DSIZE_MIN || + (wordlen - 1) > SPI_CFG1_DSIZE) { + dev_err(bus, "Cannot set wordlen to %u [%d - %d]\n", + wordlen, SPI_CFG1_DSIZE_MIN + 1, + SPI_CFG1_DSIZE + 1); + return -EINVAL; + } + + spi_enabled = stm32_spi_is_enabled(plat->base); + if (spi_enabled) + stm32_spi_disable(plat->base); + + dev_dbg(bus, "bits_per_word=%d\n", wordlen); + + priv->cur_bpw = wordlen; + clrsetbits_le32(base + STM32_SPI_CFG1, SPI_CFG1_DSIZE, + priv->cur_bpw - 1); + + if (spi_enabled) + stm32_spi_enable(plat->base); + + return 0; +} + +static int stm32_spi_set_wordlen(struct udevice *slave, unsigned int wordlen) +{ + struct udevice *bus = dev_get_parent(slave); + + return _stm32_spi_set_wordlen(bus, wordlen); +} + static int stm32_spi_xfer(struct udevice *slave, unsigned int bitlen, const void *dout, void *din, unsigned long flags) { @@ -394,11 +437,19 @@ static int stm32_spi_xfer(struct udevice *slave, unsigned int bitlen, u32 xferlen; u32 mode; int xfer_status = 0; + int nb_words; xferlen = bitlen / 8; - if (xferlen <= SPI_CR2_TSIZE) - writel(xferlen, base + STM32_SPI_CR2); + if (priv->cur_bpw <= 8) + nb_words = xferlen; + else if (priv->cur_bpw <= 16) + nb_words = DIV_ROUND_UP(xferlen * 8, 16); + else + nb_words = DIV_ROUND_UP(xferlen * 8, 32); + + if (nb_words <= SPI_CR2_TSIZE) + writel(nb_words, base + STM32_SPI_CR2); else return -EMSGSIZE; @@ -406,6 +457,8 @@ static int stm32_spi_xfer(struct udevice *slave, unsigned int bitlen, priv->rx_buf = din; priv->tx_len = priv->tx_buf ? xferlen : 0; priv->rx_len = priv->rx_buf ? xferlen : 0; + dev_dbg(bus, "bitlen: %d, xferlen: %d, nb_words: %d\n", + bitlen, xferlen, nb_words); mode = SPI_FULL_DUPLEX; if (!priv->tx_buf) @@ -567,9 +620,7 @@ static int stm32_spi_probe(struct udevice *dev) priv->fifo_size = stm32_spi_get_fifo_size(dev); priv->cur_mode = SPI_FULL_DUPLEX; priv->cur_xferlen = 0; - priv->cur_bpw = SPI_DEFAULT_WORDLEN; - clrsetbits_le32(base + STM32_SPI_CFG1, SPI_CFG1_DSIZE, - priv->cur_bpw - 1); + _stm32_spi_set_wordlen(dev, SPI_DEFAULT_WORDLEN); for (i = 0; i < ARRAY_SIZE(plat->cs_gpios); i++) { if (!dm_gpio_is_valid(&plat->cs_gpios[i])) @@ -630,6 +681,7 @@ static const struct dm_spi_ops stm32_spi_ops = { .release_bus = stm32_spi_release_bus, .set_mode = stm32_spi_set_mode, .set_speed = stm32_spi_set_speed, + .set_wordlen = stm32_spi_set_wordlen, .xfer = stm32_spi_xfer, }; From patchwork Sat Feb 21 09:42:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4479 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 8AE813F184 for ; Sat, 21 Feb 2026 10:43:11 +0100 (CET) Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-437700715ddsf1648041f8f.2 for ; Sat, 21 Feb 2026 01:43:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666991; cv=pass; d=google.com; s=arc-20240605; b=EXtqzQsOd9x17+USV1efMvSo06WfxyCR6M/VBQL4R08hdCOtRqK5Xv+qpOjs3g6d3S XGdXd6RSl3FfY/i6nBwmBC53l4rZGr4jiRaP6wL998YcS559pWb/XIG8Mbk+AGoujPKv sCuni09VgooA6Jsumw1nE0OSXAUqYGnrla/FNzZqZwUDQomv5bH0bkmQ/kvAKzJQA5Wn SYdWZWM69fd7ZQHCsprxJMfLIWTNHx9yFZ1jQK77ES6DaHNFTGxxCI8E0gSpOk93XKr1 EGCmL6LCVB1csuBatYZGHeiAcqo7v+f/ZOhgFlVF39bhLsbBFFF7ElXhWqbjm+pH+nTT VqLg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=0My0Z39vB00MwH8hEXwOHYmjDic1GicQqBVNJmveR4E=; fh=pntP1bSAXYXQFoZxYY7TAT7GIpYvCaM7DlBvqJiuPdU=; b=g69vSAr1oBACqW/lNWF/ustFsNXlmn4LXiTEAGoj3RWHAghVR6qq/zGjKAhGuxcysU esOSvEbSAPb30rNnOQtMGY8Ly/2HBTxLWhI0dJ58EKSu0Ujqc4BPvpJ0Vj7kD2ZEiLpa HLf0BHf8v5rOdwyKfK4kvK4mA4mqU47FCPOCxLZKXvT5Ekkkm4KAoHFMtYLv3pUcs3B7 dNxRT4axPu35pliv/Jt3iF6sxt6SbfvC+CC8l/hykyD74FqDez1tfnXvm6jw2+O9xrp+ dByiBXpn6ccwxNvrXWQSg5qXorGfMkxdF5dCiUpFMAlDlc32ZqRIV90/dBVrvg/VCf9L 9x6Q==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=HDPV9QAc; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666991; x=1772271791; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=0My0Z39vB00MwH8hEXwOHYmjDic1GicQqBVNJmveR4E=; b=GMLGO+I75Y/EzOjhxDKHUf3Vx+RivNcW9btG/JcWVkLbHWJGuBrMVwdBrsgZ2vcJ4K JgjpAwdR8gI0v9eeNC6tnh4WMtwz0Fdka9XiW4Fdb2DOzOR0LUKlbyFcmbzxvHlW9faN HexHtbvudECfY2XVbi12D5Gl7tc/QPQNawxRI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666991; x=1772271791; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0My0Z39vB00MwH8hEXwOHYmjDic1GicQqBVNJmveR4E=; b=uXt6Apqzd4EvblKrhjOJdYgduTSD1LDJ50GriohNDeLDxv8YefFvVx1nxN7le1NRMS OcmQplfsnRJE8b3rG92kR6+bCHjVKiOyGkl5J1+ynTpDEptGF/niHqBIQMabmO4h7NcM wC5GTVrFAqYulHU0l4gVCrC7AJEuKzUJO7LCNX+ogUtELDSqK9JVh0sMmAMKISwU5aKF zsztZPLxgsvf1s5AbqejvzYEJuXWbFJMcClwlEZ4Y0ErB0bF1MbD4qMiqbzMPMk67A1z 9+8r+vg5xyfXvVRqU6Q3lbw+zt8Zhm0bfg9ai6eE/l/WUpDHIAsUjvNv6E/3yrc1puFf sjbw== X-Forwarded-Encrypted: i=2; AJvYcCVZKT5as9J2H3dSGt/i7D/HVtW7cgSYBKQtxWF3fNiCneLmlfi/xRGxy3pXHlC9cqcnMH2AdrjB1nCsCDTV@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwP9wgMq9BzQCIjTbYtw2rJZsU6TK/1zM0lVdQ1sLbYl+V2hLEy +qZEVipCvfWZ2EGlOuoN9lVUSrfniUINK7tPXVPYadc6ZX5IiKEJ2BCaYFEUOxVC4ZwcBQ== X-Received: by 2002:a05:6000:402b:b0:435:98c6:7f06 with SMTP id ffacd0b85a97d-4396f16e309mr4856446f8f.6.1771666991160; Sat, 21 Feb 2026 01:43:11 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+GVhk/BxbO3tiRpo8qK46qJJVmyW9oW1BPokpFCXRmQOw==" Received: by 2002:a05:6000:2c12:b0:42b:52c4:6656 with SMTP id ffacd0b85a97d-4378f228c49ls8023977f8f.2.-pod-prod-03-eu; Sat, 21 Feb 2026 01:43:09 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCW53Tphck4fNHLiTx1Sa6Jx7o3vXSXyu28xG/RQnG1BbLQWmDVwaU5rc/1Cw9LBI1Th5mPmDrb3g3iRKT5z@amarulasolutions.com X-Received: by 2002:a05:600d:6445:20b0:483:abeb:7a5c with SMTP id 5b1f17b1804b1-483abeb7b61mr8746935e9.12.1771666989173; Sat, 21 Feb 2026 01:43:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666989; cv=none; d=google.com; s=arc-20240605; b=CLSDI78Oeawkpxy+T83L/J9CLoDLOeLPpY3ZP1OFCBgE7gFA0L8sF+Gz7vjjE0ioNO HwXcHJ1qvfw/U6NNnp0Bcdm9f4Ecdwsajd9Hv+4gDOZDn2Uo7ZjvVY8axNZ9T6F0NHeQ 2vl1Yu/4UhvA9DYX4BRgVBSeeMgaQWyvVOxdjZ5dG8FOK2BkvRclcSE4okf3DwEX1nwc IYjSuAnv8GLMPCmEG8RDkis1eUmKsvcEGG5cuY1+RDBHULZwML0jAaWGRH7WpUARGGAm wf2H7v+UM8kmuN1rXq8S7A/7E4UEWgssV6FtUa7oRdfUH3qzCRSpxw8neq03FU0lzVtB JFXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=bgG5cD+hbVHDRbzg/eLGiw+5QkTuTClXczKpZCB2jco=; fh=fFCV0QmC78C8Id98v5H9zX3/tVSCEUNXVLFC0HsDW0E=; b=WoxdEjsdeVHWa8ClaTwfL6IOTO8B0r92N1mAvBRYzhVwFgloUu8vYEoiWsafesDISG Rb9RKetI77R4Q9DnoFPRtmlM5isDpj4sVlt5VZkURe/eGMADzSlIGkEi9kw9+Z+p2Ij7 ERWSFfY8PnsrtOsjARs6ywE6Ze31Z6+S3OQDRxKMghiSkwvHeONLD7Vf2mFXg2uIfOuW iGT4vUhcMOyrlunANQjdlZ7akZGOePi/CaKllQm/i5d4B3e91QtnFS8dwPJGkqPM2KXE 1coTqxGVV0cQv6EuVTXVeQNdAf1QX2JAXV15YXQLUM/lXNfGTaHCEGHi0Vpt3HII2Y1M d22w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=HDPV9QAc; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-483a9b69334sor1265775e9.5.2026.02.21.01.43.09 for (Google Transport Security); Sat, 21 Feb 2026 01:43:09 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCVCYMJQAGxBYCnbKPMVvgd9QvfDlj5L6wExW+zOe8bbEQe3V94yhT7d5i8Eu1ebJShkKK5E0YLjJ2bQyXw6@amarulasolutions.com X-Gm-Gg: AZuq6aLjp5m+dlJeOlZgukEYNCbOQnUUXQwv09CZJVyTtT5402uN4l03wDJ5Yu96tOS H4534cbQHfpp7v7PjUa1ee9CmSyHmF1TxXsrCp4arzZWRbiaLVsrvzNyg8IcoOPwjp4ytYJsg1p +NIdv3EzzrZ5ys4omp6jgMXRQ3rG7Bxhsf3YtxOmQ0EqdB7ori7k3/I2waENVgaucXEXGK2ghpW xiNxvui5bFw4XEKUI+rlSLwgno4NZt2zVopGEYvY3IZgKainhMelgoA4vDqut8clWqVF7baDlGa DARutcqxiUlNRo+G2tRLDqwUGzagmvpR+mguwlT3L/j1PaFSPfzQcPLPF3+ye7KdLAmFRzbyjHF g7k2TaryJo9ZYL8T0UqDMhZJSK6LNUAZpxnCGtoyGImqIkc1bI02T8dZ+jgLsxED6y2an++9Wls nq1Arw2KYNZ6ZjePlHPq62Oa1MThiVzUyC1Z4qXQxgZbsuZ2ywZp1EKC64FRGZzrOmAEHtEBhxt Dfj6eu6b4Ka/u1+lT6gX4JdGIe0U0nk4zrWIKNsbPkU1hKYBNdu3Sa7/T5hIvYGoUyxUYrgqjlK E+DATEyI+KyPEfZ0MI7y/uIH X-Received: by 2002:a05:600c:a00b:b0:480:4a8f:2d5c with SMTP id 5b1f17b1804b1-483a9637a86mr32258035e9.29.1771666988736; Sat, 21 Feb 2026 01:43:08 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.43.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:43:08 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Jagan Teki , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH v2 7/8] spi: stm32: extend support to STM32MP25 Date: Sat, 21 Feb 2026 10:42:21 +0100 Message-ID: <20260221094252.3103034-8-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=HDPV9QAc; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , The SPI IP in this platform is fully compatible with the current driver implementation, requiring only a new compatible string. Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/spi/stm32_spi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/spi/stm32_spi.c b/drivers/spi/stm32_spi.c index 39ea69c68174..903cc3702807 100644 --- a/drivers/spi/stm32_spi.c +++ b/drivers/spi/stm32_spi.c @@ -686,6 +686,7 @@ static const struct dm_spi_ops stm32_spi_ops = { }; static const struct udevice_id stm32_spi_ids[] = { + { .compatible = "st,stm32mp25-spi", }, { .compatible = "st,stm32h7-spi", }, { } }; From patchwork Sat Feb 21 09:42:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4480 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id AABE53F184 for ; Sat, 21 Feb 2026 10:43:13 +0100 (CET) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4837107e0a9sf22063765e9.0 for ; Sat, 21 Feb 2026 01:43:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771666993; cv=pass; d=google.com; s=arc-20240605; b=C8fKihuG/ffZeuPeG9Xs5awegLH+y/38BMC8nyvBulcpGrrjlUUGXQtwcnq6+Zlzct bH3VnHVlEFgXQ3P6JYaGWhwk0Jn6aVQyywRr7KzbsZPCAIukG/OcDtKl6Yk7v2nEmiM4 hA4Gijv2AV+dX54VN+lXvyIbO3zoQNUa0yBxO8uVrH4zGZ1Hz1H9nAxtyXhTqJVE3ntV vCg1zoDnwtfsiMZZXDnoWLulBhxIe2qkWa30Lj9c9MvfcgAZTduHTiI1HGasoLkRs06s +cCkNx1/8BBQsT8Fvc/wdVs+bo4W8QBkL2yyPq3z40tiiHC51CJAahAQfSLWxtS7UKnI rEPw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=Y4twlXHAKRVMd2ZXgQvvfB6lI66zohuI9PbUi6qFKNc=; fh=FEuuJMxS8cNPd1dhO4U42fx6t7GxYlX9gKIVMAmBtRY=; b=I0QVDCgCyP3PGpQn5wqmwNfZBc5tcFB2wYJq+mL2ilthBhuZNueTD2Ry06ZbmQ9V8D WVDeuICx/+cpf95wY2x30eJ90grqy5WSprkc/WbyHAzlqocvjHrYffBSR12lCDrSnvjQ xALUca8Tpx5/lb9f+ofvCOWxuHov+qSAEd1WwdPg1lh59lH+rvKLqRjFtwZCAdPoKCTP s1zkhI2fjH1Lud3MKlaMLZjdlzMeFgNjA4r0W3LBDVnlR1JG6zu7s9Nh5kdqYxEn6/WF aHXYtgwoW5Q5uiy+y/bAu53kQHecJHWDnzPAAiK9CcedpmWLtHaQ/uZn6L/JmjlqQrwe uM8w==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=QPwNxXey; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1771666993; x=1772271793; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=Y4twlXHAKRVMd2ZXgQvvfB6lI66zohuI9PbUi6qFKNc=; b=raSt+cAD7KXNx07qBA7mt3coRNADC2LnWCbf0OKdT7weJkej99rFBVtNR3bdgSNC0W CkDsXoBozN3RoJCuvpKChGs1IWJrsHYH8KNACt5fKo3aRw74vGDGkB2NS8Se7RrKutIz tkmqmaNaHjKs01HORC6OjxUFPM70bOUwozrMA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771666993; x=1772271793; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Y4twlXHAKRVMd2ZXgQvvfB6lI66zohuI9PbUi6qFKNc=; b=AhRjpba1Ew6/5oYPChYmSdqE63G0WeSsyiFVttf0/svrV8Xe+b9tVfmdOPE7BIsNky DNVUG/+1Oqan8NM8x/QFxQhaznXFRTic8xuUv1sStcq4ef3lTWm0SQH5d5IQ8GbaC78U wHTXkX4lFmRYlXm8gd9d2SkjvYzIhWzoT0X4bRAP6AOEVTxCFX6jZlWwSsO11kDyuLjs hkja8nK4gLh1r/OPKZAmHSDWF7DZEN9weEgozk9MXB0whl9/SSpJuRrjiS8WC66W49+O BmqtZTqTjKvvpxb9PVSxOz3j3qPhSeEJlDq2EpFXVToXe6bIpOaaQY7v36MwjHoBhXL9 khHA== X-Forwarded-Encrypted: i=2; AJvYcCWRa9JQQe7/3wSD3OIxm5UCCqemMHZfB1gQxyRKXenE8R/P+Hg1WD26mnFNuxDajpVvhjfBGcdcQ2nIvst6@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YztYpoyOV3d1sNuR/IIBfCLwxtSi7aTzN4fq82uE3hWlOKe4ajM jEodP9LoNNc7/7sEe+AVr/rzufdZPUsoxafD5FDMOVbP70n5SNJ3jnvjYhBebziWN8IKzQ== X-Received: by 2002:a05:600c:314a:b0:483:a361:41a5 with SMTP id 5b1f17b1804b1-483a9603aeamr35294685e9.30.1771666993206; Sat, 21 Feb 2026 01:43:13 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+EcGkdQ1Q8CF8AiNxwT853Fgh3UZm3robdfzSyhEYPg/w==" Received: by 2002:a7b:c8c8:0:b0:483:7111:9c92 with SMTP id 5b1f17b1804b1-48371119ec1ls43442915e9.1.-pod-prod-09-eu; Sat, 21 Feb 2026 01:43:11 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVBH33GL9glhtI8suPGIX6iDZ/ryUtImS4y1M/g1B3m5/XB0+YthV+HbWo/wXLJqyellKjQLFL2PdFejDk8@amarulasolutions.com X-Received: by 2002:a05:600c:45cc:b0:483:4807:210c with SMTP id 5b1f17b1804b1-483a95f5611mr43145885e9.24.1771666991034; Sat, 21 Feb 2026 01:43:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771666991; cv=none; d=google.com; s=arc-20240605; b=TnFXYPMJ6XHukK8ngELNJNw977uCp/jPi1GP7U1TgbLenRAK6zsKtFi1XwMHsXA0gV N0tL6aLEfwMrBpzXhlUGdJNQeHMhunRjYk6Y/Sz1ZCc8d30LjgoTuGSueCDpMCsjDj0U yL5g/jSWza6RQ66EInz5T0zvDAtaKak5becuBvYBqWudEUq1P1woCeq2I+byLAH6GQ5U U3/fx9Vx+yWZhkGL8t5ggnafc/+ULPxfJY1pWTuHXixnLX4JBaaXr+2zEEFqEkduqzNe qEYfyxEPAGQ9t67wHB5qI10EOeNDan9peiYgzizuEiRy8EEweumOjlXOYaOUrstwwlGI hMCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=QsKQgE0gw1jBg5ggLnpGTNzSfOiSWGdfdLQk0VmFdME=; fh=+xOwj2YkuiND02u+Juk7gwElVobJRH8qvsEgD0kyvKE=; b=VDlahVzpUJdvxDUHdcLPOW8VM2UvdAvvBt3RNIs3PzXsAYc1q9TsQj+21IqzZ9mhSN sr7is9Oz3Th8coFbptaBGjqNXX7ciVYpVUpkrFT1kE6ODDUSCn97Wysg48YY3BKDbiHj qDwQkqWBSCIj/zN+aW1iPA7kZoDrQdBYe7yaIfhGhHCB1rNNE8knDiyVsuLVKNchVIZg l5q6coM6DOdfCQBhSJAnlyQ5ueuSx6/esQDv1xvs3EVJNeW9Y16BrS+5t4CqBdWaW3Dx Tx1L/LFM4We8QGXxmKxALVQ40htHAfw81IbpKKE+9VDpjH6KjqSHbcZS5WHjeKv0rVVL dLjw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=QPwNxXey; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-483a9cabb91sor1780465e9.12.2026.02.21.01.43.10 for (Google Transport Security); Sat, 21 Feb 2026 01:43:11 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCVOS/UqBJ4xkb2zT5z9BiMzX3rF2bPnzk26eeSm5gQ0fzKzI/xovHPLP7/MKccaT63+RC8OehnHpbI6XV+T@amarulasolutions.com X-Gm-Gg: AZuq6aIHDG9xdB/cepDem7QQbA7oq2PqdPZfFkMTXMLnfutZ5kNPKRjWfuOvf9qSRPd oEU2IPEOUTmYxPSWVuiuj8mMdhOmtJnDI2/Lkwk2AmklssywqLM4lO/mR9kLYeMV24k6Eiiyf+d heuHJTcAEGQUlZ3eCEi+EPNhPvI1yqyw3f7jRL53BFgaXM/b05Gok7DI1p5PWkuk8S9YYCzfRXd 3x1umG1xSnQYYSinP3+L/aAbddpjlqSTjUPl5eoFFyUv7uqoyNsJ4YV//qO4QLGmJhMYRtxPJmn 9YXPaAWDhS4Sv0BbFY9LBUFtCkl+NqLlTgAVEL9mzsZ8NX1DyOqF8J/Kg1dNxLPGYasvW5cgw3/ e4rszyQYkvJ3zXOsFO1sB0W6+9anXZIIgrJEN81VaZ0PstoYSeMivguWREGt2vQu+Aixb+gNAoC Ssyq7eHEda+ayobGztiMPDNu0o9znMdvtLjZNC/2PRXdIwgajUzaOJVArc5vC1a4kPhfOLQgsYl E3CFUC2sMO+3DkTOhXHzQ60gbflHpF7YJZV73LQzQZJOdlRE+MPs82lTL9KGl5kiOfAP9wdO5ae HEQDb/FJEYul//jM77Re3jL2 X-Received: by 2002:a05:600c:8b03:b0:483:3380:ca12 with SMTP id 5b1f17b1804b1-483a95fe34fmr34765455e9.29.1771666990384; Sat, 21 Feb 2026 01:43:10 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a42f3968sm42694225e9.19.2026.02.21.01.43.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 01:43:09 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , Patrick Delaunay , linux-amarula@amarulasolutions.com, Dario Binacchi , Alexander Graf , Alper Nebi Yasak , Anatolij Gustschin , Dragan Simic , Heinrich Schuchardt , Ion Agorria , Miquel Raynal , Simon Glass , Svyatoslav Ryhel , Tom Rini Subject: [PATCH v2 8/8] video: support Rocktech RK050HR345-CT106A panel Date: Sat, 21 Feb 2026 10:42:22 +0100 Message-ID: <20260221094252.3103034-9-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> References: <20260221094252.3103034-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=QPwNxXey; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add support for the Rocktech RK050HR345-CT106A RGB panel. This model uses an Ilitek ILI9806E controller over the SPI bus for initialization and register configuration only. The driver is designed to be easily extensible to support other panels with different sequences and timings by providing a specific descriptor structure for each model. Signed-off-by: Dario Binacchi --- Changes in v2: - Rplace tristate with bool in drivers/video/Kconfig drivers/video/Kconfig | 8 + drivers/video/Makefile | 1 + drivers/video/ilitek-ili9806e.c | 354 ++++++++++++++++++++++++++++++++ 3 files changed, 363 insertions(+) create mode 100644 drivers/video/ilitek-ili9806e.c diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 08c9b0207884..c2acc13139c0 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -552,6 +552,14 @@ config VIDEO_LCD_HIMAX_HX8394 Say Y here if you want to enable support for Himax HX8394 dsi 4dl panel. +config VIDEO_LCD_ILITEK_ILI9806E + bool "Ilitek ILI9806E-based panels" + depends on PANEL && BACKLIGHT + help + Say Y here if you want to enable support for panels base on + the Ilitek ILI9806E controller. Currently only the DBI panel + is implemented. + config VIDEO_LCD_MOT tristate "Atrix 4G and Droid X2 540x960 DSI video mode panel" depends on PANEL && BACKLIGHT diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 984768ea156d..74846a8106e4 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -61,6 +61,7 @@ obj-$(CONFIG_VIDEO_LCD_ENDEAVORU) += endeavoru-panel.o obj-$(CONFIG_VIDEO_LCD_HIMAX_HX8394) += himax-hx8394.o obj-$(CONFIG_VIDEO_LCD_HITACHI_TX10D07VM0BAA) += hitachi-tx10d07vm0baa.o obj-$(CONFIG_VIDEO_LCD_HITACHI_TX18D42VM) += hitachi_tx18d42vm_lcd.o +obj-$(CONFIG_VIDEO_LCD_ILITEK_ILI9806E) += ilitek-ili9806e.o obj-$(CONFIG_VIDEO_LCD_LG_LD070WX3) += lg-ld070wx3.o obj-$(CONFIG_VIDEO_LCD_LG_LH400WV3) += lg-lh400wv3-sd04.o obj-$(CONFIG_VIDEO_LCD_MOT) += mot-panel.o diff --git a/drivers/video/ilitek-ili9806e.c b/drivers/video/ilitek-ili9806e.c new file mode 100644 index 000000000000..e1b27e12dde5 --- /dev/null +++ b/drivers/video/ilitek-ili9806e.c @@ -0,0 +1,354 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2026 Amarula Solutions, Dario Binacchi + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct ilitek_ili9806e_priv { + struct udevice *vdd; + struct udevice *backlight; + struct gpio_desc reset_gpio; + const struct ilitek_ili9806e_desc *desc; +}; + +struct ilitek_ili9806e_desc { + const struct display_timing timing; + void (*init_sequence)(struct udevice *dev); +}; + +static int ilitek_ili9806e_dcs_write(struct udevice *dev, u8 cmd, const u8 *seq, int len) +{ + u16 data[16]; + int i, ret; + + if ((len + 1) > ARRAY_SIZE(data)) { + dev_err(dev, "Command length (%d) exceeds buffer size (%lu)\n", + len + 1, ARRAY_SIZE(data)); + return -EMSGSIZE; + } + + data[0] = cmd; + if (len) { + for (i = 0; i < len; i++) + data[i + 1] = seq[i] | 0x0100; + } + + ret = dm_spi_xfer(dev, (len + 1) * 8 * sizeof(u16), data, NULL, + SPI_XFER_ONCE); + return 0; +} + +#define ilitek_ili9806e_dcs_write_seq(dev, cmd, seq...) \ +({ \ + static const u8 b[] = { seq }; \ + ilitek_ili9806e_dcs_write(dev, cmd, b, ARRAY_SIZE(b)); \ +}) + +static int ilitek_ili9806e_enable_backlight(struct udevice *dev) +{ + struct ilitek_ili9806e_priv *priv = dev_get_priv(dev); + const struct ilitek_ili9806e_desc *desc = priv->desc; + + desc->init_sequence(dev); + + return panel_set_backlight(dev, BACKLIGHT_DEFAULT); +} + +static int ilitek_ili9806e_set_backlight(struct udevice *dev, int percent) +{ + struct ilitek_ili9806e_priv *priv = dev_get_priv(dev); + int ret; + + ret = backlight_enable(priv->backlight); + if (ret) { + dev_err(dev, "Cannot enable backlight\n"); + return ret; + } + + ret = backlight_set_brightness(priv->backlight, percent); + if (ret) + dev_err(dev, "Cannot set backlight brightness\n"); + + return ret; +} + +static int ilitek_ili9806e_get_display_timing(struct udevice *dev, + struct display_timing *timing) +{ + struct ilitek_ili9806e_priv *priv = dev_get_priv(dev); + + memcpy(timing, &priv->desc->timing, sizeof(*timing)); + return 0; +} + +static int ilitek_ili9806e_of_to_plat(struct udevice *dev) +{ + struct ilitek_ili9806e_priv *priv = dev_get_priv(dev); + int ret; + + if (CONFIG_IS_ENABLED(DM_REGULATOR)) { + ret = device_get_supply_regulator(dev, "vdd-supply", &priv->vdd); + if (ret) { + dev_err(dev, "Cannot get vdd supply\n"); + return ret; + } + } + + ret = uclass_get_device_by_phandle(UCLASS_PANEL_BACKLIGHT, dev, + "backlight", &priv->backlight); + if (ret) { + dev_err(dev, "Cannot get backlight\n"); + return ret; + } + + ret = gpio_request_by_name(dev, "reset-gpios", 0, + &priv->reset_gpio, GPIOD_IS_OUT); + if (ret) { + dev_err(dev, "Cannot get reset GPIO\n"); + return ret; + } + + return 0; +} + +static int ilitek_ili9806e_hw_init(struct udevice *dev) +{ + struct ilitek_ili9806e_priv *priv = dev_get_priv(dev); + int ret; + + ret = dm_gpio_set_value(&priv->reset_gpio, 1); + if (ret) { + dev_err(dev, "Cannot enter reset\n"); + return ret; + } + + ret = regulator_set_enable_if_allowed(priv->vdd, 1); + if (ret) { + dev_err(dev, "Cannot enable vdd-supply\n"); + return ret; + } + + mdelay(20); + + ret = dm_gpio_set_value(&priv->reset_gpio, 0); + if (ret) { + dev_err(dev, "Cannot exit reset\n"); + return ret; + } + + mdelay(20); + + return 0; +} + +static int ilitek_ili9806e_probe(struct udevice *dev) +{ + struct ilitek_ili9806e_priv *priv = dev_get_priv(dev); + struct spi_slave *slave = dev_get_parent_priv(dev); + int ret; + + ret = spi_set_wordlen(slave, 9); + if (ret) { + dev_err(dev, "Cannot set SPI.bits_per_word\n"); + return ret; + } + + ret = spi_claim_bus(slave); + if (ret) { + dev_err(dev, "Cannot get SPI bus\n"); + return ret; + } + + priv->desc = (struct ilitek_ili9806e_desc *)dev_get_driver_data(dev); + return ilitek_ili9806e_hw_init(dev); +} + +static const struct panel_ops ilitek_ili9806e_ops = { + .enable_backlight = ilitek_ili9806e_enable_backlight, + .set_backlight = ilitek_ili9806e_set_backlight, + .get_display_timing = ilitek_ili9806e_get_display_timing, +}; + +static void rk050hr345_ct106a_init(struct udevice *dev) +{ + /* Switch to page 1 */ + ilitek_ili9806e_dcs_write_seq(dev, 0xff, 0xff, 0x98, 0x06, 0x04, 0x01); + /* Interface Settings */ + ilitek_ili9806e_dcs_write_seq(dev, 0x08, 0x10); + ilitek_ili9806e_dcs_write_seq(dev, 0x21, 0x01); + /* Panel Settings */ + ilitek_ili9806e_dcs_write_seq(dev, 0x30, 0x01); + ilitek_ili9806e_dcs_write_seq(dev, 0x31, 0x00); + /* Power Control */ + ilitek_ili9806e_dcs_write_seq(dev, 0x40, 0x15); + ilitek_ili9806e_dcs_write_seq(dev, 0x41, 0x44); + ilitek_ili9806e_dcs_write_seq(dev, 0x42, 0x03); + ilitek_ili9806e_dcs_write_seq(dev, 0x43, 0x09); + ilitek_ili9806e_dcs_write_seq(dev, 0x44, 0x09); + ilitek_ili9806e_dcs_write_seq(dev, 0x50, 0x78); + ilitek_ili9806e_dcs_write_seq(dev, 0x51, 0x78); + ilitek_ili9806e_dcs_write_seq(dev, 0x52, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x53, 0x3a); + ilitek_ili9806e_dcs_write_seq(dev, 0x57, 0x50); + /* Timing Control */ + ilitek_ili9806e_dcs_write_seq(dev, 0x60, 0x07); + ilitek_ili9806e_dcs_write_seq(dev, 0x61, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x62, 0x08); + ilitek_ili9806e_dcs_write_seq(dev, 0x63, 0x00); + /* Gamma Settings */ + ilitek_ili9806e_dcs_write_seq(dev, 0xa0, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0xa1, 0x03); + ilitek_ili9806e_dcs_write_seq(dev, 0xa2, 0x0b); + ilitek_ili9806e_dcs_write_seq(dev, 0xa3, 0x0f); + ilitek_ili9806e_dcs_write_seq(dev, 0xa4, 0x0b); + ilitek_ili9806e_dcs_write_seq(dev, 0xa5, 0x1b); + ilitek_ili9806e_dcs_write_seq(dev, 0xa6, 0x0a); + ilitek_ili9806e_dcs_write_seq(dev, 0xa7, 0x0a); + ilitek_ili9806e_dcs_write_seq(dev, 0xa8, 0x02); + ilitek_ili9806e_dcs_write_seq(dev, 0xa9, 0x07); + ilitek_ili9806e_dcs_write_seq(dev, 0xaa, 0x05); + ilitek_ili9806e_dcs_write_seq(dev, 0xab, 0x03); + ilitek_ili9806e_dcs_write_seq(dev, 0xac, 0x0e); + ilitek_ili9806e_dcs_write_seq(dev, 0xad, 0x32); + ilitek_ili9806e_dcs_write_seq(dev, 0xae, 0x2d); + ilitek_ili9806e_dcs_write_seq(dev, 0xaf, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0xc0, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0xc1, 0x03); + ilitek_ili9806e_dcs_write_seq(dev, 0xc2, 0x0e); + ilitek_ili9806e_dcs_write_seq(dev, 0xc3, 0x10); + ilitek_ili9806e_dcs_write_seq(dev, 0xc4, 0x09); + ilitek_ili9806e_dcs_write_seq(dev, 0xc5, 0x17); + ilitek_ili9806e_dcs_write_seq(dev, 0xc6, 0x09); + ilitek_ili9806e_dcs_write_seq(dev, 0xc7, 0x07); + ilitek_ili9806e_dcs_write_seq(dev, 0xc8, 0x04); + ilitek_ili9806e_dcs_write_seq(dev, 0xc9, 0x09); + ilitek_ili9806e_dcs_write_seq(dev, 0xca, 0x06); + ilitek_ili9806e_dcs_write_seq(dev, 0xcb, 0x06); + ilitek_ili9806e_dcs_write_seq(dev, 0xcc, 0x0c); + ilitek_ili9806e_dcs_write_seq(dev, 0xcd, 0x25); + ilitek_ili9806e_dcs_write_seq(dev, 0xce, 0x20); + ilitek_ili9806e_dcs_write_seq(dev, 0xcf, 0x00); + + /* Switch to page 6 */ + ilitek_ili9806e_dcs_write_seq(dev, 0xff, 0xff, 0x98, 0x06, 0x04, 0x06); + /* GIP settings */ + ilitek_ili9806e_dcs_write_seq(dev, 0x00, 0x21); + ilitek_ili9806e_dcs_write_seq(dev, 0x01, 0x09); + ilitek_ili9806e_dcs_write_seq(dev, 0x02, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x03, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x04, 0x01); + ilitek_ili9806e_dcs_write_seq(dev, 0x05, 0x01); + ilitek_ili9806e_dcs_write_seq(dev, 0x06, 0x80); + ilitek_ili9806e_dcs_write_seq(dev, 0x07, 0x05); + ilitek_ili9806e_dcs_write_seq(dev, 0x08, 0x02); + ilitek_ili9806e_dcs_write_seq(dev, 0x09, 0x80); + ilitek_ili9806e_dcs_write_seq(dev, 0x0a, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x0b, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x0c, 0x0a); + ilitek_ili9806e_dcs_write_seq(dev, 0x0d, 0x0a); + ilitek_ili9806e_dcs_write_seq(dev, 0x0e, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x0f, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x10, 0xe0); + ilitek_ili9806e_dcs_write_seq(dev, 0x11, 0xe4); + ilitek_ili9806e_dcs_write_seq(dev, 0x12, 0x04); + ilitek_ili9806e_dcs_write_seq(dev, 0x13, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x14, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x15, 0xc0); + ilitek_ili9806e_dcs_write_seq(dev, 0x16, 0x08); + ilitek_ili9806e_dcs_write_seq(dev, 0x17, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x18, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x19, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x1a, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x1b, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x1c, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x1d, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x20, 0x01); + ilitek_ili9806e_dcs_write_seq(dev, 0x21, 0x23); + ilitek_ili9806e_dcs_write_seq(dev, 0x22, 0x45); + ilitek_ili9806e_dcs_write_seq(dev, 0x23, 0x67); + ilitek_ili9806e_dcs_write_seq(dev, 0x24, 0x01); + ilitek_ili9806e_dcs_write_seq(dev, 0x25, 0x23); + ilitek_ili9806e_dcs_write_seq(dev, 0x26, 0x45); + ilitek_ili9806e_dcs_write_seq(dev, 0x27, 0x67); + ilitek_ili9806e_dcs_write_seq(dev, 0x30, 0x01); + ilitek_ili9806e_dcs_write_seq(dev, 0x31, 0x11); + ilitek_ili9806e_dcs_write_seq(dev, 0x32, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, 0x33, 0xee); + ilitek_ili9806e_dcs_write_seq(dev, 0x34, 0xff); + ilitek_ili9806e_dcs_write_seq(dev, 0x35, 0xbb); + ilitek_ili9806e_dcs_write_seq(dev, 0x36, 0xca); + ilitek_ili9806e_dcs_write_seq(dev, 0x37, 0xdd); + ilitek_ili9806e_dcs_write_seq(dev, 0x38, 0xac); + ilitek_ili9806e_dcs_write_seq(dev, 0x39, 0x76); + ilitek_ili9806e_dcs_write_seq(dev, 0x3a, 0x67); + ilitek_ili9806e_dcs_write_seq(dev, 0x3b, 0x22); + ilitek_ili9806e_dcs_write_seq(dev, 0x3c, 0x22); + ilitek_ili9806e_dcs_write_seq(dev, 0x3d, 0x22); + ilitek_ili9806e_dcs_write_seq(dev, 0x3e, 0x22); + ilitek_ili9806e_dcs_write_seq(dev, 0x3f, 0x22); + ilitek_ili9806e_dcs_write_seq(dev, 0x40, 0x22); + ilitek_ili9806e_dcs_write_seq(dev, 0x52, 0x10); + ilitek_ili9806e_dcs_write_seq(dev, 0x53, 0x10); + + /* Switch to page 7 */ + ilitek_ili9806e_dcs_write_seq(dev, 0xff, 0xff, 0x98, 0x06, 0x04, 0x07); + ilitek_ili9806e_dcs_write_seq(dev, 0x17, 0x22); + ilitek_ili9806e_dcs_write_seq(dev, 0x02, 0x77); + ilitek_ili9806e_dcs_write_seq(dev, 0xe1, 0x79); + ilitek_ili9806e_dcs_write_seq(dev, 0xb3, 0x10); + + /* Switch to page 0 */ + ilitek_ili9806e_dcs_write_seq(dev, 0xff, 0xff, 0x98, 0x06, 0x04, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, MIPI_DCS_SET_ADDRESS_MODE, 0x00); + ilitek_ili9806e_dcs_write_seq(dev, MIPI_DCS_EXIT_SLEEP_MODE); + + mdelay(120); + + ilitek_ili9806e_dcs_write_seq(dev, MIPI_DCS_SET_DISPLAY_ON); + + mdelay(120); +} + +static const struct ilitek_ili9806e_desc rk050hr345_ct106a_desc = { + .timing = { + .pixelclock.typ = 27000000, + .hactive.typ = 480, + .hfront_porch.typ = 10, + .hback_porch.typ = 10, + .hsync_len.typ = 10, + .vactive.typ = 854, + .vfront_porch.typ = 10, + .vback_porch.typ = 10, + .vsync_len.typ = 10, + .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, + }, + .init_sequence = rk050hr345_ct106a_init, +}; + +static const struct udevice_id ilitek_ili9806e_ids[] = { + { + .compatible = "rocktech,rk050hr345-ct106a", + .data = (ulong)&rk050hr345_ct106a_desc, + }, + { } +}; + +U_BOOT_DRIVER(ilitek_ili9806e) = { + .name = "ilitek_ili9806e", + .id = UCLASS_PANEL, + .of_match = ilitek_ili9806e_ids, + .ops = &ilitek_ili9806e_ops, + .of_to_plat = ilitek_ili9806e_of_to_plat, + .probe = ilitek_ili9806e_probe, + .priv_auto = sizeof(struct ilitek_ili9806e_priv), + .flags = DM_FLAG_PRE_RELOC, +};