AnsweredAssumed Answered

Access the GPIO from SPI Driver

Question asked by satya venkata Sandeep on Feb 2, 2015

Dear Freescale,

 

 

 

I'm using the freescale IMX6SLEVK board and using the Linux kernel 3.10.17 for me development.

 

I'm trying to add the driver support for ili9163fb LCD with the reference of

https://github.com/ngreatorex/st7735fb/blob/master/st7735fb/st7735fb.c

 

I have define the GPIO's in dtsi file

 

&ecspi1 {

    fsl,spi-num-chipselects = <1>;

    cs-gpios  = <&gpio4 11 0>;

    rst-gpios = <&gpio4 10 0>;

    dc-gpios  = <&gpio3 05 0>;

 

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_ecspi1_1>;

    status = "okay";

 

    LCD: ili9163fb@0 {

        #address-cells = <1>;

        #size-cells = <1>;

        compatible = "lcd,ili9163fb";

        spi-max-frequency = <4000000>;

        reg = <0>;

    };

};

 

// pin configurations as below

 

ecspi1 {
   pinctrl_ecspi1_1: ecspigrp_lcd {
   fsl,pins = <
   MX6SL_PAD_ECSPI1_SCLK__ECSPI1_SCLK    0x004100B1
   MX6SL_PAD_ECSPI1_MOSI__ECSPI1_MOSI    0x004100B1
   MX6SL_PAD_ECSPI1_SS0__GPIO4_IO11    0x00410070
   MX6SL_PAD_ECSPI1_MISO__GPIO4_IO10    0x00410070
   MX6SL_PAD_LCD_DAT17__GPIO3_IO05   0x00410070
   >;   
   };   

    };

 

inside the  "st7735fb_probe (struct spi_device *spi)" function

1st line i.e.

int chip = spi_get_device_id(spi)->driver_data;  got executed that time kernel is crashing with various debug messages.


if I comment the 1st line and

 

if (chip != ST7735_DISPLAY_AF_TFT18) {
pr_err("%s: only the %s device is supported\n", DRVNAME,
to_spi_driver(spi->dev.driver)->id_table->name);
return -EINVAL;
}
if (!pdata) {
pr_err("%s: platform data required for rst and dc info\n",
DRVNAME);
return -EINVAL;
}

 

then it is getting execute up to

 

par = info->par;
par->info = info;
par->spi = spi;

 

And it is crashing at

 

par->rst = pdata->rst_gpio;

par->dc = pdata->dc_gpio;

 

I have attached the error log file.

 

if I comment these two line rest everything is fine but I couldn't see any signals in the CRO.

 

I am suspecting the GPIO's are not getting assigned. can you tell me how to assign & access the GPIO's.

 

 

 

Thanks & Regards,

Satya.

Original Attachment has been moved to: Error-log-file.zip

Outcomes