<?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>i.MX Processors中的主题 Re: Adding new spi module on IMX8 quad max with Yocto</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823483#M126660</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your answer!&lt;/P&gt;&lt;P&gt;Opening the first link, on the section "&amp;amp;flexspi0" there is this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;flash0: mt35xu512aba@0 { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#address-cells = &amp;lt;1&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#size-cells = &amp;lt;1&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "micron,mt35xu512aba"; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;29000000&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-nor,ddr-quad-read-dummy = &amp;lt;8&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};

can you please explain what flash0, &lt;A href="mailto:mt35xu512aba@0" rel="nofollow noopener noreferrer" target="_blank"&gt;mt35xu512aba@0&lt;/A&gt; and compatible mean?
&lt;/CODE&gt;Is this part the key to add my driver or I am wrong?&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 07 Aug 2018 10:17:07 GMT</pubDate>
    <dc:creator>s233199</dc:creator>
    <dc:date>2018-08-07T10:17:07Z</dc:date>
    <item>
      <title>Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823481#M126658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV class=""&gt;&lt;P&gt;I am using Yocto on a&amp;nbsp; imx8 quad max evaluation board, and I want to add a custom spi module. I have done all the steps described in yocto manual, but when I plug in the board the probe function is not called so when I try to use my driver calling a write I have kernel exception messages (when spi_sync is called) such as "Unable to handle kernel NULL pointer dereference at virtual address". I previously tried this module on a Udoo-neo board (with imx6) and it worked fine.&lt;/P&gt;&lt;P&gt;Do I need to modify my device tree files in order to enable my module to use spi? If yes, how can I modify them?&lt;/P&gt;&lt;P&gt;I read a lot of stuff about dts files but still do not understand how they work.&lt;/P&gt;&lt;P&gt;I am new to Yocto and to kernel drivers.&lt;/P&gt;&lt;P&gt;Thank you in advance for your help!&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Aug 2018 19:58:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823481#M126658</guid>
      <dc:creator>s233199</dc:creator>
      <dc:date>2018-08-06T19:58:43Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823482#M126659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Erica&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;example for i.MX8QM can be found in&lt;/P&gt;&lt;P&gt;linux/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek.dts&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek.dts?h=imx_4.9.51_imx8m_ga" title="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek.dts?h=imx_4.9.51_imx8m_ga"&gt;fsl-imx8qm-mek.dts\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However this processor is not publicly released and not supported yet.&lt;/P&gt;&lt;P&gt;For i.MX8MQ example on below link and procedure is similar to i.MX6 processors.&lt;/P&gt;&lt;P&gt;linux/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts?h=imx_4.9.51_imx8m_ga" title="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts?h=imx_4.9.51_imx8m_ga"&gt;fsl-imx8mq-evk.dts\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Aug 2018 09:44:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823482#M126659</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-08-07T09:44:40Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823483#M126660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your answer!&lt;/P&gt;&lt;P&gt;Opening the first link, on the section "&amp;amp;flexspi0" there is this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;flash0: mt35xu512aba@0 { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#address-cells = &amp;lt;1&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#size-cells = &amp;lt;1&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "micron,mt35xu512aba"; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;29000000&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-nor,ddr-quad-read-dummy = &amp;lt;8&amp;gt;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};

