From nobody Fri Sep 25 02:13:02 2026 Received: from cstnet.cn (smtp25.cstnet.cn [159.226.251.25]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 29B4F5947E3; Thu, 17 Sep 2026 14:29:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.25 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655383; cv=none; b=O8WG4O/cPnblzeZo87ktYMgX1MeZHTN8lM8XC/XHUQlfK6nX8EMIpeDykuspDRfD4BGdQuDHDN8xgtET2RnSezqIz6RG/b0Qq9AH5XzYWTnYc79+xGlmRSeVn6yp79UqUjoVB5bM4YNz9P6YqwCpM4aPZENyDt2bKh83VA7USHQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655383; c=relaxed/simple; bh=FYV+WCwWboQHgBA9/k32z2Puzx8mErq/I9KVtfprX9s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UHMOtYKJu8Ij7H81Kx8ehW8sNRsRHG3R7fJWcXnMDACigB8gYIrhFCWZX0P1GEVDHNMURLkpTjErm6HNh5ose13oWorNhp032lBKvgHeaz79ytuebsdkzQnXW/WiO/dG81IzfNXKFBatJoGjvF2aUUEDsm+LbAN7VtEZoWmDGIo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from [127.0.1.1] (unknown [223.166.93.127]) by APP-05 (Coremail) with SMTP id zQCowABHtD5A+atqNnqCCA--.4692S3; Thu, 17 Sep 2026 22:29:26 +0800 (CST) From: Han Gao Date: Thu, 17 Sep 2026 22:29:19 +0800 Subject: [PATCH 1/4] spi: sg2044-nor: Return transfer errors Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260917-fix-sg204xspi-v1-1-5c95dac429a8@iscas.ac.cn> References: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> In-Reply-To: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> To: Mark Brown , Longbin Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: Han Gao , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, Han Gao X-Mailer: b4 0.14.2 X-CM-TRANSID: zQCowABHtD5A+atqNnqCCA--.4692S3 X-Coremail-Antispam: 1UD129KBjvJXoW7uFW5Aw4rCF45ZrW5Aw43ZFb_yoW8ZF4Dpa 47ua1Utr1rKa1UAF4fJ3W7Xayay34fKa4UK347Kw1fZF4DZ3WUJF40vFyfXFy3tFy2qr1q vF42vry5Cr1DK37anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUm014x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jr4l82xGYIkIc2 x26xkF7I0E14v26r4j6ryUM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS 0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2 IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0 Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kIc2 xKxwCY1x0262kKe7AKxVW8ZVWrXwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWU JVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67 kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY 6xIIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0x vEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVj vjDU0xZFpf9x0pR75rsUUUUU= X-CM-SenderInfo: xjdrxt3q6l2u1dvotugofq/1tbiDAMNDGqr9nAGswAAs8 The transfer helpers return errors, but both dispatchers discard them. Return these errors to the SPI memory layer instead of reporting success. Fixes: de16c322eefb ("spi: sophgo: add SG2044 SPI NOR controller driver") Signed-off-by: Han Gao --- drivers/spi/spi-sg2044-nor.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/spi/spi-sg2044-nor.c b/drivers/spi/spi-sg2044-nor.c index f3bcb8a1b92bb1ceee298fa0b720f55f22cf20c3..ff026ca0f76635fee959d7502f4= 57d43dbec0706 100644 --- a/drivers/spi/spi-sg2044-nor.c +++ b/drivers/spi/spi-sg2044-nor.c @@ -307,15 +307,15 @@ static ssize_t sg2044_spifmc_tran_cmd(struct sg2044_s= pifmc *spifmc, return 0; } =20 -static void sg2044_spifmc_trans(struct sg2044_spifmc *spifmc, - const struct spi_mem_op *op) +static int sg2044_spifmc_trans(struct sg2044_spifmc *spifmc, + const struct spi_mem_op *op) { if (op->data.dir =3D=3D SPI_MEM_DATA_IN) - sg2044_spifmc_read(spifmc, op); + return sg2044_spifmc_read(spifmc, op); else if (op->data.dir =3D=3D SPI_MEM_DATA_OUT) - sg2044_spifmc_write(spifmc, op); + return sg2044_spifmc_write(spifmc, op); else - sg2044_spifmc_tran_cmd(spifmc, op); + return sg2044_spifmc_tran_cmd(spifmc, op); } =20 static ssize_t sg2044_spifmc_trans_reg(struct sg2044_spifmc *spifmc, @@ -389,19 +389,20 @@ static int sg2044_spifmc_exec_op(struct spi_mem *mem, const struct spi_mem_op *op) { struct sg2044_spifmc *spifmc; + int ret; =20 spifmc =3D spi_controller_get_devdata(mem->spi->controller); =20 mutex_lock(&spifmc->lock); =20 if (op->addr.nbytes =3D=3D 0) - sg2044_spifmc_trans_reg(spifmc, op); + ret =3D sg2044_spifmc_trans_reg(spifmc, op); else - sg2044_spifmc_trans(spifmc, op); + ret =3D sg2044_spifmc_trans(spifmc, op); =20 mutex_unlock(&spifmc->lock); =20 - return 0; + return ret; } =20 static const struct spi_controller_mem_ops sg2044_spifmc_mem_ops =3D { --=20 2.47.3 From nobody Fri Sep 25 02:13:02 2026 Received: from cstnet.cn (smtp25.cstnet.cn [159.226.251.25]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 208095908BB; Thu, 17 Sep 2026 14:29:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.25 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655386; cv=none; b=Gu3EKxENVe6XY3CewXHOGBrQx7EC8q3uOUXW3u17yWaUrPvLNgptEAXM+D0m0flhIZzyOrhYOxtm0uVcQkA84UHc7DCzWvYPtIhm1w25VZyptx46Q9dr0JL+flK24uouFSwyQaTYJEqtJRIaWyNwJ2YlvKyD80KcBdq77r8616Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655386; c=relaxed/simple; bh=KKDAvbfL56T3jQjXZJbwXq5l2QQmq9JoHaT5QJmHfWU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DvDydhkYEVlxAqBZhKcn0tDiy/2mrrOC6E/lD05GNR92qRY+M6WOJehNOpzKLKHaIz7iKF8TqYYNHsg9UtXV0umAAmSHsTEB6Jet7YHQWVttXpViSnFg9UBnOCr3v848nOxTHVSh1Hba8zWhjw6AOKaNfhXWUCEyyIjf63Katm4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from [127.0.1.1] (unknown [223.166.93.127]) by APP-05 (Coremail) with SMTP id zQCowABHtD5A+atqNnqCCA--.4692S4; Thu, 17 Sep 2026 22:29:26 +0800 (CST) From: Han Gao Date: Thu, 17 Sep 2026 22:29:20 +0800 Subject: [PATCH 2/4] spi: sg2044-nor: Honor SPI clock limits Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260917-fix-sg204xspi-v1-2-5c95dac429a8@iscas.ac.cn> References: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> In-Reply-To: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> To: Mark Brown , Longbin Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: Han Gao , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, Han Gao X-Mailer: b4 0.14.2 X-CM-TRANSID: zQCowABHtD5A+atqNnqCCA--.4692S4 X-Coremail-Antispam: 1UD129KBjvJXoWxCw1fCryrGrWDXryDZr4UCFg_yoW5GFy5pa 17u3W5tr4rKFsrGr4fJw13X3yay34S9a4jk347K348AFs8uw1UAFW8JFy3XFW3JFyayFyv vF4xZr15CrsFq3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUmY14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jryl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS 0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2 IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0 Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kIc2 xKxwCY1x0262kKe7AKxVW8ZVWrXwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWU JVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67 kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY 6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42 IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIev Ja73UjIFyTuYvjTRRCJPDUUUU X-CM-SenderInfo: xjdrxt3q6l2u1dvotugofq/1tbiBgkNDGqr888NVAAAsq The fixed divider ignores device and operation clock limits. Calculate the divider before each transfer so SCK does not exceed either limit. Fixes: de16c322eefb ("spi: sophgo: add SG2044 SPI NOR controller driver") Signed-off-by: Han Gao --- drivers/spi/spi-sg2044-nor.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/drivers/spi/spi-sg2044-nor.c b/drivers/spi/spi-sg2044-nor.c index ff026ca0f76635fee959d7502f457d43dbec0706..f2a1074f68477cc6611fae09c5d= b7aaa405edf39 100644 --- a/drivers/spi/spi-sg2044-nor.c +++ b/drivers/spi/spi-sg2044-nor.c @@ -385,6 +385,29 @@ static ssize_t sg2044_spifmc_trans_reg(struct sg2044_s= pifmc *spifmc, return 0; } =20 +static int sg2044_spifmc_set_speed(struct sg2044_spifmc *spifmc, + unsigned int speed_hz) +{ + unsigned long rate =3D clk_get_rate(spifmc->clk); + u64 div; + u32 reg; + + if (!rate || !speed_hz) + return -EINVAL; + + /* SCK =3D HCLK / (2 * (SckDiv + 1)); round down the resulting SCK. */ + div =3D DIV_ROUND_UP_ULL(rate, 2ULL * speed_hz); + if (div > SPIFMC_CTRL_SCK_DIV_MASK + 1) + return -EINVAL; + + reg =3D readl(spifmc->io_base + SPIFMC_CTRL); + reg &=3D ~SPIFMC_CTRL_SCK_DIV_MASK; + reg |=3D div - 1; + writel(reg, spifmc->io_base + SPIFMC_CTRL); + + return 0; +} + static int sg2044_spifmc_exec_op(struct spi_mem *mem, const struct spi_mem_op *op) { @@ -395,11 +418,18 @@ static int sg2044_spifmc_exec_op(struct spi_mem *mem, =20 mutex_lock(&spifmc->lock); =20 + ret =3D sg2044_spifmc_set_speed(spifmc, op->max_freq ? + min(op->max_freq, mem->spi->max_speed_hz) : + mem->spi->max_speed_hz); + if (ret) + goto out_unlock; + if (op->addr.nbytes =3D=3D 0) ret =3D sg2044_spifmc_trans_reg(spifmc, op); else ret =3D sg2044_spifmc_trans(spifmc, op); =20 +out_unlock: mutex_unlock(&spifmc->lock); =20 return ret; @@ -409,6 +439,10 @@ static const struct spi_controller_mem_ops sg2044_spif= mc_mem_ops =3D { .exec_op =3D sg2044_spifmc_exec_op, }; =20 +static const struct spi_controller_mem_caps sg2044_spifmc_mem_caps =3D { + .per_op_freq =3D true, +}; + static void sg2044_spifmc_init(struct sg2044_spifmc *spifmc) { u32 tran_csr; @@ -459,6 +493,7 @@ static int sg2044_spifmc_probe(struct platform_device *= pdev) ctrl->bits_per_word_mask =3D SPI_BPW_MASK(8); ctrl->auto_runtime_pm =3D false; ctrl->mem_ops =3D &sg2044_spifmc_mem_ops; + ctrl->mem_caps =3D &sg2044_spifmc_mem_caps; ctrl->mode_bits =3D SPI_RX_DUAL | SPI_TX_DUAL | SPI_RX_QUAD | SPI_TX_QUAD; =20 ret =3D devm_mutex_init(dev, &spifmc->lock); --=20 2.47.3 From nobody Fri Sep 25 02:13:02 2026 Received: from cstnet.cn (smtp25.cstnet.cn [159.226.251.25]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 299E65921E7; Thu, 17 Sep 2026 14:29:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.25 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655383; cv=none; b=SSpmPG6vqYw//Ia0XNtvFADF3IpVHO6dSpIRjW3vWnn6kq4lpKyZHzIkQR5JiCnDyK8w+SifosY1XSuET/rNtRWSd5QDilRnM4zNkEeJcJc7InaWmTNTjc3F8rvsqcp6MV0gzdtfOvZAx8rp3RyhXYl8NuTqR0gyvdR2UsE/Ylc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655383; c=relaxed/simple; bh=/ByGbEmiwtDEQ332FPvwSHAh3SRuAnZAhTxgQJ3wRso=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pK5HJ48T/VAU1uvTxHQE2dypucIwdQrF9KGsBMCYYS3I5ASWUKbo2ZgPCqsmIgdxY8vGa140yjjJkJ7JMtOOOuD70+zznTBfP0982jMOC7SE8jX0P7hHxymBQiHglsUWnKcG7FAcg+OewKwMyRM73j088mpTOxS96NVEnOUlVvk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from [127.0.1.1] (unknown [223.166.93.127]) by APP-05 (Coremail) with SMTP id zQCowABHtD5A+atqNnqCCA--.4692S5; Thu, 17 Sep 2026 22:29:27 +0800 (CST) From: Han Gao Date: Thu, 17 Sep 2026 22:29:21 +0800 Subject: [PATCH 3/4] riscv: dts: sophgo: Enable SPI NOR on SRD3-10 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260917-fix-sg204xspi-v1-3-5c95dac429a8@iscas.ac.cn> References: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> In-Reply-To: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> To: Mark Brown , Longbin Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: Han Gao , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, Han Gao , Hangfan Li X-Mailer: b4 0.14.2 X-CM-TRANSID: zQCowABHtD5A+atqNnqCCA--.4692S5 X-Coremail-Antispam: 1UD129KBjvJXoWrZF1xuF15CrWUJF48ArWUArb_yoW8JrW8p3 ZxurW3Ga4rtF93Ka13try0gF43JF95G34xGr13Cw48Xa1vqFyDGw43Jw1fJrnrXa15X3yr GFnrXryrua1aqaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUmY14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS 0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2 IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0 Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kIc2 xKxwCY1x0262kKe7AKxVW8ZVWrXwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWU JVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67 kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY 6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42 IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIev Ja73UjIFyTuYvjfUUo7KUUUUU X-CM-SenderInfo: xjdrxt3q6l2u1dvotugofq/1tbiBwQNDGqr9tgFRwABsu From: Hangfan Li Enable both SPI NOR controllers at 12.5 MHz, matching EDK2. Signed-off-by: Hangfan Li Co-developed-by: Han Gao Signed-off-by: Han Gao --- .../boot/dts/sophgo/sg2044-sophgo-srd3-10.dts | 24 ++++++++++++++++++= ++++ 1 file changed, 24 insertions(+) diff --git a/arch/riscv/boot/dts/sophgo/sg2044-sophgo-srd3-10.dts b/arch/ri= scv/boot/dts/sophgo/sg2044-sophgo-srd3-10.dts index fed3d9a384a00ccfc91dfa1531f799aa397a5dde..88ddc8e793f62b4119b2df92ba6= 357c8e6e75c46 100644 --- a/arch/riscv/boot/dts/sophgo/sg2044-sophgo-srd3-10.dts +++ b/arch/riscv/boot/dts/sophgo/sg2044-sophgo-srd3-10.dts @@ -109,6 +109,30 @@ &sd { status =3D "okay"; }; =20 +&spifmc0 { + status =3D "okay"; + + flash@0 { + compatible =3D "jedec,spi-nor"; + reg =3D <0>; + spi-max-frequency =3D <12500000>; + spi-tx-bus-width =3D <1>; + spi-rx-bus-width =3D <1>; + }; +}; + +&spifmc1 { + status =3D "okay"; + + flash@0 { + compatible =3D "jedec,spi-nor"; + reg =3D <0>; + spi-max-frequency =3D <12500000>; + spi-tx-bus-width =3D <1>; + spi-rx-bus-width =3D <1>; + }; +}; + &uart0 { /* for firmware */ status =3D "reserved"; --=20 2.47.3 From nobody Fri Sep 25 02:13:02 2026 Received: from cstnet.cn (smtp25.cstnet.cn [159.226.251.25]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ECA4D59480B; Thu, 17 Sep 2026 14:29:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.25 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655383; cv=none; b=JKuAD3w6vGREKzey9AMfx+RV6E8PEFJgYoTvD/w+QhLYyV/V9C+G9BxXzJB4OvD2R7ibEWMJYhQrm6RjjklKbJZD5KZNEeCidRmgd4LacpLGCvObcoyFR3eDkyFXTOPmJivGh70TyE2A+4m7fE7TrqEEFSWc8VHvUVGU/snbQ2o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789655383; c=relaxed/simple; bh=0iLC8BIgKk5AA9uzN6MMajbopvNsghfdMp9lC5YR7M4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YIG1nmzLlmolWriOZjn6Q/ZSf8npxpaZ3iAUksdASwTpfjtOOt5I+jfPLJzanXfKE2Ba/QHiEsX4IJjHQOrDTxCur+C0EXZf81PjmHtRl0RViOPL7F2Spm/1TiqloLxJzx8uxDCJfNoUG9UiwbIDrCye3aI/mjBDya6zws6K2ug= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from [127.0.1.1] (unknown [223.166.93.127]) by APP-05 (Coremail) with SMTP id zQCowABHtD5A+atqNnqCCA--.4692S6; Thu, 17 Sep 2026 22:29:27 +0800 (CST) From: Han Gao Date: Thu, 17 Sep 2026 22:29:22 +0800 Subject: [PATCH 4/4] riscv: dts: sophgo: Limit SG2042 SPI NOR to 12.5 MHz Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260917-fix-sg204xspi-v1-4-5c95dac429a8@iscas.ac.cn> References: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> In-Reply-To: <20260917-fix-sg204xspi-v1-0-5c95dac429a8@iscas.ac.cn> To: Mark Brown , Longbin Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: Han Gao , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, sophgo@lists.linux.dev, linux-riscv@lists.infradead.org, Han Gao X-Mailer: b4 0.14.2 X-CM-TRANSID: zQCowABHtD5A+atqNnqCCA--.4692S6 X-Coremail-Antispam: 1UD129KBjvJXoWxZF48XrWkWw4UArykZF4fZrb_yoW5GF48pa n5urW3CaySgrnYyay3tFyFgr43JrW8u3W7Kr1rC34UJw4kZayDt3y7Xw13Jr17Za1Yq393 Wrn5G3s5Gr1aqaUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUmI14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2 z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F 4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq 3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7 IYx2IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4U M4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2 kIc2xKxwCY1x0262kKe7AKxVW8ZVWrXwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkE bVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67 AF67kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI 42IY6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCw CI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnI WIevJa73UjIFyTuYvjTRRyxRDUUUU X-CM-SenderInfo: xjdrxt3q6l2u1dvotugofq/1tbiDAQNDGqr9nAGugAAsy Use 12.5 MHz on the SG2042 EVBs and Milk-V Pioneer to match the vendor kernel. The existing 50 MHz limit raises SCK once the driver starts honoring spi-max-frequency. Signed-off-by: Han Gao --- arch/riscv/boot/dts/sophgo/sg2042-evb-v1.dts | 4 ++-- arch/riscv/boot/dts/sophgo/sg2042-evb-v2.dts | 2 +- arch/riscv/boot/dts/sophgo/sg2042-milkv-pioneer.dts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/riscv/boot/dts/sophgo/sg2042-evb-v1.dts b/arch/riscv/boot= /dts/sophgo/sg2042-evb-v1.dts index b116dfa904cd982dc41c8cffdc770d4d0f81e0a7..9f403e564694eae14913f6ab230= 80a6333df15ae 100644 --- a/arch/riscv/boot/dts/sophgo/sg2042-evb-v1.dts +++ b/arch/riscv/boot/dts/sophgo/sg2042-evb-v1.dts @@ -256,7 +256,7 @@ &spifmc0 { flash@0 { compatible =3D "jedec,spi-nor"; reg =3D <0>; - spi-max-frequency =3D <50000000>; + spi-max-frequency =3D <12500000>; spi-tx-bus-width =3D <1>; spi-rx-bus-width =3D <1>; }; @@ -268,7 +268,7 @@ &spifmc1 { flash@0 { compatible =3D "jedec,spi-nor"; reg =3D <0>; - spi-max-frequency =3D <50000000>; + spi-max-frequency =3D <12500000>; spi-tx-bus-width =3D <1>; spi-rx-bus-width =3D <1>; }; diff --git a/arch/riscv/boot/dts/sophgo/sg2042-evb-v2.dts b/arch/riscv/boot= /dts/sophgo/sg2042-evb-v2.dts index b2ceae2d8829ec16c99c2ea2b040c433b819093e..d8c5814f22581076e6b5114f762= d4fd090681b80 100644 --- a/arch/riscv/boot/dts/sophgo/sg2042-evb-v2.dts +++ b/arch/riscv/boot/dts/sophgo/sg2042-evb-v2.dts @@ -244,7 +244,7 @@ &spifmc1 { flash@0 { compatible =3D "jedec,spi-nor"; reg =3D <0>; - spi-max-frequency =3D <50000000>; + spi-max-frequency =3D <12500000>; spi-tx-bus-width =3D <1>; spi-rx-bus-width =3D <1>; }; diff --git a/arch/riscv/boot/dts/sophgo/sg2042-milkv-pioneer.dts b/arch/ris= cv/boot/dts/sophgo/sg2042-milkv-pioneer.dts index ecf8c1e290792c3a27651040eae3c603741cd0c7..4f39eb56b364894f17b97d482b6= d9d867a32ad2e 100644 --- a/arch/riscv/boot/dts/sophgo/sg2042-milkv-pioneer.dts +++ b/arch/riscv/boot/dts/sophgo/sg2042-milkv-pioneer.dts @@ -177,7 +177,7 @@ &spifmc0 { flash@0 { compatible =3D "jedec,spi-nor"; reg =3D <0>; - spi-max-frequency =3D <50000000>; + spi-max-frequency =3D <12500000>; spi-tx-bus-width =3D <1>; spi-rx-bus-width =3D <1>; }; @@ -189,7 +189,7 @@ &spifmc1 { flash@0 { compatible =3D "jedec,spi-nor"; reg =3D <0>; - spi-max-frequency =3D <50000000>; + spi-max-frequency =3D <12500000>; spi-tx-bus-width =3D <1>; spi-rx-bus-width =3D <1>; }; --=20 2.47.3