<?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: Enabling spidev on iMX8 Solidrun Hummingboard Pulse</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Enabling-spidev-on-iMX8-Solidrun-Hummingboard-Pulse/m-p/1024065#M151331</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can look at attached ecspi2 example for boundary devices nitrogen8m&lt;/P&gt;&lt;P&gt;board, and make appropriate pinmuxing changes for used board:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_4.14.x_2.0.0_ga/" title="https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_4.14.x_2.0.0_ga/"&gt;GitHub - boundarydevices/linux-imx6 at boundary-imx_4.14.x_2.0.0_ga&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>Thu, 12 Mar 2020 23:31:32 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2020-03-12T23:31:32Z</dc:date>
    <item>
      <title>Enabling spidev on iMX8 Solidrun Hummingboard Pulse</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Enabling-spidev-on-iMX8-Solidrun-Hummingboard-Pulse/m-p/1024064#M151330</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's been nearly one year since I requested, both in their forum and here but still no solution. Other vendor like CompuLab &lt;A href="https://github.com/compulab-yokneam/Documentation/wiki/iMX8-SPIDEV"&gt;here &lt;/A&gt;have a solution to change their dts to support spidev, but not SolidRun.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Checking from their dts even in the latest &lt;A href="https://images.solid-build.xyz/IMX8/Debian/sr-imx8-debian-bullseye-20191201-cli-imx8mq-sdhc.img.xz" title="sr-imx8-debian-bullseye-20191201-cli-imx8mq-sdhc.img.xz"&gt;sr-imx8-debian-bullseye-20191201-cli-imx8mq-sdh.. image&lt;/A&gt;, it seems like all ecspi0,1,2 are still disabled. The HBPulse has a mikroBus interface that uses ecspi2, so this is the bus that I would like to enable. I tried changing to status to 'okay', but apparently I need to also add another node to the dts with the following entry. I'm not sure what to fill in the pinctrl-0, cs-gpios, and reg fields? Perhaps someone can look at the HbPulse schematic that I attached and provide me the info?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&amp;amp;ecspi2 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;#address-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;#size-cells = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi2 &amp;amp;pinctrl_ecspi2_cs&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio5 13 GPIO_ACTIVE_LOW&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;status = "okay";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;spidev0: spi@0 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;compatible = "epson,s1d13c00";&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;spi-max-frequency = &amp;lt;500000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt; };&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After some readings about dtb in general this is the modified:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecspi@30830000 {&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; #address-cells = &amp;lt;0x01&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; #size-cells = &amp;lt;0x00&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; compatible = "spidev,fsl,imx8mq-ecspi\0fsl,imx51-ecspi";&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0x00 0x30830000 0x00 0x10000&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; interrupts = &amp;lt;0x00 0x20 0x04&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; clocks = &amp;lt;0x04 0xc2 0x04 0xc2&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; clock-names = "ipg\0per";&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; status = "okay";&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-names = "default";&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi2 &amp;amp;pinctrl_ecspi2_cs&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; cs-gpios = &amp;lt;&amp;amp;gpio5 13 GPIO_ACTIVE_LOW&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;nbsp;&amp;nbsp;&amp;nbsp; spidev0: spi@0 {&lt;BR /&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;nbsp;&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;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "spidev";&lt;BR /&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;nbsp;&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;500000&amp;gt;;&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "okay";&lt;BR /&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;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The pinctrl that handles io muxing is very complex and I'm still yet to know what to define, there is no pinctrl_ecspi2 defined anywhere in the dts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Useful reference regarding imx8 to help modify the dts:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;pinfunc - &lt;A class="link-titled" href="https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h" title="https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h"&gt;linux/imx8mq-pinfunc.h at master · torvalds/linux · GitHub&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://developer.toradex.com/device-tree-customization" title="https://developer.toradex.com/device-tree-customization"&gt;Device Tree Customization&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://github.com/torvalds/linux/tree/master/arch/arm64/boot/dts/freescale" title="https://github.com/torvalds/linux/tree/master/arch/arm64/boot/dts/freescale"&gt;linux/arch/arm64/boot/dts/freescale at master · torvalds/linux · GitHub&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/docs/en/user-guide/i.MX_BSP_Porting_Guide_Linux.pdf" title="https://www.nxp.com/docs/en/user-guide/i.MX_BSP_Porting_Guide_Linux.pdf"&gt;https://www.nxp.com/docs/en/user-guide/i.MX_BSP_Porting_Guide_Linux.pdf&lt;/A&gt; (pg.31-32)&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.digi.com/resources/documentation/digidocs/90001546/reference/bsp/cc6/r_serial_peripheral_interface.htm" title="https://www.digi.com/resources/documentation/digidocs/90001546/reference/bsp/cc6/r_serial_peripheral_interface.htm"&gt;Serial Peripheral Interface (SPI)&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Really wish these could be enabled by default.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2020 15:41:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Enabling-spidev-on-iMX8-Solidrun-Hummingboard-Pulse/m-p/1024064#M151330</guid>
      <dc:creator>garyg</dc:creator>
      <dc:date>2020-03-12T15:41:38Z</dc:date>
    </item>
    <item>
      <title>Re: Enabling spidev on iMX8 Solidrun Hummingboard Pulse</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Enabling-spidev-on-iMX8-Solidrun-Hummingboard-Pulse/m-p/1024065#M151331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can look at attached ecspi2 example for boundary devices nitrogen8m&lt;/P&gt;&lt;P&gt;board, and make appropriate pinmuxing changes for used board:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_4.14.x_2.0.0_ga/" title="https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_4.14.x_2.0.0_ga/"&gt;GitHub - boundarydevices/linux-imx6 at boundary-imx_4.14.x_2.0.0_ga&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>Thu, 12 Mar 2020 23:31:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Enabling-spidev-on-iMX8-Solidrun-Hummingboard-Pulse/m-p/1024065#M151331</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2020-03-12T23:31:32Z</dc:date>
    </item>
  </channel>
</rss>

