From patchwork Wed Jul 19 09:25:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Qiu X-Patchwork-Id: 122483 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2311884vqt; Wed, 19 Jul 2023 02:31:10 -0700 (PDT) X-Google-Smtp-Source: APBJJlFK/Iy7Yg3GppqG1hnCy8KmE40ERRUQ+25xpEh5In0qifww6m/rEP2Luv0bnO+LoOS6MlUN X-Received: by 2002:a05:6a00:23cd:b0:682:4ef7:9b0b with SMTP id g13-20020a056a0023cd00b006824ef79b0bmr3079122pfc.0.1689759069916; Wed, 19 Jul 2023 02:31:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689759069; cv=none; d=google.com; s=arc-20160816; b=w+mHWneC4ml+YXwiyJ3fUj9vfslk6/5QlGXauipepLNBgAyG04VnqON5BR3Wrxe+Sy RqArawEzNFDun7QgE0Xjo2fVGOTOUn8QQViM0IltE2WIiUM8k/YQXKRbRz6X7Ky3BhYO oSFo1nINcn3/m1xxtCFf9RPAyl2oezZ/c+4bdmvvbI6YkHo1hi1W5xr0+p7AG98MSNLF 9eCnflLJaTUVEF99nXZajeXqUFipg0u6/qNHk+TIn8BBE6GcMR7eetHKOuX9Nyb+yFt8 fZzMRxW9wm6CT6r8J84nLFBNXFh4cuqzl8FfjybAGquXKLFmvof1Yoxg0DbdUh1Izm8h ljxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=FDK3czEZ4MiEPXOG4Kz3LGP8DV54T6JWxX/ewnAGyII=; fh=WCphHDjGHb2n6ExUxc8S0xlUZruKuzZWzdl57wRIMGI=; b=aIyVG+bYKLbsAnj2V80jeoPuHJFMcVvYDv8wFnIC19/6d45Qj+Zdqp6PyRLU38Y+oZ EWVQfsv0COxlvnsV0sZIb292MBBSAvv7rlEoQ+1nehEa09NrvabK7muaO05W5KIiw9mP dme7cxdZGq7cTZtckPhVO259KIeMkktQnvTDdIt9fqlxFSC9tdRfv2EHslhTYdGD0Myw YEuhErbc2XpaGmO1NX9Aa150aAlIJ4OFnlHiaSl2VSPK5OBhn43S67Px0p36yZhjRWF9 BC3Zq6QMcv7jrIR93uLyxrRfhd53HkTiCpkn+HhIXNrulsOo7TfKWJianubdxu0l9pcr Zwjg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cq17-20020a056a00331100b0066716dc50a1si3173880pfb.179.2023.07.19.02.30.56; Wed, 19 Jul 2023 02:31:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230407AbjGSJ0K convert rfc822-to-8bit (ORCPT + 99 others); Wed, 19 Jul 2023 05:26:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37600 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231250AbjGSJ0H (ORCPT ); Wed, 19 Jul 2023 05:26:07 -0400 Received: from ex01.ufhost.com (ex01.ufhost.com [61.152.239.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 96EA91FC8; Wed, 19 Jul 2023 02:25:48 -0700 (PDT) Received: from EXMBX166.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX166", Issuer "EXMBX166" (not verified)) by ex01.ufhost.com (Postfix) with ESMTP id 2CA2D24E2C4; Wed, 19 Jul 2023 17:25:47 +0800 (CST) Received: from EXMBX068.cuchost.com (172.16.6.68) by EXMBX166.cuchost.com (172.16.6.76) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 19 Jul 2023 17:25:47 +0800 Received: from williamqiu-virtual-machine.starfivetech.com (171.223.208.138) by EXMBX068.cuchost.com (172.16.6.68) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 19 Jul 2023 17:25:46 +0800 From: William Qiu To: , , , CC: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Emil Renner Berthing , Ziv Xu , William Qiu Subject: [PATCH v5 1/3] dt-bindings: qspi: cdns,qspi-nor: Add clocks for StarFive JH7110 SoC Date: Wed, 19 Jul 2023 17:25:43 +0800 Message-ID: <20230719092545.1961401-2-william.qiu@starfivetech.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230719092545.1961401-1-william.qiu@starfivetech.com> References: <20230719092545.1961401-1-william.qiu@starfivetech.com> MIME-Version: 1.0 X-Originating-IP: [171.223.208.138] X-ClientProxiedBy: EXCAS064.cuchost.com (172.16.6.24) To EXMBX068.cuchost.com (172.16.6.68) X-YovoleRuleAgent: yovoleflag X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771840806734685281 X-GMAIL-MSGID: 1771840806734685281 The QSPI controller needs three clock items to work properly on StarFive JH7110 SoC, so there is need to change the maxItems's value to 3. Signed-off-by: William Qiu Reviewed-by: Hal Feng Reviewed-by: Conor Dooley --- .../devicetree/bindings/spi/cdns,qspi-nor.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml index 4f15f9a0cc34..cca81f89e252 100644 --- a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml +++ b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml @@ -86,7 +86,17 @@ properties: maxItems: 1 clocks: - maxItems: 1 + minItems: 1 + maxItems: 3 + + clock-names: + oneOf: + - items: + - const: ref + - items: + - const: ref + - const: ahb + - const: apb cdns,fifo-depth: description: From patchwork Wed Jul 19 09:25:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Qiu X-Patchwork-Id: 122488 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2316749vqt; Wed, 19 Jul 2023 02:44:09 -0700 (PDT) X-Google-Smtp-Source: APBJJlH7H+XCjmDp89VkThTPVUn7iVa6aAy8sV646Rnrp8rWMNhCmWAF1gZ0adHqjrm5j8hA32ul X-Received: by 2002:a17:902:dad2:b0:1b9:de67:2870 with SMTP id q18-20020a170902dad200b001b9de672870mr19172558plx.40.1689759849391; Wed, 19 Jul 2023 02:44:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689759849; cv=none; d=google.com; s=arc-20160816; b=LmxhrVzonzT0N67DB9EAAdjS1/ZvDkiIL9kloEW3EQL/Nyjp1KrdwrVMKX+X5EiWgV Ad40SM6mJ9AxY/11rNi5bd88cNDK8QB/MC+6nopbm2RJugBxeymO2B91Y+I3+41eqYH2 uRCKBDN6TGZmLgWlWeu2cVEHz9nfwwP4aRXqglJCB56mR7jZkgUzWP7KUv3c3229el2l ssYkjndmWRHDrK/oW3EMDYE3h7pK59tF6O1d+GLdQRMRLLM0YsnuWZhMrMO8bxk7TFP6 dCV/2GyppDLgmmna+WK188X1Ob29jPbvIMBk94BtE4iH9T9z9LbUoS3gUu4mDITWgFvv NZAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=QBo9Dbj+fM+XuCkH7X69uX/K6jNw9v7tA+4E8jp8v1s=; fh=WCphHDjGHb2n6ExUxc8S0xlUZruKuzZWzdl57wRIMGI=; b=F/RBWx5nmpdJ9u6Psbfo2XFVia9VF07QaL1hREHHbh3n/zfR4yjaEraTKWw0ziCl7t Eijd/010bAxZ3YLdWsa/PO1W7MJzT2aZF7Y3AjzqXsQqS8xa7Yol1RTxzcTiKKa7hJGH ud7fdE1W8DwzoIlkpAPzQDwFwYMbYuTS/q5TFxRkZW7Dt+BwtKTHOXn+ZY8AWEHTYAu1 lzxOJZezuTzOZJ1Z0dDrsr3DSbC14V3UBdV/9QdTADgaQCCIsunoG/BwPf8kc5aVnjp0 7lr07dG2eApdwd33RK0JjZ9gvq11UWNlnGQV5dAHtcCOqtVxTddh4jC180DRZmrIHCBw OTEQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q11-20020a170902bd8b00b001b7f7045c31si3211104pls.137.2023.07.19.02.43.55; Wed, 19 Jul 2023 02:44:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231350AbjGSJ0S convert rfc822-to-8bit (ORCPT + 99 others); Wed, 19 Jul 2023 05:26:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231290AbjGSJ0H (ORCPT ); Wed, 19 Jul 2023 05:26:07 -0400 Received: from fd01.gateway.ufhost.com (fd01.gateway.ufhost.com [61.152.239.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58A6410D4; Wed, 19 Jul 2023 02:25:50 -0700 (PDT) Received: from EXMBX165.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX165", Issuer "EXMBX165" (not verified)) by fd01.gateway.ufhost.com (Postfix) with ESMTP id D094F7FE2; Wed, 19 Jul 2023 17:25:47 +0800 (CST) Received: from EXMBX068.cuchost.com (172.16.6.68) by EXMBX165.cuchost.com (172.16.6.75) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 19 Jul 2023 17:25:47 +0800 Received: from williamqiu-virtual-machine.starfivetech.com (171.223.208.138) by EXMBX068.cuchost.com (172.16.6.68) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 19 Jul 2023 17:25:47 +0800 From: William Qiu To: , , , CC: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Emil Renner Berthing , Ziv Xu , William Qiu Subject: [PATCH v5 2/3] spi: cadence-quadspi: Add clock configuration for StarFive JH7110 QSPI Date: Wed, 19 Jul 2023 17:25:44 +0800 Message-ID: <20230719092545.1961401-3-william.qiu@starfivetech.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230719092545.1961401-1-william.qiu@starfivetech.com> References: <20230719092545.1961401-1-william.qiu@starfivetech.com> MIME-Version: 1.0 X-Originating-IP: [171.223.208.138] X-ClientProxiedBy: EXCAS064.cuchost.com (172.16.6.24) To EXMBX068.cuchost.com (172.16.6.68) X-YovoleRuleAgent: yovoleflag X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771841623704601679 X-GMAIL-MSGID: 1771841623704601679 Add JH7110's clock initialization code to the driver. Signed-off-by: William Qiu Reviewed-by: Hal Feng Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202306022017.UbwjjWRN-lkp@intel.com/ Reported-by: Julia Lawall Closes: https://lore.kernel.org/r/202306040644.6ZHs55x4-lkp@intel.com/ --- drivers/spi/spi-cadence-quadspi.c | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c index abf10f92415d..16985e1fe610 100644 --- a/drivers/spi/spi-cadence-quadspi.c +++ b/drivers/spi/spi-cadence-quadspi.c @@ -47,6 +47,12 @@ #define CQSPI_OP_WIDTH(part) ((part).nbytes ? ilog2((part).buswidth) : 0) +enum { + CLK_QSPI_APB = 0, + CLK_QSPI_AHB, + CLK_QSPI_NUM, +}; + struct cqspi_st; struct cqspi_flash_pdata { @@ -64,6 +70,7 @@ struct cqspi_st { struct platform_device *pdev; struct spi_master *master; struct clk *clk; + struct clk *clks[CLK_QSPI_NUM]; unsigned int sclk; void __iomem *iobase; @@ -92,6 +99,8 @@ struct cqspi_st { bool wr_completion; bool slow_sram; bool apb_ahb_hazard; + + bool is_jh7110; /* Flag for StarFive JH7110 SoC */ }; struct cqspi_driver_platdata { @@ -100,6 +109,8 @@ struct cqspi_driver_platdata { int (*indirect_read_dma)(struct cqspi_flash_pdata *f_pdata, u_char *rxbuf, loff_t from_addr, size_t n_rx); u32 (*get_dma_status)(struct cqspi_st *cqspi); + int (*jh7110_clk_init)(struct platform_device *pdev, + struct cqspi_st *cqspi); }; /* Operation timeout value */ @@ -1630,6 +1641,51 @@ static int cqspi_setup_flash(struct cqspi_st *cqspi) return 0; } +static int cqspi_jh7110_clk_init(struct platform_device *pdev, struct cqspi_st *cqspi) +{ + static struct clk_bulk_data qspiclk[] = { + { .id = "apb" }, + { .id = "ahb" }, + }; + + int ret = 0; + + ret = devm_clk_bulk_get(&pdev->dev, ARRAY_SIZE(qspiclk), qspiclk); + if (ret) { + dev_err(&pdev->dev, "%s: failed to get qspi clocks\n", __func__); + return ret; + } + + cqspi->clks[CLK_QSPI_APB] = qspiclk[0].clk; + cqspi->clks[CLK_QSPI_AHB] = qspiclk[1].clk; + + ret = clk_prepare_enable(cqspi->clks[CLK_QSPI_APB]); + if (ret) { + dev_err(&pdev->dev, "%s: failed to enable CLK_QSPI_APB\n", __func__); + return ret; + } + + ret = clk_prepare_enable(cqspi->clks[CLK_QSPI_AHB]); + if (ret) { + dev_err(&pdev->dev, "%s: failed to enable CLK_QSPI_AHB\n", __func__); + goto disable_apb_clk; + } + + cqspi->is_jh7110 = true; + + return 0; + +disable_apb_clk: + clk_disable_unprepare(cqspi->clks[CLK_QSPI_APB]); + + return ret; +} + +static void cqspi_jh7110_disable_clk(struct platform_device *pdev, struct cqspi_st *cqspi) +{ + clk_disable_unprepare(cqspi->clks[CLK_QSPI_AHB]); + clk_disable_unprepare(cqspi->clks[CLK_QSPI_APB]); +} static int cqspi_probe(struct platform_device *pdev) { const struct cqspi_driver_platdata *ddata; @@ -1655,6 +1711,7 @@ static int cqspi_probe(struct platform_device *pdev) cqspi->pdev = pdev; cqspi->master = master; + cqspi->is_jh7110 = false; platform_set_drvdata(pdev, cqspi); /* Obtain configuration from OF. */ @@ -1766,6 +1823,12 @@ static int cqspi_probe(struct platform_device *pdev) if (ddata->quirks & CQSPI_NEEDS_APB_AHB_HAZARD_WAR) cqspi->apb_ahb_hazard = true; + if (ddata->jh7110_clk_init) { + ret = cqspi_jh7110_clk_init(pdev, cqspi); + if (ret) + goto probe_clk_failed; + } + if (of_device_is_compatible(pdev->dev.of_node, "xlnx,versal-ospi-1.0")) { ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); @@ -1830,6 +1893,9 @@ static void cqspi_remove(struct platform_device *pdev) clk_disable_unprepare(cqspi->clk); + if (cqspi->is_jh7110) + cqspi_jh7110_disable_clk(pdev, cqspi); + pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); } @@ -1897,6 +1963,7 @@ static const struct cqspi_driver_platdata versal_ospi = { static const struct cqspi_driver_platdata jh7110_qspi = { .quirks = CQSPI_DISABLE_DAC_MODE, + .jh7110_clk_init = cqspi_jh7110_clk_init, }; static const struct cqspi_driver_platdata pensando_cdns_qspi = { From patchwork Wed Jul 19 09:25:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Qiu X-Patchwork-Id: 122489 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2316875vqt; Wed, 19 Jul 2023 02:44:30 -0700 (PDT) X-Google-Smtp-Source: APBJJlHlykKHYVpRljQs6DZj4Io2lQxfuLqm/t7M1zBHSxfqf8KRpLprzJFwY62K/OVqgrIzigmi X-Received: by 2002:a05:6a00:b93:b0:66a:5466:25c6 with SMTP id g19-20020a056a000b9300b0066a546625c6mr20878262pfj.18.1689759869558; Wed, 19 Jul 2023 02:44:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689759869; cv=none; d=google.com; s=arc-20160816; b=GbzNFiZxxbvhA/NhJ/gMQ3AeJ6+cc4K3b575q6U+kWhW3N09pkn64glqDHfeiv49nF Du1YDgf1OK3joVFUtw/dead+k4QYVxOP55/ksKXOU5B+HoXpGEKYB7JYp5oR2oaiIzp7 e103EjFFhMqhJZekkY87Es4/Eve5RGacyc77oeDMj2Axf7qPc9L8yL4wBn04+dbKj9m3 qZ0lRMNNgOORTY6G9CR9+HLQ3APhgexBznKCZy83ihGLveOylypDEeenpyDX+H8q6LhV Vf2aFjsInJS0oQmEABuBlbjLyi780IFD/ar9cyawUEUEuC+jJKlE1aARv0AfvsLKnvku 567Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=XLFHSIRr6QHP1FeCyz9Q6A/TCi6N7PflnXEiFroLWjs=; fh=WCphHDjGHb2n6ExUxc8S0xlUZruKuzZWzdl57wRIMGI=; b=UZ0buj88k/fwGzyHiJlEpQGmrNFl7pRw5MLgQ/MYhQ2OsuCwOISZhhr87fk3X4gKRt BxHrYBPrEfEU3mlGLtIqQI256hI60Cwf/i5OwDPPKVGuo9NqEQGMXKj3qtnmQHtcOjJW z8U6xRBQd1M/lT+E5Nd4HXSZih/GbWp4JdHJfWPS3upHAjf3wxni98JGGLQrNgy+dh27 o6bhkXbKR7/JKqnubU7K7AkSyqdn0FytiyT6ISAdZJ9aHo8+vLzmhOKMLgzOldkerEjJ 5RwAegDL0a+4I8JTnKSeYlhHbud62Xoqq8RYordE9d6lBmzaEIvOp4sU5GvJzhkrNqQA puGA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cu1-20020a056a00448100b0068240c29150si3157172pfb.227.2023.07.19.02.44.16; Wed, 19 Jul 2023 02:44:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231359AbjGSJ0X convert rfc822-to-8bit (ORCPT + 99 others); Wed, 19 Jul 2023 05:26:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231337AbjGSJ0I (ORCPT ); Wed, 19 Jul 2023 05:26:08 -0400 Received: from fd01.gateway.ufhost.com (fd01.gateway.ufhost.com [61.152.239.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49C7A1BFD; Wed, 19 Jul 2023 02:25:55 -0700 (PDT) Received: from EXMBX166.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX166", Issuer "EXMBX166" (not verified)) by fd01.gateway.ufhost.com (Postfix) with ESMTP id C567D80DF; Wed, 19 Jul 2023 17:25:48 +0800 (CST) Received: from EXMBX068.cuchost.com (172.16.6.68) by EXMBX166.cuchost.com (172.16.6.76) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 19 Jul 2023 17:25:48 +0800 Received: from williamqiu-virtual-machine.starfivetech.com (171.223.208.138) by EXMBX068.cuchost.com (172.16.6.68) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 19 Jul 2023 17:25:47 +0800 From: William Qiu To: , , , CC: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Emil Renner Berthing , Ziv Xu , William Qiu Subject: [PATCH v5 3/3] riscv: dts: starfive: Add QSPI controller node for StarFive JH7110 SoC Date: Wed, 19 Jul 2023 17:25:45 +0800 Message-ID: <20230719092545.1961401-4-william.qiu@starfivetech.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230719092545.1961401-1-william.qiu@starfivetech.com> References: <20230719092545.1961401-1-william.qiu@starfivetech.com> MIME-Version: 1.0 X-Originating-IP: [171.223.208.138] X-ClientProxiedBy: EXCAS064.cuchost.com (172.16.6.24) To EXMBX068.cuchost.com (172.16.6.68) X-YovoleRuleAgent: yovoleflag X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771841645331116544 X-GMAIL-MSGID: 1771841645331116544 Add the quad spi controller node for the StarFive JH7110 SoC. Co-developed-by: Ziv Xu Signed-off-by: Ziv Xu Signed-off-by: William Qiu Reviewed-by: Hal Feng --- .../jh7110-starfive-visionfive-2.dtsi | 36 +++++++++++++++++++ arch/riscv/boot/dts/starfive/jh7110.dtsi | 19 ++++++++++ 2 files changed, 55 insertions(+) diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi index fa0061eb33a7..7f2d41ccc52d 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi @@ -143,6 +143,42 @@ &i2c6 { status = "okay"; }; +&qspi { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + nor_flash: flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + cdns,read-delay = <5>; + spi-max-frequency = <12000000>; + cdns,tshsl-ns = <1>; + cdns,tsd2d-ns = <1>; + cdns,tchsh-ns = <1>; + cdns,tslch-ns = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + spl@0 { + reg = <0x0 0x80000>; + }; + uboot-env@f0000 { + reg = <0xf0000 0x10000>; + }; + uboot@100000 { + reg = <0x100000 0x400000>; + }; + reserved-data@600000 { + reg = <0x600000 0x1000000>; + }; + }; + }; +}; + &sysgpio { i2c0_pins: i2c0-0 { i2c-pins { diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi index ec2e70011a73..9740adc9df4e 100644 --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi @@ -473,6 +473,25 @@ i2c6: i2c@12060000 { status = "disabled"; }; + qspi: spi@13010000 { + compatible = "starfive,jh7110-qspi", "cdns,qspi-nor"; + reg = <0x0 0x13010000 0x0 0x10000>, + <0x0 0x21000000 0x0 0x400000>; + interrupts = <25>; + clocks = <&syscrg JH7110_SYSCLK_QSPI_REF>, + <&syscrg JH7110_SYSCLK_QSPI_AHB>, + <&syscrg JH7110_SYSCLK_QSPI_APB>; + clock-names = "ref", "ahb", "apb"; + resets = <&syscrg JH7110_SYSRST_QSPI_APB>, + <&syscrg JH7110_SYSRST_QSPI_AHB>, + <&syscrg JH7110_SYSRST_QSPI_REF>; + reset-names = "qspi", "qspi-ocp", "rstc_ref"; + cdns,fifo-depth = <256>; + cdns,fifo-width = <4>; + cdns,trigger-address = <0x0>; + status = "disabled"; + }; + syscrg: clock-controller@13020000 { compatible = "starfive,jh7110-syscrg"; reg = <0x0 0x13020000 0x0 0x10000>;