GPSD One PPS

I am setting up an NTP server using a BBB and an NMEA-compatible GPS device. I have wired up the GPS serial port to UART5 and the GPS 1 PPS output to both a GPIO pin and UART5_CTS. I have successfully configured everything to use kernel-level events for the 1 PPS via the GPIO pin, but not via the CTS pin. GPSD can see that the CTS line is toggling, but since the kernel is not detecting these events, GPSD falls back to a less accurate measurement.

Question: What are the necessary settings to make UART5_CTS generate kernel PPS events?

Thanks in advance for any assistance.

RCN kernel Linux bb-sdcard 3.8.13-bone59 #1 SMP Sat Jul 5 02:59:43 UTC 2014 armv7l armv7l armv7l GNU/Linux

NTPD version 4.2.7p454
GPSD version 3.10

Relevant DTS sections:

`
fragment@40 {

`
target = <&am33xx_pinmux>;
overlay {
pinctrl_pps: pinctrl_pps_pins {
pinctrl-single,pins = <
0x0C8 0x27 // P8.36 uart3_cts INPUT PULLDN MODE7

;
};
};
};

fragment@41 {
target = <&am33xx_pinmux>;
overlay {
pinctrl_uart5: pinctrl_uart5_pins {
pinctrl-single,pins = <
0x0D8 0x36 // P8.31 uart5_cts INPUT PULLUP MODE6
//0x0DC 0x16 // P8.32 uart5_rts OUTPUT PULLUP MODE6
0x0C0 0x04 // P8.37 uart5_txd OUTPUT PULLDN MODE4
0x0C4 0x24 // P8.38 uart5_rxd INPUT PULLDN MODE4

;
};
};
};

fragment@42 {
target = <&ocp>;
overlay {
#address-cells = <1>;
#size-cells = <1>;
pps {
compatible = “pps-gpio”;
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_pps>;
status = “okay”;
gpios = <&gpio3 16 0>; // Linux GPIO enumeration is +1 from chip number
assert-rising-edge;
};
};
};

fragment@43 {
target = <&uart6>; //Linux enumeration is +1 from chip number
overlay {
status = “okay”;
};
};

fragment@44 {
target = <&ocp>;
overlay {
uart5_helper {
compatible = “bone-pinmux-helper”;
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_uart5>;
status = “okay”;
};
};
};

Syslog messages showing PPS registration:

`

Aug 4 20:42:37 bb-sdcard kernel: [ 0.141178] pps_core: LinuxPPS API ver. 1 registered