<?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>topic Access the GPIO from SPI Driver in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Access-the-GPIO-from-SPI-Driver/m-p/339484#M46422</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Freescale,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using the freescale IMX6SLEVK board and using the Linux kernel 3.10.17 for me development. &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to add the driver support for ili9163fb LCD with the reference of &lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2Fngreatorex%2Fst7735fb%2Fblob%2Fmaster%2Fst7735fb%2Fst7735fb.c" rel="nofollow" target="_blank"&gt;https://github.com/ngreatorex/st7735fb/blob/master/st7735fb/st7735fb.c&lt;/A&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have define the GPIO's in dtsi file &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi1 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cs-gpios&amp;nbsp; = &amp;lt;&amp;amp;gpio4 11 0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rst-gpios = &amp;lt;&amp;amp;gpio4 10 0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dc-gpios&amp;nbsp; = &amp;lt;&amp;amp;gpio3 05 0&amp;gt;;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi1_1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "okay";&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD: ili9163fb@0 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #address-cells = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #size-cells = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "lcd,ili9163fb";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi-max-frequency = &amp;lt;4000000&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// pin configurations as below&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;ecspi1 {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt; pinctrl_ecspi1_1: ecspigrp_lcd {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; fsl,pins = &amp;lt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_SCLK__ECSPI1_SCLK&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x004100B1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_MOSI__ECSPI1_MOSI&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x004100B1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_SS0__GPIO4_IO11&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00410070&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_MISO__GPIO4_IO10&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00410070&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_LCD_DAT17__GPIO3_IO05&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt; 0x00410070&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; &amp;gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt; };&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;inside the&amp;nbsp; "&lt;SPAN class="pl-en"&gt;st7735fb_probe&lt;/SPAN&gt; (&lt;SPAN class="pl-st"&gt;struct&lt;/SPAN&gt; spi_device *spi)" function &lt;/P&gt;&lt;P&gt;&lt;SPAN class="pl-st"&gt;1st line i.e. &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="pl-st"&gt;int&lt;/SPAN&gt; chip = &lt;SPAN class="pl-s3"&gt;spi_get_device_id&lt;/SPAN&gt;(spi)-&amp;gt;driver_data;&amp;nbsp; got executed that time kernel is crashing with various debug messages.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;if I comment the 1st line and&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE class="js-file-line-container highlight tab-size-8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;if&lt;/SPAN&gt; (chip != ST7735_DISPLAY_AF_TFT18) {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-s3"&gt;pr_err&lt;/SPAN&gt;(&lt;SPAN class="pl-s1"&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;%s&lt;/SPAN&gt;: only the &lt;SPAN class="pl-c1"&gt;%s&lt;/SPAN&gt; device is supported&lt;SPAN class="pl-cce"&gt;\n&lt;/SPAN&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;, DRVNAME,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-s3"&gt;to_spi_driver&lt;/SPAN&gt;(spi-&amp;gt;dev.&lt;SPAN class="pl-vo"&gt;driver&lt;/SPAN&gt;)-&amp;gt;id_table-&amp;gt;name);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;return&lt;/SPAN&gt; -EINVAL;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;if&lt;/SPAN&gt; (!pdata) {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-s3"&gt;pr_err&lt;/SPAN&gt;(&lt;SPAN class="pl-s1"&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;%s&lt;/SPAN&gt;: platform data required for rst and dc info&lt;SPAN class="pl-cce"&gt;\n&lt;/SPAN&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;DRVNAME);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;return&lt;/SPAN&gt; -EINVAL;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;then it is getting execute up to &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE class="js-file-line-container highlight tab-size-8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;par = info-&amp;gt;par;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;par-&amp;gt;info = info;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;par-&amp;gt;spi = spi;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And it is crashing at &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;par-&amp;gt;rst = pdata-&amp;gt;rst_gpio; &lt;/P&gt;&lt;P&gt;par-&amp;gt;dc = pdata-&amp;gt;dc_gpio;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have attached the error log file.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if I comment these two line rest everything is fine but I couldn't see any signals in the CRO.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am suspecting the GPIO's are not getting assigned. can you tell me how to assign &amp;amp; access the GPIO's. &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Satya.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336338"&gt;Error-log-file.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Feb 2015 10:03:39 GMT</pubDate>
    <dc:creator>satyavenkatasan</dc:creator>
    <dc:date>2015-02-02T10:03:39Z</dc:date>
    <item>
      <title>Access the GPIO from SPI Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Access-the-GPIO-from-SPI-Driver/m-p/339484#M46422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Freescale,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using the freescale IMX6SLEVK board and using the Linux kernel 3.10.17 for me development. &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to add the driver support for ili9163fb LCD with the reference of &lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2Fngreatorex%2Fst7735fb%2Fblob%2Fmaster%2Fst7735fb%2Fst7735fb.c" rel="nofollow" target="_blank"&gt;https://github.com/ngreatorex/st7735fb/blob/master/st7735fb/st7735fb.c&lt;/A&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have define the GPIO's in dtsi file &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi1 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cs-gpios&amp;nbsp; = &amp;lt;&amp;amp;gpio4 11 0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rst-gpios = &amp;lt;&amp;amp;gpio4 10 0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dc-gpios&amp;nbsp; = &amp;lt;&amp;amp;gpio3 05 0&amp;gt;;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi1_1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "okay";&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD: ili9163fb@0 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #address-cells = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #size-cells = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "lcd,ili9163fb";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi-max-frequency = &amp;lt;4000000&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// pin configurations as below&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;ecspi1 {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt; pinctrl_ecspi1_1: ecspigrp_lcd {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; fsl,pins = &amp;lt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_SCLK__ECSPI1_SCLK&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x004100B1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_MOSI__ECSPI1_MOSI&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x004100B1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_SS0__GPIO4_IO11&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00410070&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_ECSPI1_MISO__GPIO4_IO10&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00410070&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; MX6SL_PAD_LCD_DAT17__GPIO3_IO05&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt; 0x00410070&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; &amp;gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt; };&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;inside the&amp;nbsp; "&lt;SPAN class="pl-en"&gt;st7735fb_probe&lt;/SPAN&gt; (&lt;SPAN class="pl-st"&gt;struct&lt;/SPAN&gt; spi_device *spi)" function &lt;/P&gt;&lt;P&gt;&lt;SPAN class="pl-st"&gt;1st line i.e. &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="pl-st"&gt;int&lt;/SPAN&gt; chip = &lt;SPAN class="pl-s3"&gt;spi_get_device_id&lt;/SPAN&gt;(spi)-&amp;gt;driver_data;&amp;nbsp; got executed that time kernel is crashing with various debug messages.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;if I comment the 1st line and&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE class="js-file-line-container highlight tab-size-8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;if&lt;/SPAN&gt; (chip != ST7735_DISPLAY_AF_TFT18) {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-s3"&gt;pr_err&lt;/SPAN&gt;(&lt;SPAN class="pl-s1"&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;%s&lt;/SPAN&gt;: only the &lt;SPAN class="pl-c1"&gt;%s&lt;/SPAN&gt; device is supported&lt;SPAN class="pl-cce"&gt;\n&lt;/SPAN&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;, DRVNAME,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-s3"&gt;to_spi_driver&lt;/SPAN&gt;(spi-&amp;gt;dev.&lt;SPAN class="pl-vo"&gt;driver&lt;/SPAN&gt;)-&amp;gt;id_table-&amp;gt;name);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;return&lt;/SPAN&gt; -EINVAL;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;if&lt;/SPAN&gt; (!pdata) {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-s3"&gt;pr_err&lt;/SPAN&gt;(&lt;SPAN class="pl-s1"&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;%s&lt;/SPAN&gt;: platform data required for rst and dc info&lt;SPAN class="pl-cce"&gt;\n&lt;/SPAN&gt;&lt;SPAN class="pl-pds"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;DRVNAME);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;&lt;SPAN class="pl-k"&gt;return&lt;/SPAN&gt; -EINVAL;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;then it is getting execute up to &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE class="js-file-line-container highlight tab-size-8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;par = info-&amp;gt;par;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;par-&amp;gt;info = info;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="blob-code js-file-line" style=""&gt;par-&amp;gt;spi = spi;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And it is crashing at &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;par-&amp;gt;rst = pdata-&amp;gt;rst_gpio; &lt;/P&gt;&lt;P&gt;par-&amp;gt;dc = pdata-&amp;gt;dc_gpio;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have attached the error log file.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if I comment these two line rest everything is fine but I couldn't see any signals in the CRO.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am suspecting the GPIO's are not getting assigned. can you tell me how to assign &amp;amp; access the GPIO's. &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Satya.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336338"&gt;Error-log-file.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Feb 2015 10:03:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Access-the-GPIO-from-SPI-Driver/m-p/339484#M46422</guid>
      <dc:creator>satyavenkatasan</dc:creator>
      <dc:date>2015-02-02T10:03:39Z</dc:date>
    </item>
    <item>
      <title>Re: Access the GPIO from SPI Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Access-the-GPIO-from-SPI-Driver/m-p/339485#M46423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can get the gpios from the dtb using of_get_named_gpio&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; pwn_gpio = of_get_named_gpio(dev-&amp;gt;of_node, "pwn-gpios", 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The returned value is an integer. And I assume that pdata-&amp;gt;rst_gpio and pdata-&amp;gt;dc_gpio are intengers. If so, you can do something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pdata-&amp;gt;rst_gpio = of_get_named_gpio(dev-&amp;gt;of_node, "rst-gpios", 0); &lt;/P&gt;&lt;P&gt;pdata-&amp;gt;dc_gpio = of_get_named_gpio(dev-&amp;gt;of_node, "dc-gpios", 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I am not sure but&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rst-gpios = &amp;lt;&amp;amp;gpio4 10 0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dc-gpios&amp;nbsp; = &amp;lt;&amp;amp;gpio3 05 0&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;should be in the LCD node.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope that helps,&lt;/P&gt;&lt;P&gt;Alejandro&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Feb 2015 22:07:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Access-the-GPIO-from-SPI-Driver/m-p/339485#M46423</guid>
      <dc:creator>alejandrolozan1</dc:creator>
      <dc:date>2015-02-06T22:07:22Z</dc:date>
    </item>
  </channel>
</rss>

