<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LayerscapeのトピックLS1028 FSPI device driver not work</title>
    <link>https://community.nxp.com/t5/Layerscape/LS1028-FSPI-device-driver-not-work/m-p/2043268#M15387</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to use qspi feature of the ls1028 processer.&amp;nbsp; I change the dts as below:&lt;/P&gt;&lt;P&gt;dts:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi@20c0000 {&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;compatible = "nxp,lx2160a-fspi";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#address-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#size-cells = &amp;lt;0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg = &amp;lt;0x00 0x20c0000 0x00 0x10000 0x00 0x20000000 0x00 0x10000000&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg-names = "fspi_base\0fspi_mmap";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;interrupts = &amp;lt;0x00 0x19 0x04&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;clocks = &amp;lt;0x02 0x02 0x00 0x02 0x02 0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;clock-names = "fspi_en\0fspi";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;status = "okay";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;phandle = &amp;lt;0x30&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;qspidevice@0 {&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;compatible = "nxp,qspi-generic";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#address-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#size-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-max-frequency = &amp;lt;0x1312d00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg = &amp;lt;0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-rx-bus-width = &amp;lt;0x04&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-tx-bus-width = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;phandle = &amp;lt;0x31&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;};&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;/*&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;flash@0 {&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;compatible = "spansion,m25p80";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#address-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#size-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;m25p,fast-read;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-max-frequency = &amp;lt;0x1312d00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg = &amp;lt;0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-rx-bus-width = &amp;lt;0x04&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-tx-bus-width = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;phandle = &amp;lt;0x31&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;};&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;*/&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;};&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;Can I use "&lt;EM&gt;spi_sync&lt;/EM&gt;" API to wirte the qspi device driver code as fallow? if not , which api should be called?&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;some driver code:&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;static ssize_t qspi_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; struct qspi_dev *qspi = file-&amp;gt;private_data;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; char write_buf[256];&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; size_t len = min(count, sizeof(write_buf));&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; struct spi_transfer xfer;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; struct spi_message msg;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; int ret;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; if (copy_from_user(write_buf, buf, len)) {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dev_err(qspi-&amp;gt;dev, "Failed to copy data from user space\n");&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -EFAULT;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; printk(KERN_INFO " &amp;nbsp;write_buf: %s\n",write_buf);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; dump_spi_device(qspi-&amp;gt;spi);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; memset(&amp;amp;xfer, 0, sizeof(xfer));&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; xfer.tx_buf = write_buf;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; xfer.rx_buf = NULL;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; xfer.len = len;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; //xfer.cs_change = 1;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; //xfer.bits_per_word = qspi-&amp;gt;spi-&amp;gt;bits_per_word;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; //xfer.speed_hz = qspi-&amp;gt;spi-&amp;gt;max_speed_hz;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; spi_message_init(&amp;amp;msg);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; spi_message_add_tail(&amp;amp;xfer, &amp;amp;msg);&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; ret = spi_sync(qspi-&amp;gt;spi, &amp;amp;msg);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; if (ret &amp;lt; 0) {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dev_err(qspi-&amp;gt;dev, "Failed to write to QSPI, error code: %d\n", ret);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //dev_err(qspi-&amp;gt;dev, "Message length: %u, Message buffer: %p\n", msg.len, msg.buf);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ret;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Thanks,&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;zhang&lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 13 Feb 2025 09:01:46 GMT</pubDate>
    <dc:creator>zhicheng1</dc:creator>
    <dc:date>2025-02-13T09:01:46Z</dc:date>
    <item>
      <title>LS1028 FSPI device driver not work</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1028-FSPI-device-driver-not-work/m-p/2043268#M15387</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to use qspi feature of the ls1028 processer.&amp;nbsp; I change the dts as below:&lt;/P&gt;&lt;P&gt;dts:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi@20c0000 {&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;compatible = "nxp,lx2160a-fspi";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#address-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#size-cells = &amp;lt;0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg = &amp;lt;0x00 0x20c0000 0x00 0x10000 0x00 0x20000000 0x00 0x10000000&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg-names = "fspi_base\0fspi_mmap";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;interrupts = &amp;lt;0x00 0x19 0x04&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;clocks = &amp;lt;0x02 0x02 0x00 0x02 0x02 0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;clock-names = "fspi_en\0fspi";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;status = "okay";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;phandle = &amp;lt;0x30&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;qspidevice@0 {&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;compatible = "nxp,qspi-generic";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#address-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#size-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-max-frequency = &amp;lt;0x1312d00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg = &amp;lt;0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-rx-bus-width = &amp;lt;0x04&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-tx-bus-width = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;phandle = &amp;lt;0x31&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;};&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;/*&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;flash@0 {&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;compatible = "spansion,m25p80";&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#address-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;#size-cells = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;m25p,fast-read;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-max-frequency = &amp;lt;0x1312d00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;reg = &amp;lt;0x00&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-rx-bus-width = &amp;lt;0x04&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;spi-tx-bus-width = &amp;lt;0x01&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;phandle = &amp;lt;0x31&amp;gt;;&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;};&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;*/&lt;/FONT&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;FONT size="3"&gt;};&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;Can I use "&lt;EM&gt;spi_sync&lt;/EM&gt;" API to wirte the qspi device driver code as fallow? if not , which api should be called?&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;some driver code:&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;static ssize_t qspi_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; struct qspi_dev *qspi = file-&amp;gt;private_data;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; char write_buf[256];&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; size_t len = min(count, sizeof(write_buf));&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; struct spi_transfer xfer;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; struct spi_message msg;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; int ret;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; if (copy_from_user(write_buf, buf, len)) {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dev_err(qspi-&amp;gt;dev, "Failed to copy data from user space\n");&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -EFAULT;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; printk(KERN_INFO " &amp;nbsp;write_buf: %s\n",write_buf);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; dump_spi_device(qspi-&amp;gt;spi);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; memset(&amp;amp;xfer, 0, sizeof(xfer));&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; xfer.tx_buf = write_buf;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; xfer.rx_buf = NULL;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; xfer.len = len;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; //xfer.cs_change = 1;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; //xfer.bits_per_word = qspi-&amp;gt;spi-&amp;gt;bits_per_word;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; //xfer.speed_hz = qspi-&amp;gt;spi-&amp;gt;max_speed_hz;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; spi_message_init(&amp;amp;msg);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; spi_message_add_tail(&amp;amp;xfer, &amp;amp;msg);&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; ret = spi_sync(qspi-&amp;gt;spi, &amp;amp;msg);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; if (ret &amp;lt; 0) {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dev_err(qspi-&amp;gt;dev, "Failed to write to QSPI, error code: %d\n", ret);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //dev_err(qspi-&amp;gt;dev, "Message length: %u, Message buffer: %p\n", msg.len, msg.buf);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ret;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; }&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;Thanks,&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;zhang&lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 13 Feb 2025 09:01:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1028-FSPI-device-driver-not-work/m-p/2043268#M15387</guid>
      <dc:creator>zhicheng1</dc:creator>
      <dc:date>2025-02-13T09:01:46Z</dc:date>
    </item>
    <item>
      <title>Re: LS1028 FSPI device driver not work</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1028-FSPI-device-driver-not-work/m-p/2043282#M15388</link>
      <description>&lt;P&gt;Most QSPI controllers can only be used in combination with flash memories (serial NOR typically, some also support serial NAND). They cannot handle "generic" SPI as they "snoop" the commands sent to control the extra data lines.&lt;/P&gt;&lt;P&gt;Connect your device to a "normal" SPI controller (the NXP has plenty of those).&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2025 09:19:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1028-FSPI-device-driver-not-work/m-p/2043282#M15388</guid>
      <dc:creator>mikelooijmans</dc:creator>
      <dc:date>2025-02-13T09:19:06Z</dc:date>
    </item>
    <item>
      <title>Re: LS1028 FSPI device driver not work</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1028-FSPI-device-driver-not-work/m-p/2043359#M15389</link>
      <description>&lt;P&gt;get it.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2025 10:33:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1028-FSPI-device-driver-not-work/m-p/2043359#M15389</guid>
      <dc:creator>zhicheng1</dc:creator>
      <dc:date>2025-02-13T10:33:20Z</dc:date>
    </item>
  </channel>
</rss>

