Nor flash using QSPI interface outputs max freq of 25 Mhz only.

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Nor flash using QSPI interface outputs max freq of 25 Mhz only.

2,257件の閲覧回数
sandeep_yenugul
Contributor III

Hi,

I am working on a custom board with Nor-flash over QSPI interface. I am able to read/write on flash PART winbond W25Q256JWPIQ.  I am trying to Run QSPI on 100 Mhz but not able to achieve it. How can I modify the QSPI freq.

I have set the maximum freq, in dts node 10MHz still get 25 Mhz.

ラベル(1)
0 件の賞賛
返信
3 返答(返信)

1,747件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi sandeep

seems QSPI_CLK_ROOT set to default value given in Table 5-1. Clock Root Table

i.MX8MDQ Reference Manual
https://www.nxp.com/docs/en/reference-manual/IMX8MDQLQRM.pdf

So one can try to adjust it to other suitable values in

uboot/board/freescale/imx8mq_evk/imx8mq_evk.c

imx8mq_evk.c\imx8mq_evk\freescale\board - uboot-imx - i.MX U-Boot 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信

1,747件の閲覧回数
sandeep_yenugul
Contributor III

Hi igorpadykov,

At u-boot it is already set to 100MHz, But I need steps to set 100 MHz at kernel side. So can you please share dts node or kernel changes for setting QSPI freq to 100Mhz. Below is my changes n dts and dtsi files.

dtsi file:

    qspi: qspi@30bb0000 {
        #address-cells = <1>;
        #size-cells = <0>;
        compatible = "fsl,imx7d-qspi";
        reg = <0 0x30bb0000 0 0x10000>, <0 0x08000000 0 0x10000000>;
        reg-names = "QuadSPI", "QuadSPI-memory";
        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clk IMX8MQ_CLK_QSPI_ROOT>,
        <&clk IMX8MQ_CLK_QSPI_ROOT>;
        clock-names = "qspi_en", "qspi";
        status = "disabled";
    };

dts file:

&qspi {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_qspi>;
    status = "okay";

    flash0: w25q256@0 {
        reg = <0>;
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "sst,w25q256";
        spi-max-frequency = <100000000>;
        spi-nor,ddr-quad-read-dummy = <4>;
        status = "okay";
    };
};

0 件の賞賛
返信

1,747件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

linux driver does not change frequency so no additional dts settings are

needed, in general you can try to debug it in qspi driver.

fsl-quadspi.c\spi-nor\mtd\drivers - linux-imx - i.MX Linux kernel 

linux clock driver

clk-imx8mq.c\imx\clk\drivers - linux-imx - i.MX Linux kernel 

Best regards
igor

0 件の賞賛
返信