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
Hi,
Please check the UART pin configuration in the dts file.
It is possible that the UART pins are configured by other node.
/Alejandro