This is a cache of https://discuss.96boards.org/t/gps-baud-rate-setting-issue/9380. It is a snapshot of the page at 2024-10-31T12:46:57.891+0000.
GPS baud rate setting issue - DragonBoard 820c - 96Boards Forum

GPS baud rate setting issue

I have used Teseo-Liv3F module to test GPS over BLSP2_UART5.
Application used : gpsmon
Antenna : Fractus FR-01-S4-224
The module Teseo works at Baud Rate : 9600
Is it possible to configure the baud rate at which BLSP UART is working?
The serial console and other debug channels in the board are running at 115200 baud rate.
Is this why there is no location fix obtained ?

Thanks in advance…

Which software are you running? Is the UART enabled in the device tree and showing up in the system? The UART speed can be configured in userspace, usually via the tool managing the UART. This GPS output NMEA frame, so before using a tool like gpsmon I would suggest to directly open the related tty with a terminal application like minicom, microcom or tio, e.g. tio /dev/ttySx -b9600

gpsd should automatically detect the baud rate (see GPSD FAQ ) but I agree with Loic… it would be good idea to check that the module is actually running (IIRC GPS protocol is basically the module continually shouting out packets with little or no setup by the host).

So the configuration done for UART over BLSP12 is :

blsp2_uart5_default: blsp2_uart5_default {
mux {
pins = “gpio85”, “gpio86”;
function = “blsp_uart12”;
};

            config {
                    pins = "gpio85", "gpio86";
                    drive-strength = <16>;
                    bias-disable;
            };
    }; 

gps_reset_active: gps_reset_active {
mux_rst {
pins = “gpio147”, “gpio148”;
function = “gpio”;
};
config_rst {
pins = “gpio147”, “gpio148”;
drive-strength = <16>;
bias-disable;
};
};

blsp2_uart5: uart@075b4000 {
compatible = “qcom,msm-uartdm-v1.4”, “qcom,msm-uartdm”;
reg = <0x075b4000 0x1000>;
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc gcc_BLSP2_UART6_APPS_CLK>,
<&gcc gcc_BLSP2_AHB_CLK>;
clock-names = “core”, “iface”;
pinctrl-names = “default”, “sleep”;
pinctrl-0 = <&blsp2_uart5_default &gps_reset_active>;
status = “okay”;
};

I see that it is registered as : /sys/devices/platform/soc/75b4000.uart/

The NMEA strings are obtained but no location fix.
Is there anything I missed out on ??

As the UART is configured over BLSP, I couldn’t debug on which /dev/ttySx its registered.
And thanks for the information on Baud rate settings :+1:

Hi,
I could make out that I have /dev/ttyS3 as defined in dts:
serial3 = &blsp2_uart5;

Can you suggest any way to check for NMEA prints, as there are no values being recieved at :
tio /dev/ttyS3 -b9600
Thanks in advance…

Do you have an external antenna connected? Is the antenna outside? what’s the contente of nmea strings?

The antenna FR-01-S4-224 is on the board itself, working as an passive antenna.

Uart device is:
cat /sys/bus/platform/devices/soc/75b4000.uart/uevent
OF_NAME=uart
OF_FULLNAME=/soc/uart@075b4000
OF_COMPATIBLE_0=qcom,msm-uartdm-v1.4
OF_COMPATIBLE_1=qcom,msm-uartdm
OF_COMPATIBLE_N=2
OF_ALIAS_0=serial3
MODALIAS=of:NuartTCqcom,msm-uartdm-v1.4Cqcom,msm-uartdm

The issue was reading values from :
gpsdctl add /sys/devices/platform/soc/75b4000.uart/
gpsmon

The gpsmon application itself is having error log:

tcp://localhost:2947 JSON slave driver>
(82) {“class”:“VERSION”,“release”:“3.17”,“rev”:“3.17”,“proto_major”:3,“proto_min
or”:12}
(199) {“class”:“DEVICES”,“devices”:[{“class”:“DEVICE”,“path”:"/sys/devices/platf
orm/soc/75b4000.uart/",“activated”:“2020-01-30T06:59:32.009Z”,“native”:0,“bps”:9
600,“parity”:“N”,“stopbits”:1,“cycle”:1.00}]}
(122) {“class”:“WATCH”,“enable”:true,“json”:false,“nmea”:false,“raw”:2,“scaled”:
false,“timing”:false,“split24”:false,“pps”:true}

Any suggestions on how gpsdctl can be used to add this UART device ?
Thanks in advance…

what is the output of tio /dev/ttyS3 -b9600 ? If you don’t have low level nmea going there, there is little chance higher level tools like gpsmon get better result

Output of tio /dev/ttyS3 -b9600 is :
[tio 09:21:45] tio v1.32
[tio 09:21:45] Press ctrl-t q to quit
Error: Not a tty device

I believe /sys/devices/platform/soc/75b4000.uart/ device is not registered by msm_sreial.c.
Thanks for any help on this…