can you please explain what flash0, &lt;A href="mailto:mt35xu512aba@0" rel="nofollow noopener noreferrer" target="_blank"&gt;mt35xu512aba@0&lt;/A&gt; and compatible mean?
&lt;/CODE&gt;Is this part the key to add my driver or I am wrong?&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Aug 2018 10:17:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823483#M126660</guid>
      <dc:creator>s233199</dc:creator>
      <dc:date>2018-08-07T10:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823484#M126661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;for dts definitions one can look at AN5125 Introduction to Device Tree&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/docs/en/application-note/AN5125.pdf" title="https://www.nxp.com/docs/en/application-note/AN5125.pdf"&gt;https://www.nxp.com/docs/en/application-note/AN5125.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2018 00:15:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823484#M126661</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-08-08T00:15:26Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823485#M126662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Erica,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the flexspi port connects to an OctaSPI flash (serial flash with 8 SPI lines), so this is most likley not the SPI port you are looking for. The flash type on the 8QM board is a MICRON MT35XU512, that's why you find the name in this section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On our 8QM board we don't have anything connected to standard SPI, that's why you don't find any setup for it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt;&amp;nbsp; I read a lot of stuff about dts files but still do not understand how they work.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;You're not alone&amp;nbsp; :smileycool:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OK, this is the SPI setup on the i.MX 8QM:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;There are four LPSPI ports on the 8QM ( LPSPI[3:0] ), in the Reference Manual you find the LPSPI ports in chapter 9.1.&lt;/LI&gt;&lt;LI&gt;The standard SPI port has 4 pins: SCK / PCS / SIN / SOUT&lt;/LI&gt;&lt;LI&gt;The SPI peripherals 0/1/2/3 are located at 0x5A000000 / 0x5A010000 / 0x5A020000 / 0x5A030000&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what you need to do:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Add SPI port(s) to the file fsl-imx8qm.dts&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;The file can be found in the folder &lt;EM&gt; /tmp/work-shared/imx8qmmek/kernel-source/arch/arm64/boot/dts/freescale&lt;/EM&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;In the current beta-release there is already an entry for the lpspi0&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;The address of the LPSPI port can be found in the Reference Manual --&amp;gt; System Memory Map --&amp;gt; Audio DMA Memory Maps&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;There is also an LPSPI peripheral in the i.MX7ULP, so for now you can keep this entry in "compatible". Maybe later on, when the i.MX8 became more popular in the Linux world, there might be other strings.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;The defines for the clocks can be found in the file &lt;EM&gt;imx8qm-clock.h&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;lpspi0: lpspi@5a000000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;compatible = "fsl,imx7ulp-spi";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;reg = &amp;lt;0x0 0x5a000000 0x0 0x10000&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;interrupts = &amp;lt;GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;interrupt-parent = &amp;lt;&amp;amp;gic&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;clocks = &amp;lt;&amp;amp;clk IMX8QM_SPI0_CLK&amp;gt;,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;&amp;amp;clk IMX8QM_SPI0_IPG_CLK&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;clock-names = "per", "ipg";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;assigned-clocks = &amp;lt;&amp;amp;clk IMX8QM_SPI0_CLK&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;assigned-clock-rates = &amp;lt;20000000&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;power-domains = &amp;lt;&amp;amp;pd_dma_lpspi0&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = "disabled";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;lpspi1: lpspi@5a010000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "fsl,imx7ulp-spi";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0x0 0x5a010000 0x0 0x10000&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupts = &amp;lt;GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt-parent = &amp;lt;&amp;amp;gic&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clocks = &amp;lt;&amp;amp;clk IMX8QM_SPI1_CLK&amp;gt;,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;amp;clk IMX8QM_SPI1_IPG_CLK&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock-names = "per", "ipg";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; assigned-clocks = &amp;lt;&amp;amp;clk IMX8QM_SPI1_CLK&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; assigned-clock-rates = &amp;lt;20000000&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; power-domains = &amp;lt;&amp;amp;pd_dma_lpspi1&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "disabled";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;You need to define the pins for the SPI ports you want to use.&lt;/STRONG&gt;&lt;OL&gt;&lt;LI&gt;There is an example for the lpspi0 in the file &lt;EM&gt;fsl-imx8qm-lpddr4-arm2-lpspi.dts&lt;/EM&gt; in the folder&lt;EM&gt; /tmp/work-shared/imx8qmmek/kernel-source/arch/arm64/boot/dts/freescale&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;amp;iomuxc {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;imx8qm-arm2 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl_lpspi0: lpspi0grp {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,pins = &amp;lt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SC_P_SPI0_SCK_DMA_SPI0_SCK&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;0x0600004c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SC_P_SPI0_SDO_DMA_SPI0_SDO&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;0x0600004c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SC_P_SPI0_SDI_DMA_SPI0_SDI&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;0x0600004c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl_lpspi0_cs: lpspi0cs {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,pins = &amp;lt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SC_P_SPI0_CS0_LSIO_GPIO3_IO05&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;0x21&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;amp;lpspi0 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#address-cells = &amp;lt;1&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#size-cells = &amp;lt;0&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_lpspi0 &amp;amp;pinctrl_lpspi0_cs&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio3 5 GPIO_ACTIVE_LOW&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;status = "okay";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;flash: at45db041e@0 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#address-cells = &amp;lt;1&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#size-cells = &amp;lt;1&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;compatible = "atmel,at45", "atmel,dataflash";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;spi-max-frequency = &amp;lt;500000&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;};&lt;/SPAN&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Configure the Kernel config for SPI support&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Please check if the Kernel config file contains the following defines:&lt;BR /&gt;CONFIG_SPI=y&lt;BR /&gt;CONFIG_SPI_IMX=y&lt;BR /&gt;CONFIG_SPI_FSL_LPSPI=y&lt;/LI&gt;&lt;LI&gt;If you want this as a default Kernel config setting, please edit the file &lt;EM&gt;defconfig&lt;/EM&gt; in the folder &lt;EM&gt;/tmp/work-shared/imx8qmmek/kernel-source/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig&lt;BR /&gt;&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Test the SPI port&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;After creating an image you can test the SPI port on device level and on hardware level&lt;/LI&gt;&lt;LI&gt;To load the SPI driver on command line:&amp;nbsp; &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;$ modprobe spidev&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;The standard SPI driver in the Linux Kernel (spi-imx.c) would allow you to use the port and finally you should see something on the port when you try to send data.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to admit that at the time of writing I didn't test it on the 8QM board, so if you can't make it working please come back to me and I will give it a try on my side.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Bernhard.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Aug 2018 13:15:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823485#M126662</guid>
      <dc:creator>bernhardfink</dc:creator>
      <dc:date>2018-08-20T13:15:28Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823486#M126663</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, thank you for your answer. I have tried this but my custom driver does not probe. In my init function spi_register_driver returns 0 but my probe function does not print anything. Do I need to insert { .compatible = "fsl,imx7ulp-spi" } in the struct of_device_id of my custom driver? Or I need to write something else in .compatile? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Aug 2018 12:32:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823486#M126663</guid>
      <dc:creator>s233199</dc:creator>
      <dc:date>2018-08-31T12:32:51Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823487#M126664</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Adding .compatible = "fsl,imx7ulp-spi" still does not probe. I also added status = "okay" in the lpspi0 entry in the first file.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Aug 2018 13:06:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823487#M126664</guid>
      <dc:creator>s233199</dc:creator>
      <dc:date>2018-08-31T13:06:00Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823488#M126665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bernhard, is there such an excellent explanation for those who work with Android 9?&amp;nbsp;We weren't&amp;nbsp;able&amp;nbsp;to enable spidev easily on Android 9. And "make manuconfig" doesn't seem to work as well.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2019 12:14:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823488#M126665</guid>
      <dc:creator>mikemalgin</dc:creator>
      <dc:date>2019-06-03T12:14:35Z</dc:date>
    </item>
    <item>
      <title>Re: Adding new spi module on IMX8 quad max with Yocto</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823489#M126666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well explanation &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/bernhardfink"&gt;bernhardfink&lt;/A&gt;‌&lt;SPAN class=""&gt;&lt;/SPAN&gt; I would like enable the SPI support for u-boot. I can't get any SPI Bus driver or compatible driver "&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;fsl,imx7ulp-spi&lt;/SPAN&gt;" from uboot. Can you please share the details.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Aug 2020 11:43:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Adding-new-spi-module-on-IMX8-quad-max-with-Yocto/m-p/823489#M126666</guid>
      <dc:creator>darsh_dev</dc:creator>
      <dc:date>2020-08-18T11:43:55Z</dc:date>
    </item>
  </channel>
</rss>

