From patchwork Thu Feb 19 17:51:12 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4464 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 D6FCB3F150 for ; Thu, 19 Feb 2026 18:51:52 +0100 (CET) Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4837f288194sf10485515e9.2 for ; Thu, 19 Feb 2026 09:51:52 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523512; cv=pass; d=google.com; s=arc-20240605; b=JvtbzD/axB0mT1R7ayxehdISqeemneaQpgmza2kk0FpgMZBmCCVj6YZKTu7e1xMqRy TysRWrnHSNvA2idGJAqGPPmEDDmDx9Bja9CjdnIVv9DOJvNB/HWVsl/scl4MeE4bVEkH UPXviDj9sluweyEvPEHCgiNAo9fz+pkG3STD0+w55aBXxFWEG5P1BL7r6f38eQ76lq3Y KqsDv0irdGM5MxEKS59jirQ88DWJiKYJxK9w4gkKkoDohgMids7lpIjjp7kI+vGnojbS YBksAsE9v3QPKIzSFeDU86zFhpMcTRxrRFlWVzC8HRslH5pybstrmTvziY/okCQGYZZa pYJw== 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=srBGcpB8BH698l0OGCLSamRhrwlHUrU3Vzy3e2nlbiY=; fh=Z4iCxzTScKNeZmhuBRaQuD2ljTYXmRmQ4bo5O9tcR98=; b=dkrTwI68EAPe6f1HG4WgNziZ9FoUUwTR2OgOXweMFG6NT3tv5VuiTTbcAlSmJnF0/R ELeYfQrL2DWop+9Qg2uCtMJ4Ta53fCrbAurmBP77rZcwJobDVWHSQK4sEQUtcpxGBAhl BKRTCPd8wlY0RkvuqCfoUxQsmsCQH4lDG/K4EX16SfHEfVfWmSkflEE3VBYaO3+8vjsz WycKi9Q/A6rUZZ803fDj8latyRqP/LMMouVaF1p1Yfmc1SynCHnyVhvGU884niMj4J56 dHUHrJprzR5wg/kutWWKMNi4x6iBQ3VFtmCVZcEaiu/ofWJfCbgnoPRLdoYEJ97k4kwR KPsQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=dlLNfthy; 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=1771523512; x=1772128312; 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=srBGcpB8BH698l0OGCLSamRhrwlHUrU3Vzy3e2nlbiY=; b=hNPU+dwScLx5wEaAzBLJmtI+o4fsBxrVN4wUArBBTQmr2I6QxUiImYt+tz/JbDjLUy kZvBTxCGjyOYE6C69J69ejh09Tnsnvnzc0kZlfuE7xO2BckaBIlTn29G+CGeAscxyxX9 oCISc4RyREfpdNYF1lTL6j7gFAixUxE6p/4xM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523512; x=1772128312; 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=srBGcpB8BH698l0OGCLSamRhrwlHUrU3Vzy3e2nlbiY=; b=qoqucBtPa29MgY5qbOLI+tpwAv7Sh5sEmDs5AbPm93K7s2HvJUjku2Z1qegk0YOOGX RAWhcGQwyxmCvDcH6BRZVTnPz14BRnRgHgmIq/v5uT++wBKN22CJ2HFSB8iAMSLs0/N/ aV6/vbQ43tnwWmYLis1gRH/0T5Hpt6PFiR6D7HEcPAw4SJgu3yg5T24Qevv9hJbHSNkT 0Yh2vJtXVpEDCkDty/frTNlfs3bLrOetFDJv6SUycj9srEm47N51AXap6Yhsr4D5Z6o2 HP3BUnD/MTDPmkJx9Kv3D+Njj2CI25Xqf3I2e1Pm2jqg4YFJEG6pDI5TbsiOA9ccXoki 7O8g== X-Forwarded-Encrypted: i=2; AJvYcCX7g/Pdf2o+f6Y45IzTaUBsbuhSTfhpLsS5fLYre+Heid7YvqmlLApfow/Qlhva7JPq1xbGDwcv+b3zA+FE@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YzuyDlJuErAJ86bonZoCVM5y3HEEnCn69/0MIvethJFCSzzuuNv gx28YZx3TvOhpvCf0VoNa6b9Z9b7iwXMZNAT7Hu47+ME9LtzwpNYldNq1ly8pqO4VG4tSw== X-Received: by 2002:a05:600c:6912:b0:483:709e:f22d with SMTP id 5b1f17b1804b1-4837108fc46mr374240095e9.27.1771523512472; Thu, 19 Feb 2026 09:51:52 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+Hs71ALzU4vvQ+xBo9sQRcq1Z8R2cFhLLo2/GY5FjvCyA==" Received: by 2002:a05:600c:a09:b0:480:4b5d:a2a with SMTP id 5b1f17b1804b1-483670b87a1ls59727875e9.1.-pod-prod-03-eu; Thu, 19 Feb 2026 09:51:50 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWbFAl6U2kDZsWkC/QU1TPNoGy4d8n0uGGEW9y9pZLVBhndNUvPyKmI+gyCc686LtFQO9OEm+UoAnd1wN29@amarulasolutions.com X-Received: by 2002:a05:600c:3b10:b0:480:4b59:9327 with SMTP id 5b1f17b1804b1-4838c063f8emr189790285e9.1.1771523510360; Thu, 19 Feb 2026 09:51:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523510; cv=none; d=google.com; s=arc-20240605; b=YjcFYgJULB0SsY4+udl5a5xPW94MgMXUxZyKWSFxkKnSYUSbqsSIP5LxJcSig0eRxh 9XI5TLQiVZDBfngjw4qcEkD/hc86jyieraco96atP2DGIPuJcggotGh1itAkMUTcLaAJ pekMZUcpZSOXR1QYjmZwut25zCfGFU8ANnpZJWYbH4rTb8Rv1Gt9a6MVSbyYp8wKcodq 9bjsjT+sC8zNB3khguyZp3ZPC4VwiyE8egm8JoR3wyRxiq2TnwgaWn4FU/yDpQDpnRfC E1gyXZT/+in3+XVf1OVyH8/NCR7teLONYe1kHugNWrPYLey9nI6bweEgGEx4eNn1aCRe rsdg== 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=h8DpYVjladhvWDx1P1+TyQplxDeEaGAqMxXk9vBFzcI=; fh=MDOJCgNGRXg5jQiErUTcyABkCrexdHSgCq2mh8DTnNM=; b=MaMXj2uE6WPjiS/c99P34tdd8IkOFwuDfMHBrjbM9/PP/BGzfR+13RmMXM9Pl6w5pW 1+wZ37n2vqSo67aOjVK9/JbIj+Am6gg2BI1rPh3x+6U4vyCQuFQ4r5iPKq19lNHyF/uE GT5nn9GzD+vRhBZQQmAS8YCE9GX5VakLngMc5j/bKWLKlDOo0KgpmC2qd0/HqrUS71ij AiJKzqgwGlHuva4I19+wiIPt8pE4LasQ3v/Pgc0jhsBqTvIeGBVb780sr9IGuh0FQzwY hs+t2FRsP4SLZtBfZrDYz/PQSWl+8jFjMOPf2MHliwuas3cv7Rib6ixJ/G9wsi0LvZhV VbVQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=dlLNfthy; 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-483703baed1sor27305555e9.14.2026.02.19.09.51.50 for (Google Transport Security); Thu, 19 Feb 2026 09:51:50 -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; AJvYcCWXeY1qL0EKohsdBmH9Oapbv60cAMFZx6QsLP9s1kinTHmPHZ2KaXN/Xt1MBONp/dMsDiaqG4lHdMAAhSiR@amarulasolutions.com X-Gm-Gg: AZuq6aIyZ7erDCDMpw+RH05B9DyyCogHhQt76v68K/uxBNKhuN49w3I+6z2+IxqvDya CQkbC/z0u3nk79RGhCLT/y7reVHjA00BMXD+/r6dDlH28e7a61PVwYzYIV8IqkwJqPUkX6BFIb3 2rv7BGS1Fb5hg/WwtWvNfgVa9y+LiccKLTqJAsRFW7/B6PlW+d117slmlRiae9r5NOQ4AxOYrU1 gVnhGdtv9Ep/VRHIkfr50354Xe2PvPD+waDgRExGHE8ZhKIXhnFbnGEKFwFIG9DnpAJ9jff2QeM mXxhTM9iYhe88aFFB7yZfIn5OQUlqwDyog5O7zV7xeMCfXhUSjJA1qTdCzUhQsyLNsCnEKBgma4 9npsVHxJD1+HWJo5JU93AViV2VOBliud3W2HGpL7n2KfSyq20ycNeCXXMKsWz2DC3rI2Buq1oyq my/zXUK8Wm0c/iO16bTUuv2y8WKWdK/FKFcKkq2mBa+o67GRNl02ueOEreTLlY1695i61difCoB GB99D1LAKR07dQFtE2JHW3uPBpdZZ96+FpyH9ttKPck6kf9pSgGXUjMz9nl7JkYqB1a9pRgbhDb VAYOx0RXdrCdwdRPTrp8qvYF X-Received: by 2002:a05:600c:4687:b0:47a:935f:618e with SMTP id 5b1f17b1804b1-48371061414mr370502845e9.15.1771523509863; Thu, 19 Feb 2026 09:51:49 -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-483a31b0e63sm35485005e9.2.2026.02.19.09.51.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:51:49 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Andrew Goodbody , Christian Marangi , Jagan Teki , Tom Rini Subject: [PATCH 1/8] spi: add support for bits-per-word setting Date: Thu, 19 Feb 2026 18:51:12 +0100 Message-ID: <20260219175130.2839234-2-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=dlLNfthy; 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 --- 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 Thu Feb 19 17:51:13 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4465 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id BD42A3F150 for ; Thu, 19 Feb 2026 18:51:56 +0100 (CET) Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-43771113b3bsf1069138f8f.0 for ; Thu, 19 Feb 2026 09:51:56 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523516; cv=pass; d=google.com; s=arc-20240605; b=bMPd0oISj9QKOY6d2Myrfoc40NhAFp46oeLiyJ7Lxe3vOFCHOB+6bbWRfMPpH37X+2 9HrmuzyuycuWb/OBXBOoFFl/zTnjyfT4RK4kkzBpqidDz84t1QmHYjoEFkQYgj1xp9Io 1xiyqXb/kb53BHTNGl1RDxQ5OyJZkgftJlPM/WAvueCN0aXotnpsddBt+dELjiRzsak0 0zw3J6NKJjgoosJ8C3gf79kn/xXGa6C8dQZFdzLL/ALMaEtCCfmrjFOtukq7DCobydl7 ZCKbg7SKk6YLorUoKvtGWMaFcE198E5BsE8MIlYjm+yQg03HrzsplaSpvq0vhfmeHHX2 nYyA== 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=LUrmeXTpus0eqLeYfrydNLtOJNpnJ8MjtoGZC/I8bUA=; fh=IBSWV+VDHifPsUd6g/ZSEvNxcXZNan2mcvppQbKjrV4=; b=E/WQ6ZOeQ+6wGj7rpPluJZ+TvDAR4WR8uphRGEPj+WAzH2ww+ZIB/BbmGC/iNvGtmk jZFeBmCJ/JlYkkqlUcVa5nOeh6ovNUiEwkA8Tnl42Q/E7HF/0XNlwS4q4zxdEED/Tf29 RyipB8eKm3G4Se7lKg23KYB7wSQ+snmdpswmWD6Iuky+Awi7vecdIKM4S0ELjXGVACZp KquCT/ZBiUp4E2VZcMtKZdqMR6eLAAdnsdHekWHxkblJmTqzJIES/NmMcdS+ooctpAic vjKNzD66DI3pLmMf/s4GuSLK7G+w9InwE8kQ8fFk9qbmqJPiBt+d0/LZ6QzEEEAsqIBV qTqQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=jats72PO; 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=1771523516; x=1772128316; 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=LUrmeXTpus0eqLeYfrydNLtOJNpnJ8MjtoGZC/I8bUA=; b=BDo513IggrdsaD8vdAQKNkdLPBg3VlX+UxH7STI/q71oA01XzJ1NXl1s1SRmyc/c96 XP3lwYxMdKkKbC0E5PHw+dpCOQkYoEOxT0nagYmd1aBcRlOAQcbzgcrlR4TwdBTPOaJa VhDdvUID8FXjXalya7tiGwua/inTir3IdkvHw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523516; x=1772128316; 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=LUrmeXTpus0eqLeYfrydNLtOJNpnJ8MjtoGZC/I8bUA=; b=EQ5wvgCXycEsMxUk1m2zEgWNBWgwdXqrXHbcYRdJjMrpMHDTLi7Qu7pEpbe4jN0L9R aLl8/tn2YcizfB2wOwMZ5e1WFi/fyBqJ9Qcdt4SL+im3/E6NT1o8h3AsX/I6RYQHm79I JQCuUx0I8zDs3dmjj+3AQHDIhEQPpDJKKZ1fndqqLloeD8z+N4AX8t7fiI/cvv21dBo+ PxYLm5RdnD2D1lY3qlRESw9WrKb+metcgLaTnEEKLsOgluODiEwVS9ATQEsonWuXiE6/ BwNi6sNBmn02sIAGOWJDNW4nSlaJHgkVVUYl6J4W2HdtHlA74sfajCzVwgL50UaVwyJX McLA== X-Forwarded-Encrypted: i=2; AJvYcCUb7Fsz+Nu9hvlEX2UniJhAJaoe17d0FWseZCiuU4GjAVsl7EVDLXp8rUYiNHEEtBfjf+Cz0uUoUNmvMCkb@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwPAayAM8X5LCN/7La909oa0drKobjtlbYXH1qGpJcflldHEkGN QE6BltrGpPn12WXLUbneagH58W2GNkAowRiYROdqsPm8nMOUQrZudqkdgCzXPWCl83gv1Q== X-Received: by 2002:a5d:64c9:0:b0:435:a3b9:9b8 with SMTP id ffacd0b85a97d-43958e09fa4mr11215816f8f.24.1771523516171; Thu, 19 Feb 2026 09:51:56 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+Eacwb4LIH68oHKhOytPPMI1VebGgEyM8XKTUYF4Hk/rw==" Received: by 2002:a05:6000:2c12:b0:436:324:710 with SMTP id ffacd0b85a97d-4378f22c993ls5097516f8f.2.-pod-prod-08-eu; Thu, 19 Feb 2026 09:51:54 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVUrVDkmTIAC4Ztwi9IVjcWV9tJm4LCgTHJPaMgli82G54ymB2czPd+ZzSsKukl4WJz2oZqR9kZOBJYuyKx@amarulasolutions.com X-Received: by 2002:a05:6000:1a8d:b0:436:8061:7f91 with SMTP id ffacd0b85a97d-43958e3b989mr11910778f8f.41.1771523514122; Thu, 19 Feb 2026 09:51:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523514; cv=none; d=google.com; s=arc-20240605; b=GT0dtnbCoR3lNbxeAtuMdrKWZe5Wv34IsuVFXnhLS2tSi/zzeSbtHipyfZSxDaV287 HKsE7PGutrpKV4267akDp+6PSlY7GWBmU8Fjg5dnvdUyG0u8kwFEb9ON5aZuCZbdNtpF fmuLuZsc0G7tOLBVMybobgHElG+EltsBCZuLnkjhKGPlGWuyHCinRF+ury4JAy1lKI31 G19IhnaaPoDNGVYBOyzKyDvtDXUxlByDWd3MIeUC7YkmE+tUQgJQ0zJqnh7FWigFIAtW mzvHbGOWU33birnG8L29Z0dskaSXhM0MvtR+kvvqmbIIUqG49+5NHeHldSXJOv9BO0c0 KqwA== 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=mA6txAjpKnV7iUaVBfj6HhQ72BfpoUuT9C0VpGIiaNQ=; fh=imJkWifuki9SzTYLczV+zsQLfHg2U3O3Z7tKdAoESvs=; b=ZbKeyMt9XG3OGMowAOa30+rOZJaUxNm2L9jR9jox4Kpq1igquzq+8mmoNBKoLWEwlV i4WllX2iZX4HbcIVDnEnkaJOBKU3CsS5X4Ch7r/P5h2pRhHNVT/XjaXYBb+Dd9bsKDIC iPoR5oF7m4DJMvBV4AzY1YOdcv8xeVPJ7jv38CxzbshzFrs3A1SOsenUCZLUeeKL329Z XA5o1XoTt3/5Axy3OrZMa6CFq6TkA5Cnqy6yEpR1KMKIs0GDV4hFj0uHeEbVYD/axGQZ Pm0v7LwzRF3pnfkjCdfozWOE3/CV9fhXCZDYYjoDGApk3YbI6ubyH+iXf9nhf0ia5ACH COMg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=jats72PO; 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-4395768047csor901057f8f.20.2026.02.19.09.51.54 for (Google Transport Security); Thu, 19 Feb 2026 09:51:54 -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; AJvYcCVNpCz68HURGAOxrjmaBZl0we0rn+icnMstg7kiOIvRO/KKG0Hqr6cKzokeWwleEw/8HvUxxjaVMf4kBGd/@amarulasolutions.com X-Gm-Gg: AZuq6aJyolTyGLEA2prrK8cc0FglyYNyOMhpgm7IElC4oQmOVXI5tmQYsSD8SJDjtz2 xDyHiPMOCiq1NGlfz5/Bw+O2yO19gJ/zx5I9nmHH8lM2V6fhnvfGbPF+6NOahGdsWVTnhLobj9/ 9df8U6UxN2f75MkdBqOcW908RY4xO9J6lKk1aq8okdSp/2g+ibWEMcOXlwTFImMBZcixap71/aY 3rADgthB7nd9Eazuj3DrzHLaPYYibnvzOgcgFCJD3MEmPGgWDAwFYTaBOcgtRA2qaB3NOPB0pnX 1yM+pVC+n553SE8nSgBwmKJgeuJ0rywsEjM3V7uzSJ/BfEjonxivapEb+evSUGoWsJjeafCRF+K oyyNir2NpNWJ95ZOnxL8oa4/wEvwzHs9C4E10RnE6CW2epgT3dMFSvF4GY56fPUeQepLKP7qrt1 acctGoY5aP0uyKffKf/bym9eWyWbV1wsH0gRJZVNi2wuVcC3/5lcUFDca4dPWoHGU+cOqA2ISzq HSwVRTGCgDAMPK+cIDqNtCSeik8SMf4GKrWuERurb+LdwSVd+uXYEYxqDRQ9LDKfPAkzzMmTGVf qCav9XEOmxiX3pICX6aoTIbj X-Received: by 2002:a05:600c:6207:b0:47a:7fdd:2906 with SMTP id 5b1f17b1804b1-48398a52eccmr97170635e9.12.1771523513726; Thu, 19 Feb 2026 09:51:53 -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-483a31b0e63sm35485005e9.2.2026.02.19.09.51.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:51:53 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Jagan Teki , Simon Glass , Tom Rini Subject: [PATCH 2/8] spi: sandbox_spi: support wordlen setup Date: Thu, 19 Feb 2026 18:51:13 +0100 Message-ID: <20260219175130.2839234-3-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=jats72PO; 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 --- 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 Thu Feb 19 17:51:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4466 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 B7CB23F150 for ; Thu, 19 Feb 2026 18:51:59 +0100 (CET) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-48378df3469sf10911085e9.1 for ; Thu, 19 Feb 2026 09:51:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523519; cv=pass; d=google.com; s=arc-20240605; b=GS3VX5Dl1uJbWQy5Q0mh9bzi6fT8/UtzYFergH3ATn7POnn7yx9X+D/mi20TaWkw0i BaHSlmqJVOndqmtN4DLWMujHEI+eV7C2g+Zss3vhHah4MPzjweW88KkOXRlhOPyDzM10 ttGcOsMyu/0ma31XDKFgwcjRpix1bMboq8GR57iiGObEAqgtw4pCkSEu2IozWcnbbYv7 h1iwj6Q9ahcAJ7C2N+gd3hT56nmVJlE9ekQ2uMSALVfHwYnGNiC7j61wUEg4K+VCOtmu ntqbdu8j+zhYeidiFAFT6ELEOjXUIybV1rdhZTVBmQ7z/ojJWUQINljSU0teISoMYRlo jq6g== 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=2iQAe6OlaSFwiielhfu4YIyzkXxvb61QlfNnSCtp5Uo=; fh=rMq/MXbcX5S1B2ZgZ2zFAARnr8qUoZIRpQTlyvwFSTY=; b=SvKJpRb+lOj44ahYn3DTQu+exyroz6wH02ES6U5+6+RCk0FmAmzFe4E1eqVlrehNgZ QBK9Mte3SZ/8s0kHqBpIUH9DVw66w2upk7/hqI56qw3vVuj1XHPO/uFo2NfrJdmywooH y8RyBlDSViai1dYmuOB1erFA/+vGftv80OclcUF1ts4MaH3RI050EuqJYF5jKm9hCs7A I06V9F7laUzTjBy1Scjj6HkTje7xlQn0pldUtcEtNQ5yX7IOlT8JmnxA1ihW6t4krUsW P0MdHSYFRCvjUNdNjPy+f9rOWwdM0aTj7KEB9RjVPZ7u5yi6lAJw9MagfZs2rMOrexDX /1rg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=RTuBUCXb; 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=1771523519; x=1772128319; 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=2iQAe6OlaSFwiielhfu4YIyzkXxvb61QlfNnSCtp5Uo=; b=MMOEPYaL9h6gfLoox5PIOkCY5ZvXtGQZSLjk+PnSOlsyuwXgbftkIu3dd9+N/fwQIe TWoZMhgC8LScWe4THzwY4/UBwLdIGLGDUvmlaCnAkI2+tmApIDlWWRt+8vq4AaG23wQq 1FUtUR2LV/DDXY7R/026iohvy1+9bywzispoc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523519; x=1772128319; 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=2iQAe6OlaSFwiielhfu4YIyzkXxvb61QlfNnSCtp5Uo=; b=UhSsYFrOOCLJJHXbUzqc0yyXu0luoElZfqpPYSvU5pOyM5wewuzBTXaQbXWH6vNEOk +EOqphF7HOitYexW969Bui2veZbBcSp9DTnN+lZv8eEDn4Dpgp5/fJ22L+4sx2Xbyzio ZuW4nQRzXHCiWceQXNRY6ZTa520sSPo2wwfy2+T3p3fFayuQOO2LuZL0oZCqHGZJM9xR vve9qkOO/ESNZShx2yc1pmILUlApUFJBq7HJ6CxvMzfgU1kG1SI5lpXVHukFCVwhFffX /gVq5W1ZLBXPoe9xQ+4U3ViJoW6Xc636llbw4ehU362RFFQIERKomSLeS7KzfetpZUbA sXcA== X-Forwarded-Encrypted: i=2; AJvYcCXdR9Tnfsmgj4HQDaTsQ1iqsiVMj+GVjxsUD2KtWC2KB4Rd7vR5ugOvbsXSgqWWYMv+HULZfV6bachTPwP4@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yy98o2XITjPWjBzoqp4meAfUgIPtHcuUSbVjndbSMuM9q7d0po/ y25nQTEc7VdazxEoh0gFWXbaWAqPKerKvTH/nOugiqUGKxeqT35hN+SY3J/6y6zvR9ZxSw== X-Received: by 2002:a05:600c:1d0b:b0:483:7b99:131d with SMTP id 5b1f17b1804b1-483a009b770mr47114895e9.16.1771523519269; Thu, 19 Feb 2026 09:51:59 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+G0YJjzOyqw8CkpbOE4mN34s0tr+smvP/qsjaWmq440ow==" Received: by 2002:a05:600c:3551:b0:47e:e26a:751f with SMTP id 5b1f17b1804b1-48397095bbfls10431045e9.1.-pod-prod-00-eu; Thu, 19 Feb 2026 09:51:57 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUT8igldrGfgQM2krIohyy1UXpZmuoelACh6clPJrgu5g63AmhczZ3889coEA0HDE0tPMPqiFuDlq3Grl6p@amarulasolutions.com X-Received: by 2002:a05:600d:6447:10b0:483:a352:b4e4 with SMTP id 5b1f17b1804b1-483a352b4f9mr13298545e9.6.1771523517038; Thu, 19 Feb 2026 09:51:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523517; cv=none; d=google.com; s=arc-20240605; b=FsQzNt3VDViiH2ckxbdp9Cbu3t+krTIYoPiPtDh36S0oRE8xMbnGffyqARlVKTSgpT at55BVHtS2jW5V/BbLWl6Ahc+S+AmRIR6jYrJnAd5UJDkJ+iIoZ1g1dRUMmulso4P4sE aqbl1/ENiqv6IAgUu6DmTvf/JvVR5pqrfjwIBNMSxa2GAFHfESVX5MPfII9BwYJxkahc YQGMbhNth8HhRAPouPsnzq+FZh6OBAxz0snivFEHWAjk2bO6Z+I/47qj4ciiavWVIoOn RES3MOkELi5K+7i5+H4vx3vh0W0YM1wUppaeMawgONnXEAaIJ7EK5lySFa4KBKJbl1eE ss8w== 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=iqS8BMujc7huCljGLyRgy1F5r4IDy3eVdPIRG1EUWAw=; fh=uJirquQWJkspDCgXg9kYP83kgsoDkQOXngFM3m8JlTI=; b=ly3gFhc+I2wrwfA9bbD6vX5go99bedDsmfiGIi6KFw9GVEYTU2YyBI+4mF0thTMzoq H2K/vZi6hau883zk2j6rDyHgGxlaUXcO1NH7fYOyScBDm79luP1aXKGGgEW7T3O56Edo v7g9cy0iC/3zebZoj1jfQDUzqOyHChRJS5pGew004GLwZ+irPZ8cYgclAqAqmiBoaJdt EuX+IHYMQTADeqte2J9sXoNvStnHesf+Z6m0eBCfGXRDaz9+SX4ijmt7vY12TeUuygm1 2K69onpBA4KujaPuzw7tpXtpKr0rvwRirDDzZP9olFchRk85gxEoA88QnHvjFL/L3+AA NgOA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=RTuBUCXb; 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-483a3199f61sor1602965e9.1.2026.02.19.09.51.57 for (Google Transport Security); Thu, 19 Feb 2026 09:51:57 -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; AJvYcCUrnCRD27ZqyNa4MdBmOq587wQHzNRu8F0jsj23DXeE/5d7fysv+sgHS8SOk39GtLHmASnnFZek36npbck4@amarulasolutions.com X-Gm-Gg: AZuq6aJNxc0UNApdr/5K6F4cXjBrrAPvaIkRwygwJ8COHflKOTHnX6unfXZzwmZ8EFY bi4BRJi5qrCyFX8ko6qJ4aLyeSLH7aT+K9qyoibSGjr/0g99aOKEO01ksinzqBQ8OT8e0oXt/dq G2yakUNe1vFb2cLSWcm93zCgsLsvTrmT1HycZx+206GhU4VB+VMenkuB3JMW9Gme/JQoeGSlNYH vEc8tc/2vFlNIhyk4MRefGhj38gtecGiRh/A4Yk/n1vbVKO1LVxmWfhXQv4liyNzjulANNbHyuy hmOpwxnOVMD/5E82WzWqIlFS5qBUI4ilUvXMviVu78akhNvaCAJaRMm0RudjRYMlpRm5ppsU46Q E06cHt3SFfFaGGt+ZcRSTt+ygqEqkm5Udc67oDzCua/5WPfaiva91WYDN3hhVUXuv4BFt5r9239 7OOE9ATDQG3Y1d2nBAzbOKENN5BxsIq7WYRxBStPSE6eQcQKPPmahZD3Xm9p/Q3LRX8ctBOvRWT w/LY4E61MxkOycaMBQdwUARAemF9otdeHmgS9dafj6aO36AaZ4qtB1ruMQy4jWmu/BB4akL8qYP ZsV/lF0ZH1nmfPQnW/5Vr4sAAwHm/kxgi1o= X-Received: by 2002:a05:600d:6413:20b0:483:78e7:ce15 with SMTP id 5b1f17b1804b1-483a00aa4cdmr33790975e9.13.1771523516638; Thu, 19 Feb 2026 09:51:56 -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-483a31b0e63sm35485005e9.2.2026.02.19.09.51.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:51:56 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Jagan Teki , Simon Glass , Tom Rini Subject: [PATCH 3/8] test: spi: add sandbox_spi_get_wordlen interface Date: Thu, 19 Feb 2026 18:51:14 +0100 Message-ID: <20260219175130.2839234-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=RTuBUCXb; 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 --- 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 Thu Feb 19 17:51: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: 4467 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 A12DD3F150 for ; Thu, 19 Feb 2026 18:52:06 +0100 (CET) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-48378c4a79fsf11148945e9.0 for ; Thu, 19 Feb 2026 09:52:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523526; cv=pass; d=google.com; s=arc-20240605; b=B1/qliu04PmpyQ6q+13Ei1EOS3Un8HLiTJqm9m6nvbrTeYZXniMzQv14Ksnxl8VZx7 fNDeM6kuvR2pYVh54v7Xv1R2t2XtAXfo8BLhcEMs6nt7I5N0ENt/xC09u0aYIQuSPOvL 9sDNtarDi0dwlzAynCpgHugky02zcwWlaoWDnvQUDQS9JSv3EQZDk8WUzQZ+IOw1W0o6 a2/E8f1BUZ0iPCrQAmUJOqlI6sU2I91dGcd9ClLe6KPxaeKA8DN6O58NCka67UAt2DeT bTgR35GRuonKgN16yzw3UBPJki/lewhLbiOsOsjxHCmaYkVVpNzGwkRLDPUXT0XUWd8i eP+Q== 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=99Xz69w/FWWAugIHXy58SG+Kd+FAjpKJ6ow66vGLMd8=; fh=E7ABo5TReogmK3Me2cVlTLFBgza5AcwJ3zWQTKMFbjQ=; b=FbaZUGlyXBP8BizsSHmTOI970ZNlUtglfNCPn+maok0H4lm3RqDURk0TR7NzOCQBdm SzK7wOi67Se9VzhT/IPbZ1+dzlmrWbkSU5S+lwpyNy4GucYN4IoPkojpVAr8HN0mQlik VFBv53u6z/H8J6rUTn6DdPx7sGLqfGUQsYJ7asCV8HqY19yILfF0ox2O37Pf+sjzoOdh g8ZJDOnjA1QFJhIA2RYxp4LXTu5H1EK1IVjXFlqm0om9JTLJywQ0cl/awnfxDQYEC7nx CjIgMQjLmHXSHpFD04qgAYI9UWU6Dtja9V6JLlnN8VVpOta2aI7itjY0k51F+V0MjYRn N/cg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=QB3jweaM; 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=1771523526; x=1772128326; 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=99Xz69w/FWWAugIHXy58SG+Kd+FAjpKJ6ow66vGLMd8=; b=AhX/BmkYxW/EY+5SOsQR4SqJ2S/vCxpTiPwzKSPynYXfHyGXZb5ZByao8ZdNOXvSN9 t+rOkMTfxgOIWZjgdeDueTslq+jSYneAVDDm47GLBP+fRrYw1QlZkuh9Vgct+O2d9WFk kWTB04Vk0Ot8dpm7lsb/i9rNkMM7te+4/YkYo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523526; x=1772128326; 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=99Xz69w/FWWAugIHXy58SG+Kd+FAjpKJ6ow66vGLMd8=; b=aUbD6zKeO7GhXCF41P03boWFytZch8PHldpvnOT13gZXAuOn5ZDCyoBBAZzj656Wsd kS2jevr65jz+Wo6Klj1e/92ic/m5Bp+C35Z+phBvPFeWdFkD7JPd1VCWxNmcoeiMoM6H PsT4Pn7VOExg6EwD68nKv22BDsE04g4cfb3IDMs4KustysGbJ18ZyMh5yVC9hcefSbrP eqQP0DdFhlTxp6U1AZZtnSS1wVxCz6ib+zr/VitIpv7K1TA87BIPxg7beiw2GswU/dXT vpSCuQYxvB4q0XXzWzWNjnKvjOYVczMeGd3X6NBkVeqfqKjC1ucEzTuS9a4h8qvZGxEy Gmng== X-Forwarded-Encrypted: i=2; AJvYcCWAmbnAY8hEIu52GAI/wELeyhzN/6T/ZhcJsLiRVpBiz6LO1k+GmDDNYf+5x3AewfWXVYNIng/pG5r3x2T5@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwNhtNGlLBtjS9CzQSpcGY3L5RHgWj4Az0RRCZv0MAGMHB8bXuM ZsrJE4kGozpnB0551fdSxH3g0d/AihrtQ094crk3UQe/I/C5FkGKQ+81k2PycyvXoSZwzA== X-Received: by 2002:a05:600c:470b:b0:46e:4b79:551 with SMTP id 5b1f17b1804b1-48379c01465mr355567145e9.31.1771523526043; Thu, 19 Feb 2026 09:52:06 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+H9x/2q/DhrdB2LnIkpcoJTaubZv421eor5SgItktoIaw==" Received: by 2002:a05:600c:1d0e:b0:480:6bcd:94b5 with SMTP id 5b1f17b1804b1-4836702128als59884945e9.0.-pod-prod-05-eu; Thu, 19 Feb 2026 09:52:04 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXjyrTze80k/9rmJ1dFQX+zPI+wdyquXcynXspoRBjK64a/iWVs/5I5SPDG25zZUtObN0eHKmegFlwtkOW+@amarulasolutions.com X-Received: by 2002:a05:600c:468b:b0:47e:e20e:bbb2 with SMTP id 5b1f17b1804b1-48379b93583mr309051035e9.7.1771523523975; Thu, 19 Feb 2026 09:52:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523523; cv=none; d=google.com; s=arc-20240605; b=lWQpffZbkTpiHKXIjvg8BSn7PuQuAV07a5m3Y4Xi/fsuZHDTbbA+m59rmobu04lCQb xreE7xJIXbzqoRb0X8QJxGs9jFGVLlEaqhdYOqXDVdCL1FcI3VZIEUiK/QcnvYbeuRSY GTWkhgjEjYU9TcppntQqPkU5swcnm8YKtxtUqMgsuzvVYepORDBbz22IsE0e7zfFbkW3 tT1Ah+Ot4CgPoLMm1d4StF45w9RpqZftx6+3GLG8PstsBW2t7X//sVY/qLb2u3UJ/ciQ lG4pZDmp3gtF43eHEWm361dhqczO5G4GlzINHPPOg3SWLl1JHMeUFS8DQTr35TEdvYj2 sW2A== 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=RCHtgDZvfTFI4kdVn/tCFXNLzJyuLrLIYxBP/bv67wk=; fh=4MrzwlZTTIfZJRuKbiUH36LboLFsV7KFmxdb7LY/61s=; b=DHQSHXbm1oqmP/oE16AXiKrHoB7k3QwkAZjkQmDcY0Vey8tc60Mfe7YgPOKU5X7Xen BPYtz8FhiWTMKh81q5+wf5lAJJcpo7UH/zuQSdOCAHbOrgBZW7QFZiVEaHd6PkGR2pMz 7/5dRWjI0uM/epjLF5oHJJ6UlY4JsXos6IMal0blG+rzHUpAsELIUCe2w1R9G8UiY/O7 1TBOXs0Ts3t7pOKS1pYJ7CJMNdMURU3CxXTMV9Y2EuFMyFKrcYEPQbk16VVTkdIATx7A o3DEpSdKXrDYg+5779LgZONpoatmzPEa6CKGhWpsVF7gusYDx2LmkuyBBvK2PP6+HAof Ofow==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=QB3jweaM; 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-48379994d35sor19470365e9.20.2026.02.19.09.52.03 for (Google Transport Security); Thu, 19 Feb 2026 09:52: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; AJvYcCUiItJvBcbFqWWja6bkUT3llq1NdSrO7UacX75MH8yYxkh4DA+7ODa+unxwtmMbaXPa7w3pC9fsWUWLrY5r@amarulasolutions.com X-Gm-Gg: AZuq6aLOWdXcRE7ZoDdifCYL3zQ0ZwDYLdjrQhBYQ4yC5+p8+zHHAL+7X23Tg6ZArBm bP49pjEdxHLQ/dBj9jyayX3gk9AXDBUjjYI959fRsqfMrNFZDY5Fx58Zz03ysfzMgov9yuN1IfB WycAnRWCCCrAGFj+H9fyUy79gGyx69yp391ng73QkEMLzrh2LA2kGoM/lKAECPjmKrcmicXvouZ M8SunJ4FB3sKxe+2VQzpxYyJQGsEzfO7TKClB6PhEyCeobLuslCSZP63MlTR890SHZIUSHu31oq aCJv/vfPbzZq2/Esv7XOnoHQXl6SpqAnITeYZroNoomtUgBknJBnlGXJXJRIhSf+rprBDNg+/KD OQ3jd+mO0kEd8+8BeTTx54caIAURCKeTjlRnNE+GRo36nBbxJU6c9f7CwSKILYaEB5ELI1IZM/s 2IP7T8TN57wfdGtt7DYgLVuR8+UH0pM5NXXsTXk87Z2u9mKIerXpdSQF8lMDV5/kIHMvkqq97pN y3lLWsH65n9VKtOE8G+7XfDLGIFRSUDliAlgAPl3gOTzTo8gcwuk2Gzi/UD0XbMcsbPcRMjqZ/C 4k+ugKOtPK1DGXtNRMbZ0GQU X-Received: by 2002:a05:600c:698c:b0:477:5ad9:6df1 with SMTP id 5b1f17b1804b1-48379b932b7mr339624495e9.3.1771523523473; Thu, 19 Feb 2026 09:52: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-483a31b0e63sm35485005e9.2.2026.02.19.09.51.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:52:03 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Jagan Teki , Simon Glass , Tom Rini Subject: [PATCH 4/8] test: dm: spi: add testcase for spi_set_wordlen() Date: Thu, 19 Feb 2026 18:51:15 +0100 Message-ID: <20260219175130.2839234-5-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=QB3jweaM; 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 --- 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 Thu Feb 19 17:51: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: 4468 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 F2D803F150 for ; Thu, 19 Feb 2026 18:52:12 +0100 (CET) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4836c819456sf9217265e9.3 for ; Thu, 19 Feb 2026 09:52:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523532; cv=pass; d=google.com; s=arc-20240605; b=bJjxSapk8NhgKPdE4APtmTUUgh/MchG8YswXJ7EHVvVQfIPs8k6o94RS1bvqo/U/Ox oIY1dKF2JtRSd2MLVeMWU5AEf59PiKO7jNXI+bubJ6SIfbvFJZA9X8LusPazixlIYbPx gC6RSJVOQzwCWZisdXwmQxGCE6354EunFs+AnUBZkLtdUQPXyJ1czjX4vfRbMZcWRYba MDF9QsLSvACa9IuKSuWkuEF4VgClGHoR7wtvRqeLFXAFLY/7WSfBI5Y+J0AmE9UDzgUc /9uBGm2qQ8xmStCsOk6Yt6XRYN2gbDoyXSpPxN3N9gpTRMGIYilX+Y/Zm2ZhUhp9MRhX z89w== 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=W0GquyKy0Vu35182TvbMk2QZNgGI/7Ey1LlneZG8U80=; fh=YLHTA9Bdznj65yn7wP8+0WIvQk8zHh6XAhDIEDKNKRw=; b=ZKMSX/r6N54CZ5GIHkyAet0eaLPlOPRBObr/C9qcqbWdskSrHKGsP3uu5++Q0Y6wKM bofFZVcFwU8O2fPyG7zHyZZt6t23gN8FWbwK45MBjzI/YdBGJDontH91QxZ1mT+rVeTF DJNTP8wtyiGiFD/rzgm6jWyxiSVQ46K6B95Ear5ol3VWmte7tqK+R+AjD9+nmq5+rrYt 1EX9Bvkx6B8JGYR+2pnhORC/W9GeKKB4x9vr1sUPOswUmocQs4LhyoiJsoxRxMQf5wke oWOX4ErceMjQVLD2dsqy9xBarX3Mkdj6oagwXuZfle8aI8TO+/WPt+TUj8kO5XslxDoo crKw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=qeY6nU9y; 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=1771523532; x=1772128332; 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=W0GquyKy0Vu35182TvbMk2QZNgGI/7Ey1LlneZG8U80=; b=Ja48wcQIDedpw8veLgKU2z7uVsGjrlkSAzECvP0531LyB0RB8YEFdlkpF0887Ta5PO 010Pp1oJS4hyQgo1Xeh4bRj5/gs9g7Zynmx0QIRSVsko3/Bs3RpZ0CvlzphfsxAfrUqc AboQirBAL5UxViZaZD9i0wQeVy9YTp16PSWzs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523532; x=1772128332; 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=W0GquyKy0Vu35182TvbMk2QZNgGI/7Ey1LlneZG8U80=; b=Z3m2pw+ZVLzJ+1LJm3A5YUijSLNbfH9H5G+SdAX4jhzAee9uClwOoXNEXLjC9qi/F1 x4d0Kq4zuAq6/yyf0NqLp65Zv4mVI0TnU1uMdgvbbDI9DuXpBR2oMhQJZ4gKYcFx4CoD VQHNVJpojHpyDCEeAwBiC9QuLTW6NtWSKmOLJQ7yPZJJ1jxt+56ZXeWoNF69JAaM7ajS ecLU6uaOjRvy7gDLBhVQFFpgZv90qt8SDMRe+YkAsDI5Zd6GFuqs7cMVOu9Z1a+go4NV /MYMJYk/YW00rBhC3Zo71EWTN8aUlFjzKFDHuwFJrmFoqWCgTpk3O200HOrmJyBVLnJT +S7A== X-Forwarded-Encrypted: i=2; AJvYcCW0bsZt4icCVB1IDTuSSLM89Jn+sT8mTerMVeOnogVyVx9ZgVqKDA0CefXa8H9jWOQ9Qw/3A9etmlx9nPfM@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yx77M0ACq2iRs1v76LvhE/oJpuMuJPEtadXQ3AevetRtciEqmkd ZA9QfWzbjdAMxfuAscP//Z0pyajsb3/IkN2CYm9JdIP65dcmnyXl+SBwNSm04woEY4ahgw06h0C BCg== X-Received: by 2002:a05:600c:1d19:b0:483:a2db:6743 with SMTP id 5b1f17b1804b1-483a2db6aabmr23086285e9.4.1771523532559; Thu, 19 Feb 2026 09:52:12 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+Fy+a6Ejc0R4AbbCn/LOWh5htrrKuWPk+/fJzwljaEKIQ==" Received: by 2002:a05:6000:2c12:b0:42b:52c4:6656 with SMTP id ffacd0b85a97d-4378f228c49ls6723803f8f.2.-pod-prod-03-eu; Thu, 19 Feb 2026 09:52:10 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUczAIXUAh+9nJRb4Ydm7kHDywWxxPMkBLFz65UqYF79lClDXrb7PfzINIInIqGW4QYqN59PbODgFliUqrN@amarulasolutions.com X-Received: by 2002:a05:600c:1991:b0:480:2521:4d92 with SMTP id 5b1f17b1804b1-483710858bcmr408271695e9.24.1771523530338; Thu, 19 Feb 2026 09:52:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523530; cv=none; d=google.com; s=arc-20240605; b=JLWgG06OU3JaDOMvFNTnPCSrMmYTM6f3bgbBF4JD3Zp+72DiJ+Vp3HIqYwuqZQZxv/ LhO+meyd1Z4ybyqU2lg9XyqiHjDoX4fESV6mupH3DQhphEp/H2GB1jwnZVcDSUNBVunn 1XZFdjOTRBsHChZLuDW7JLvl53cCUfpbhBfMwytxoAQzoTpH/POVDT3Kb+CD3alxdoo/ efcA5GQToV5meA3vNrm8KT9b6EXzcccMHsfP2rExIY7/9XMqbgbOjKO/49ORiy5Mqi5N lENT/9aCVGtFFiuiqnTdXn5LWLRvaTdI6Da+RFapuGwU7UZ5Jo0Ha5AwQ0Fl3PcQdw6y F5jw== 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=VXul22mgOqTPFmE2l0Bw7pi4t5Fuo2IMZYSpgl/+DvU=; fh=XDCuK3ft5W5N36HRfLq0yIlgVKTn4RElKErzz3TeWFo=; b=TBYaFj9YJQrIRGOLPuOkpIypHAVTMewW8tcbPkKCRobLpDdAHmQwZltwjL7Psuzx17 ovXu+HEYTQgyhfpvzjXwe41YBXvN48K3uAkIMu5n6zvpGRKwKvTuw0bzcVItyt7p38eo 5ZLyvdBVJQK6v8ox4mxxiZbdz9be/K6qh5/wyCM4/CQZNM/tWpVTA6eM8u+/Eyts7tA4 uEsle2didHr8W7EVfFI/pAfEknnBDtNxXrkb8Qurx4o0SKMfcXT2a7SOOkRZk6mYM8qT GwbTZAwS3XDwN+I4+enKe3hxBmUto0JwABuVOREjf3FeZbZFbCyArCX/DV+c/1tIcT+i iNvg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=qeY6nU9y; 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 5b1f17b1804b1-483703bfd04sor20256855e9.19.2026.02.19.09.52.10 for (Google Transport Security); Thu, 19 Feb 2026 09:52:10 -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; AJvYcCWpPzp0we9pIcJDVa8h71lb2AlTjR/37KVeKjrK5wSDtzUJQ4D9AlstaiBZSTJsz+vN7yWQNo8o9Mci/6oh@amarulasolutions.com X-Gm-Gg: AZuq6aLhEKqhcDQPZlW2fysuFrEwTcEBF+7kTwS3HkP7iNqa00GKfHJJsQvHMKju/jm EGYICwnnhWkcMlBp1bOYgWB4ufleeRTjpxnma1bGYHV9AreQLA1fvsFwGTDBFKmA+FX8QvKboMv qOVHs/GemLCiBu4gJTnzC9hwbViHxNuXeLaoV/qKL4bCKStdw9eZuE3wicxzKVuPxnI/Y21aMwy KlqwMxOgiAyXciPeUEndwhQYKGBQfkbkyV1FHeBX0Bn/4T5sMLz3CkCfxdfwcJsmZqe9yOjzJYV RYN+obwJ4qR8RZDyHWn1Bt6NmkAv9l/EuwEiyIgTRqt5y0Bi0XJeKmaT2cplk40ogTIETossp7q vqAG06GUDogn4q/rECuFX7ZdH+G6WIsdcoldsAsOdcWQu0eybduMsSlSx7S9LIfzJ6QbluVBMsK hL3A6X1B2VOx130aJnASCleI+5HAqQ22kDshjuxh50YPgENfpzRk/9dLwxvO6IC5kCFN/5yvUJ4 WG76NsEr7Bmw9hCaKDrq8kIbp/kzwSp1Z50czY5SqxNIwTekxYiWToZOwQXO30RAKYoldzAjLa2 I2ybCesAv0zq4AK9pdOycWTM X-Received: by 2002:a05:600c:6912:b0:483:709e:f22d with SMTP id 5b1f17b1804b1-4837108fc46mr374253345e9.27.1771523529890; Thu, 19 Feb 2026 09:52:09 -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-483a31b0e63sm35485005e9.2.2026.02.19.09.52.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:52:09 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Jagan Teki , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH 5/8] spi: stm32: clean up buffer length assignment Date: Thu, 19 Feb 2026 18:51:16 +0100 Message-ID: <20260219175130.2839234-6-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=qeY6nU9y; 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 --- 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 Thu Feb 19 17:51: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: 4469 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 6D77F3F150 for ; Thu, 19 Feb 2026 18:52:16 +0100 (CET) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4836e35292csf11773395e9.1 for ; Thu, 19 Feb 2026 09:52:16 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523536; cv=pass; d=google.com; s=arc-20240605; b=cfdwMWJki5RjI+dRgOvj7u8dz1YYuj/+H9BLz2aKNDmv/Zog9ZKrdxp6tOVVfrSnxb AGP+XMuHXT6cJdWEGJG4lHEMV6FIziHT8Do5P8zyGkpM2B6GDrgeIJnASpkQhC63xYKi muBbrLXQhAF1FmOm+j5uEaht6JzNv9dNLr4NO9fvA3ChjTbpFhFWNDt/+SqFmcI2dBLH ecnzSFy2cXc5q2QhqInkgMXa7pGABsK3vmBLQ6zuWLYuMeGNwPjvwH6MI+Gy+dX/p6h9 7uEPQ22FXbso5iB8v3IvIK1I2gnQM50huTnPEhFelBaiS1it4eTgQfUNFQtLXbAblC3L iQ+A== 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=2eNm9YDck1fJ8ClJOyNYoqs2t8ZM62zXtCqIjn66aVA=; fh=38Jrk03GIdO4ePjDaoDHX7qv5uVlHUh+xjmOit5jaZs=; b=lhDAb1dWzzvTD2BpgUUDDoIWxnw/v/RKtjZ1fXD4+jeyU02ZNmZIRM9hEuusTjDSX/ zR1+J6mLJJnUyxwYVof+d+t+wLDzhpzO7xI52HcuPuENm4BZf0Cekqcm40M7CYAy4s9V d2XE7FhpgQqj4Bfk3LVKbIKfv5jE72IMUnIh3xHvJqjcrCagRm2ZCQWEyGn+spZRlE83 j+ccFDCRAdzupumQ//f7f0LtaVLFdIWt9JWMXA9GmTr5frCF5OnCxmzEv6FvMcoK7UFt pQL12Jquf3j7mj/aiKfBpy8+RzJBNDsHCSqhwBCemxnDdPcQ3hbWk6c8CjCAo+hQ4Pcj 71qg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=U6a2M4eF; 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=1771523536; x=1772128336; 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=2eNm9YDck1fJ8ClJOyNYoqs2t8ZM62zXtCqIjn66aVA=; b=WrvLaPNNYRD6N77Js8d6y7e5xk2oIpek+qBpy5OBpiTOleqHTfIk4hH2TpkR1m2Uhu quxfEnQPTrwFFETRm7RQ1m3AKFDl+ntNB9uI5ByqH5udtA7Extr3xFZfxvNIpwRFApxY vJAg002xK2qm4j8TGdW6RRTlwELG603G/Elws= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523536; x=1772128336; 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=2eNm9YDck1fJ8ClJOyNYoqs2t8ZM62zXtCqIjn66aVA=; b=vVULoWTNv6FBHLEqpjZ6Hqz0I1QEW3LOFk4POc1Rn8ZIBgujA1ik83unhuYCjafLip kTeeVAGuJ/Kyx7Zkbc/9O7pnBImQDA5/zuGHJfHBM2Zvpt1UI4U+xDXXCKhXNmQFH34C ZIoyNIYSPCXRfMFo2pbirUjIDnYVS/LY+2zekGWP/MU4HJql1CRg/Rlhg6rXFByBMxXZ WRQ3lR9rmzu7x2u4xV/gtc2JNa6YSFy8yl4D1KswjGcpBWI1NcFTl6Mi4h7Vd3/jpHMJ cXcTUuNFbpO42jwB9X05gcJabTpe9JcjWMtQ3E9AmBslaoTQ3LxV0onMqDzJwLqGtzae 85tQ== X-Forwarded-Encrypted: i=2; AJvYcCXoXevudAVSakNWKmAi9DRPVNOCmm5PinykmFNT28WkgVwvuyD9tbIQ/clgduobXe37Qy8W1JghuA+qIGsb@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YyFTLzfQOmxpOLajO6z3GdVljlpo7i69Sq85lD8raahHGp0nM6U Yosn8h5Y3AsO6ICf6gmoYI22FUfsBIahJgam7FUADfXK772KE9QDJ84KG4vJwF3f2s6uYw== X-Received: by 2002:a05:600c:5248:b0:477:a54a:acba with SMTP id 5b1f17b1804b1-48373a3e98fmr391243165e9.17.1771523536015; Thu, 19 Feb 2026 09:52:16 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+FbEu4IzjrLxuaQROgD3LJqXfI1PbPCfjFfNtREOkidQg==" Received: by 2002:a05:600c:350d:b0:477:a036:8e60 with SMTP id 5b1f17b1804b1-483670260a0ls52721145e9.0.-pod-prod-02-eu; Thu, 19 Feb 2026 09:52:14 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCURBNVl5Hnb8gxDJ4JL/yUJjHkkhuIQsgHdDzcUEnYSYAaL0BEPEM8t+Neg74PzmXvl+iYUsCQB0YUKJmmB@amarulasolutions.com X-Received: by 2002:a05:600c:1986:b0:483:71f9:37f3 with SMTP id 5b1f17b1804b1-483739ff8cdmr389797945e9.1.1771523534181; Thu, 19 Feb 2026 09:52:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523534; cv=none; d=google.com; s=arc-20240605; b=eHkCUdt0KVgPH0ooQ1H+DtwjcZx3oNRBv25m38xehH6IghRGLaxGPgbSSpLbtpX4S3 Pj5e5EzP4YzW4RpoDgBCQgUVvAQBrDc4ORptazDFK+1+vSDx+faUk77OZgkuJ7bgWTEa q2muJaV5+1V2PazHeBf55G+NjGAh68FZG3K94l84TanDYV8HD4ONKPimnLaj7PpzRTDD mXb03qRUnnaIZ2BZbbA0lgjGnGvfNHgUlBT3lE+EtjE2LLarz+fZFGiThdz5JyjzsQAv CI/U4CyUqHE7XlwB6w+pGTq7fhZ+ruu4jn6mOQ9ARXZVHH23ZKjobqna2CyM8gMvg7N2 C9Dw== 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=533B30VEdaP+E4Na1aeGiCFVM50K9If5sXJTZgVBYao=; fh=nKdsvc+CPv7CULELixTU4rjGwshUUt3a2mORzxHLcwQ=; b=iX42oMdKbniLbP2kf1rt0hkcUUag7FUUgZI8v135med4oAqUgk0k4hWT2UlsMwAKIi s+XfpXDHDdIBwFiflor0shYE+COx9yOi6tQ2GGj2rqixBKa385NKpFdDOFCCSD3nTG+G t+2oyE6cogBNnogmjj0K0MBJb7AeMhKAyv4g1PJgrkykOlLjWZVjuE3rwsQl5iLNjQSZ USt9p1yG8cuJJpAS3CSA2ygzJ11fnHfwZSgdgTsPhGRl12PnLLKEA0PKqREmjDK7AeKR kVy5GefRbNzl7wWltvabG2Pr+dLySDLBsHSzCaCLgAJUpSjBs64QMhFyu+odz++UtLFL UyFw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=U6a2M4eF; 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-483703d96c4sor21932475e9.23.2026.02.19.09.52.14 for (Google Transport Security); Thu, 19 Feb 2026 09:52:14 -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; AJvYcCW2FPp3s80+6avERia1GQGgJJq9lvfREJmHwEwmNdrgdBrdqp3LDr8aHbqiGs6VhrrOyORQlXyr6vm/BAbt@amarulasolutions.com X-Gm-Gg: AZuq6aICoYSya9WvAPwjlN3Ck0vK2Wpsdi5u1vyixUkQAARw49+RNf8DJ0yPtqJ/mTz z5CHYDTZPxiGCZv3NlVM/fD1FNntoGLJa6Ays4sllX/4zRC7al4GSw1zLRY1I2IB4HkU+f/YUs/ PacQAT6a9coDjZGM2R/lyts6guPwomAc6VQVfr6TPnt5PiFgP7SzHl1INIHaUh5ooaG0Tpb07zP lbl6MtGAOF+6tMwuJgoSBrT7Jvx8ewnnzKN4yOxOmr6p9ooCPq30DRZ+98/+lg9CLDqXB5y7dST +8oyh2VyKcerBJCD+uLG+O6HZK/sLxny4TU4SjNqGKeM597xjNemqMw9kd6kwuQazEsVIbeXu11 Q2k2EMvulWDAgXPuCjvftgqnhHkVuFQeCecuOIV2NSc0zWNPDG4VRvJO1hiNZNyN9sahCQCHeNp pf/4AYCJe9gZcTIto3jmIhoVHEdDgaMHlnwc4eoNjRU5nQeyueCLMTrnALoywF1aESLDtSPO8cl /53JjbX1KODuWVvnMvGXz0NJvnn5lAFc6tMzw3usZa3iLYMEzPT/t8QYosL8+C2zsls85/U45jh xwjU/6ie7Zb1G7svcSu+H+Q1 X-Received: by 2002:a05:600c:6990:b0:483:8f38:a928 with SMTP id 5b1f17b1804b1-4838f38a961mr158805545e9.34.1771523533689; Thu, 19 Feb 2026 09:52:13 -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-483a31b0e63sm35485005e9.2.2026.02.19.09.52.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:52:13 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Jagan Teki , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH 6/8] spi: stm32: add support for bits-per-word setting Date: Thu, 19 Feb 2026 18:51:17 +0100 Message-ID: <20260219175130.2839234-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=U6a2M4eF; 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 --- 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 Thu Feb 19 17:51: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: 4470 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 C019C3F150 for ; Thu, 19 Feb 2026 18:52:20 +0100 (CET) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-48378c4a79fsf11150115e9.0 for ; Thu, 19 Feb 2026 09:52:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523540; cv=pass; d=google.com; s=arc-20240605; b=ZISVgRArk0sf+iYmnUaw0gGHtBx9+Zo7kUPY5yyAm0bYKo5hXcmaaiadxamJid9Xyi EwSa7hWgMRnznjJwAQPgaWyW/AynPSGQnDXn9X1nXZVlnKFuzkQOPS2rAjI1b33H7I9X vClNDsAq81nqzH9dMxvLtdes0atX+GeUyjAuMtytScmRQ8zRq/g/B7vLGAWYiKmgW0+P AFRKEh4DTB79IpSuKlTtzXeaeUWiIyPN9wquZaqFSd9kV4knMZk5NrQY5Ygd00/CgT2/ 3UluHPk1N8CEa/yIqB3InptLsS2MLiZT0F945VEMAUcUkhiWZrArVxrZqiXLZ0JRb/89 vnbQ== 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=Ri4kCuxWbqSnlc770OzGnwLjHK9w9j0wzlofSLsU8eo=; fh=+n9sqo9l9TdpzFNJzp0lmNdbjn1bIUB+6enBaqYN/zM=; b=c5x0NlPgYxnSgj04sDPwyM+oUOtRtk8KzlcEdNGMzsi+/BBYo0PxUGAkLSUAI0zmbI +eKOoelyBIJZUmCrZNprFOOfZTvNoyPm53EDLJl/b3r08ldyB5j+DMsenj5zsukZ20Kg xOV7CThIyi9Y6qflXl6FKAhLragNGCEuk1oKR/4TQXcTar7gIS1fTpcYvbHx7VkzXXnw Wc65xsY4lXBkj/vKBwav3+RCVcqqsLBvBEGAfu04DCqE3teHltZRuEiVa16bkTcPTv8K s2MxdNbX5bqPgW40wFlxfmlnlGQ8RPhIzCEBno6oBrKOsriMlxdtSlEZMl6eG0JyZKCD CiwQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=jObDlGmZ; 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=1771523540; x=1772128340; 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=Ri4kCuxWbqSnlc770OzGnwLjHK9w9j0wzlofSLsU8eo=; b=B5gxGsUbJrnciC0XglfukOqzrjF+7BVrps15lkV/0v88Ku/Vw5Y5kJr7Pd3AnztFnT cBCvdlODP6oFtCXEpAsYwwaYzzJc1qy3tgayY3DUqq75S38yoLjM1YDun0U2RH99gBkW GNsEZ/tJe4Qv15hqM797iL2W8nNXnVoohSoAY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523540; x=1772128340; 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=Ri4kCuxWbqSnlc770OzGnwLjHK9w9j0wzlofSLsU8eo=; b=M15QRnwq8LqDpZ0/9veEUTcsGDSqP9GIQ7CLaODZkQVecPJYu6D17Rj0qGRciIrp+K aqMthESRtIfeWuwcMcFNeey2gg6J64JcsTWDqOwJQFy78ZN/kkGn2Mxv2IicGuZehuD1 xoB20v8xIfqqljIifpHOGNevVweYfGS3lGS+XutFLz644UhyYIBeRHcIhOMB+62F4obI 8SuVyG6YKgtNHcACcqbkcetL1so2OpfPdRtOjK74IVyQZN0zJgae7orLYNkwpWDnRg+K RWfUOE14OFgs4PvJIyDQ/qiJJIpCnXxmHE5HdirfmFLS67iLE0RWgqF+0Fg2wKoDuKzG fU7g== X-Forwarded-Encrypted: i=2; AJvYcCXUwyqRyTLJ15RmcIYqoIYh24GT5ZXh3gBKdD5SrZ6NRJlyCiTUBtCMzKyq0lKTfMgdipWED48gN1wOqaRn@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YzB7e2mP8ybtc3V54djnzL4WeBO2t/bQm+WIva5xkxtE3asoR4q HyyyNyShCbECIkS0oBUHCn9zXo1rBMNHr8Mitg8Rr6XJ32L2KypuN0WcOpcq9KAsbJVqbg== X-Received: by 2002:a05:600c:8b61:b0:47e:e78a:c832 with SMTP id 5b1f17b1804b1-48379c286d4mr302793555e9.37.1771523540290; Thu, 19 Feb 2026 09:52:20 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+EYuhPx4l6Wq6CDTm7tyZXIVbrZLWhqspaRAUwqorQ69A==" Received: by 2002:a05:600c:3587:b0:477:a252:a832 with SMTP id 5b1f17b1804b1-4836707979als58663805e9.1.-pod-prod-05-eu; Thu, 19 Feb 2026 09:52:18 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXVsM4IxwZNR6OiJRmTLy1AfzmXCXo/GcB/Uv68hkKY9RuWUOzg+MgJZu0ziv5+dkHqQtoZ7cF2eub4hhYg@amarulasolutions.com X-Received: by 2002:a05:600c:1c19:b0:483:5310:dc67 with SMTP id 5b1f17b1804b1-48379be817cmr357173175e9.20.1771523538256; Thu, 19 Feb 2026 09:52:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523538; cv=none; d=google.com; s=arc-20240605; b=QcLD4EKjBO8nZfsqMDX2xsJ2SY1lFMVWrr1J+aBp0KcGNfR1qZxlrHozCJmsssKPH9 lL6YsASDcq1S/V58XVwvAY2jMNLIZptobyqCgmVttvRfuIG2Eb9ytQJAz/2CWRgIRwc4 uyKV3TjCuk7UaEniB3LFaCs/pjkxrnkk2tAxk4gkiYNtaAai9IPOeAeSPixJgo9ISZpB 7Dp+mGvGO9Qax4IVdDduL+qq4k35XxUIgflZXPODQniAaVYrXTaiXil2T6IAlBL+bwPA LcOh05zqGG2Jf55lcVbcgBDqOwr9+QYBYVHKLT6RFzBd41Ss4TTya0OlOtJuvP07rQG0 gL6Q== 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=m/L2k49Axo36HmTk3ychvt4IfhkRbfJbkWri6gh4E9Y=; fh=9NhOtF1C7q9iDQ27dwlvvbpWOnfEa7F9CS4g6rjatzs=; b=HzsjZjBdW7fmw+M1F3NKhMrXLmCMNEqjtpeQFbp2Ka8LgMZ5nnp4v918S6pl30yvtS 8Np8tSZe74O2JCH/+45U8wk7s4tc5NZokmE91hoXBvjfs6LVbffqYXLX6xO5MPRLISG5 ULc8FkMr+rF48xkStOxq5WEnSXWzZJLyqqW83P0IPfgXcUQQJzqL4hCtkESYQqlvK2Th uPVUTvfAtRZuBVk8lyVAE+bT8djs0dSTFxuSTRrJn4GriIfESJpaxyUiNKNN5MYCv3ET Wff/2rA9p/IT9I2satc7IWZieKEV/ktdE1gGuwASqNfzI/WohYj7IzwqiyiCODpc8rp2 b1uw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=jObDlGmZ; 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-48379994f2fsor16881305e9.22.2026.02.19.09.52.18 for (Google Transport Security); Thu, 19 Feb 2026 09:52:18 -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; AJvYcCWpVszlQ2NWLsyJiPEbF31yGi4tFDEmpurQH/MbxBrIVuFtUYHj52oaLwoai/fDkXdrkxhGMm66eJraaSj2@amarulasolutions.com X-Gm-Gg: AZuq6aL9Wq5AsrruTbl2Vg0SSBBHr6xPtQOFoSoPC4jwRAmV7ua7+gqEi09TmUuo2vx UGfq74nLG9hp1h9qxH1gM8u/uFZo/8DPU6xhuInLvbTiUgd7cKD3d0fuml1tUE94eL/16adzEGS hxfoyE8My6AfSsTiWywIdTsxlXuuMah/qNBRgvSlBs4rcIL2iOUqEOT83APZHpY5qjQ46O7KCM1 +zCv9j6WS2kyPZKs6B3d8YCWjZMKLNVxtylEc1ojBxn/NzNUB2kUt++67v3xSyi3v+pCVMQC7tl VhN/vYcG6cuh3623s8t7ZTet2Owm88uRPTd8ybKK3Nq9v7WCus1JJRKOr+XMS9VywglUH0k1Z/U ng10i2oaP49HqQl5OMroz6xGtW5eTp9GZDOC2xnxd7Oh8qiNw95hF1ijiLrWfcZvnV0CR6bljtf 8mQ4ku8tNg1mCH9iQLv1z4/606KtoE3tC+DR4w2NUqoPbyInyvVm51yEZiA4VsjVdXD1xKlrpHD TxUGtCXJ65nfzJZV0COTjfzg+MevSpWHSaXrUsgvQo/nylokOglRCHshu6O6d9jxGZD3TxG0eoI uWzTArbw6Mlq1DpgJG3X4a8w X-Received: by 2002:a05:600c:4e45:b0:47e:e48b:506d with SMTP id 5b1f17b1804b1-48379bab48bmr391159925e9.16.1771523537844; Thu, 19 Feb 2026 09:52:17 -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-483a31b0e63sm35485005e9.2.2026.02.19.09.52.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:52:17 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Jagan Teki , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH 7/8] spi: stm32: extend support to STM32MP25 Date: Thu, 19 Feb 2026 18:51:18 +0100 Message-ID: <20260219175130.2839234-8-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=jObDlGmZ; 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 --- 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 Thu Feb 19 17:51: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: 4471 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 1F2B63F150 for ; Thu, 19 Feb 2026 18:52:28 +0100 (CET) Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-435bbd1c3a1sf122062f8f.2 for ; Thu, 19 Feb 2026 09:52:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1771523548; cv=pass; d=google.com; s=arc-20240605; b=S4MXHssYZ1Lm5dvb12xV3E/TI4qRiaHViKU+JE4rYsAZAcYNKCSE1z9/vTZIrElYvG Q/eTbOvOtluSaai+Q87ncLkxmAPIqr5x5QYX8izyJk5GIHQFAdE4nV/f2qHBE85tBBJr uZFcwL+LHuvoAkjfsdiaguOFPY9tCOTOwEE5Pc2I859keUMDcSCGSjeddYUjfEnsODPP BaAgU4eUp1ktvs1XMLtiP1Ax2OnJV0+MVWwXAuIDoxTevLcVdAMU8mB5CU2RGRsSbrT+ pveQ0bxnXOdRHFAZvSEByETaYMi5cA0Tf/+iUtMTp3sY9IQbC7C6rz502GbUfDuWP/uw y8+Q== 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=bYDeBx7X4fwT7R3tQj9lan6rOWG4Ta9T6L7J20wbkeE=; fh=+lDttdlGevkm6fgOgOrwba5J1nL+h9DvqXN8NCxTjzY=; b=AWPZeKCMfZ+5wYWQrEk8Eej3fh+8iWVCaEbXh3I/yIJ2j+b0ZrhMmnYsqtSY+ZdXCa NoK4hIqKCXOrwX45a2sWiVsz7iJmgb5RNkVG7utCern8bm+G6rsWfIKaUedC2cADWYR3 pSmoNQRLpj/KrB4d2Uvn+TJ0N+9I6JtU+M0BFqnfeFIUbWYRvRe2yjXQpjY5ifcyqwbS OqCT0b+WwmUB45e74F9S6PdAKSWXkDUDqygboToWD4nrUoN6LBzZfx1nz/+lOXEuuFVV B9tEuYhyIS+tkPtH98qOHD7JE86AyRh1E3OLId8/173y+ELdZDOR3GVvFe9/eBTWzvJu QJ3w==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Uk0XwcWh; 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=1771523548; x=1772128348; 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=bYDeBx7X4fwT7R3tQj9lan6rOWG4Ta9T6L7J20wbkeE=; b=E0fj3YyUBejoVKGgkz/GskD8AP70R3T9Iqj3A8HP7PAg4r8lmiIVypH52fypSAT4Fv wncnyjNJ4VlyWNH/LzQmeAce/ixG67VeJ3nCNr4dtvXpo+jL0WTlOyJv37PGGHIkgUVb p6vIdCqASc/cFpUgQQ4C+SYoVkcfBOkkbYJxY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771523548; x=1772128348; 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=bYDeBx7X4fwT7R3tQj9lan6rOWG4Ta9T6L7J20wbkeE=; b=w4WvpYukJ2fIOX4o0rW/keGgJUuaelmWR4K7vyX1r8P3jrn1uHFThxQ6QLPTI1gQjE HEe9FEua5pPn9ewj+jZKyBhvjAoUEHyTiYaHeYvstn3YUa0+KHKGs/6APJgY439leBsW 4BchqqtHhGO4VWgIqLQ+avlbEbO39/HjK9SDdqVdcvhMBDEBtjy0Z25xp3p3MdpNAc1o Llc5/XWtA+SjJ15IvKiIQRLcMhUu0+rsgvw8FWaB74vYuqHUOdsTxU8NqEwvoIEeGJcS AAqMpnPKppPQed5/WrWaut1I2u3IWHzZkIjRsvZQ3rl1VLAqDb4iwC/WKFVg684bHwYd SHGQ== X-Forwarded-Encrypted: i=2; AJvYcCVaStlgGQyj9XnY9Ywmlz8YoDrbDXihwOrO5/JUVMjEfWgFAHlYOdxHUp5ZtOFgDOrh4Ebe4FdY153TRT1u@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YzpY4zrgdRk4EERaO0Q+Au+YIc40AaqHbxh3ecVYSbxAsnYurPB J7WcTm7ikK7MdIctbsK9H7MMzfTUuTswAejQmY/lJmhfTK/1scp/uu1FkCSHwYTl6PBMCw== X-Received: by 2002:a05:600c:3155:b0:483:702f:4639 with SMTP id 5b1f17b1804b1-48370e38bf6mr253472645e9.2.1771523547684; Thu, 19 Feb 2026 09:52:27 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AV1CL+GNJTXd6UbIJp+Goif8yda4R+7b0k54Qb19FxLUV36yNg==" Received: by 2002:a05:600c:3b95:b0:483:a26d:128c with SMTP id 5b1f17b1804b1-483a26d1371ls4859765e9.0.-pod-prod-03-eu; Thu, 19 Feb 2026 09:52:26 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCV9BfV92wurBJUY6VoFj3zLwLD07kp4lZacutA6DSGFiAIP34is2n/oelCGV4+smTFFjPhQMtFLb8aRz84x@amarulasolutions.com X-Received: by 2002:a05:600c:3b10:b0:480:4b59:9327 with SMTP id 5b1f17b1804b1-4838c063f8emr189813835e9.1.1771523545720; Thu, 19 Feb 2026 09:52:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771523545; cv=none; d=google.com; s=arc-20240605; b=iVAsppvpuuYKyx+SjRVCYKIScxJTP08dfs077M3UYKlgIcrc9xyfVJRwxsRBkTrrrL O8mRjzP1vpL7zGVd51pnF1Db2NWIr2pBM67U2RHlxmBzpGi1Odyz9AnesbbTacNR0XdN jWFmJbW+0UmlrB/H0nmCUBWhmUrCV8WemE9TJiDzN+M+noVS23+CR5o1fnJF1xEteQw2 u75I3F7Z9ALKGaddFh2rt2NtxLxrhH9PmWsPxL8eoow6PSL2XgC41za+nMQj/Pjpk7XZ yo8fdMkgfRW2vHl36yXs9VvU+ySIWsuRqBKqABTtL6jaT8bY00BcnNjdP27NV7XJkesU MWvA== 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=ibWLNxmcjFpy0kaQh7KeDEXZy1lbGEh7AW48ilL21gs=; fh=2hw53mkdfAxlUUylflmphtMy9Be+8bnlwhpsZFYaFFM=; b=AjC0B9v3PRyUGWghbH1Vv/Mr5g58xIh3gbWWCsSNhCa7ahfM8CrU2Pv6uD7n5vIWD+ jgdnV7FmjCZeHE9gFwoHLiil/o2SEWVVmr7mETnd8lRlin0/X/HkTeJ3jJ0ldIDcKV/o ttwZ9/GrinyQXjraWorLB7RpKEYDam/ND/zXtbKPQMWg40Tl63H90Sbo3L9AnYFFO7g4 L9u4z9jbAGbwAdVnL4l/vaaOGQ/18Ve/gtvm46XFO0IqI+6ObdQJTj+TZvoNMWtVlOM3 mlh4KPC9tteK0hM9lrGpk9vHsXb1BPlDTPYPQkPnoh6VhAzpJ/8TwIz+4SWdjPBqa7fK joAg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Uk0XwcWh; 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-483703c65edsor20223185e9.20.2026.02.19.09.52.25 for (Google Transport Security); Thu, 19 Feb 2026 09:52:25 -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; AJvYcCVDbyw1LOE9UWNEvJuPdwCtoiObe5RfUOmAAP2nmke8DJ1M/pRwkZXbM75syvueT0e/ts52xHAcd6d1e/fi@amarulasolutions.com X-Gm-Gg: AZuq6aIWy6794zW1m+q8bpgw9Q/Jnx26QmisDnSqTwa+rbbZ+LBwAjhbRNE2XXzlQSs 9KFVqOzO8QoPFV4m73VXq4+feM/5vYFL6MN8EdMUjCmN+eMp3dMmL9RGZQpNQw3Cu8hkmYnGPy+ kfvao92gM1JWBshRMIKEn9I2ugURTmuD8l5hONNUC90TKkytHP2p/ZVX7WCZ+PXcQLNRfQ/Ix0q CnfuNo4rVgYD46AfM1VwOz11EqFT+Aj2NEx9bEY62pKFAEL9gGB/GT97Uk5vbhK8mnvq9cRYRan RF17uSUh8RKI1y8uvdn+c/1FTwnOwp2J9hlTPULxW78JryN9xsY00EZf7B7/Cun6Riq9Masg+oV r9NCgLXTqFKIXgGglzwseKsrycrqbbIHAp6HjAob7xF9fHPIqS79tW47LqMg7B5IFAaDf1DTzL3 +rqfLg4I8Y8OXpNqQ4Razq5B0Itl4YX6OHZDeYK//R39qQALUZnXKBPg0S5hSJrLOzlpVh5sebH He2+TCOwnpcsiBaUy325ituzlubxaNcDBxUnsPydmshuJzt5WTczFT5Oa2SntlQcSquQMftg1U2 t6HrE0qY/FL4nB+htbGWo5ny X-Received: by 2002:a05:600c:1d19:b0:483:a2db:6743 with SMTP id 5b1f17b1804b1-483a2db6aabmr23095855e9.4.1771523545181; Thu, 19 Feb 2026 09:52:25 -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-483a31b0e63sm35485005e9.2.2026.02.19.09.52.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 09:52:24 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: Patrice Chotard , linux-amarula@amarulasolutions.com, Patrick Delaunay , Dario Binacchi , Alexander Graf , Alper Nebi Yasak , Anatolij Gustschin , Dragan Simic , Heinrich Schuchardt , Ion Agorria , Miquel Raynal , Peter Robinson , Simon Glass , Svyatoslav Ryhel , Tom Rini Subject: [PATCH 8/8] video: support Rocktech RK050HR345-CT106A panel Date: Thu, 19 Feb 2026 18:51:19 +0100 Message-ID: <20260219175130.2839234-9-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219175130.2839234-1-dario.binacchi@amarulasolutions.com> References: <20260219175130.2839234-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=Uk0XwcWh; 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 --- 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..c78d6540855a 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 + tristate "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, +};