AnsweredAssumed Answered

GPS not working in Linux 3.14.52 and SABRESDP DL

Question asked by Misbah Khan on Mar 1, 2016
Latest reply on Mar 1, 2016 by alejandrolozano

Hi All,

I am using SABRESDP i.MX6 Duel lite board and linux 3.14.52

 

The GPS is connected to uart 3. I did the pin mux configuration in the boot loader and enabled the UART 3 driver in the device tree as :

 

Called in the bootlaoder late init function :

 

static void gps_setup(void)

{

 

 

        printf(" #### Starting GPS setup #### \n");

        /* EIM_DA00 - GPS_PWREN */

        imx_iomux_v3_setup_pad(MX6_PAD_EIM_DA0__GPIO3_IO00 |

                                MUX_PAD_CTRL(SPI_PAD_CTRL));

        /* Set as input */

        gpio_direction_output(IMX_GPIO_NR(3, 0),1);

        gpio_set_value(IMX_GPIO_NR(3, 0), 1);

 

 

        /* EIM_DA18 - GPS_PPS */

        imx_iomux_v3_setup_pad(MX6_PAD_EIM_D18__GPIO3_IO18 |

                                MUX_PAD_CTRL(UART_PAD_CTRL));

        /* Set as input */

        gpio_direction_input(IMX_GPIO_NR(3, 18));

 

 

        /* EIM_EB0 - GPS_RESET */

        imx_iomux_v3_setup_pad(MX6_PAD_EIM_EB0__GPIO2_IO28 |

                                MUX_PAD_CTRL(SPI_PAD_CTRL));

        /* Set as input */

        gpio_direction_output(IMX_GPIO_NR(2, 28),1);

        gpio_set_value(IMX_GPIO_NR(2, 28), 1);

 

 

        /* EIM_D24 - uart_tx */

        imx_iomux_v3_setup_pad(MX6_PAD_EIM_D24__UART3_TX_DATA |

                                MUX_PAD_CTRL(UART_PAD_CTRL));

 

 

        /* EIM_D25 - uart_rx */

        imx_iomux_v3_setup_pad(MX6_PAD_EIM_D25__UART3_RX_DATA |

                                MUX_PAD_CTRL(UART_PAD_CTRL));

 

 

        // Reset GPS

        printf(" Reset the GPS here \n");

        mdelay(1000);

        gpio_set_value(IMX_GPIO_NR(2, 28), 0);

        mdelay(1000);

        gpio_set_value(IMX_GPIO_NR(2, 28), 1);

        printf(" Reset of gps done \n");

}

 

I enabled the uart3 in the imx6dl-sabresd.dts file and made the vgen1 to generate 1.5 v

 

checked with the oscilloscope and make sure that all supply voltages for the GPS module, including the 3.15V VCC voltage on the pin 11, 1.5V V_BCKP voltage on the pin 5 and 3.15V antenna supply voltage on the RF connector are in place.

 

Then, during initial power-up, cycle (assert and then de-assert back) the GPS_RESET_B signal for at least 1s in the bootloader.

 

There is nothing i could see on the uart port 3 when i do the following :

cat /dev/ttymxc2

 

echo "0xAA 0x6A" > /dev/ttymxc2

 

cat /dev/ttymcx2

 

 

Please guide me to use GPS "AH1613" using linux over SABRESDP board.

 

--- Misbah

Outcomes