From 1f44d4748e01d9c4914295c5ba923487618e81fd Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 20 Sep 2016 18:28:25 -0500 Subject: PPS Driver Patch to handle both edges of the PPS signal. --- .../linux/linux-3.12.27/linux-3.12-pps-gpio.patch | 31 ++++++++++++++++++++++ .../mtcdt/linux-3.12-mtcdt-device-tree.patch | 5 ++-- recipes-kernel/linux/linux_3.12.27.bb | 12 ++------- 3 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 recipes-kernel/linux/linux-3.12.27/linux-3.12-pps-gpio.patch diff --git a/recipes-kernel/linux/linux-3.12.27/linux-3.12-pps-gpio.patch b/recipes-kernel/linux/linux-3.12.27/linux-3.12-pps-gpio.patch new file mode 100644 index 0000000..554b53f --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/linux-3.12-pps-gpio.patch @@ -0,0 +1,31 @@ +diff -uprN old/Documentation/devicetree/bindings/pps/pps-gpio.txt new/Documentation/devicetree/bindings/pps/pps-gpio.txt +--- old/Documentation/devicetree/bindings/pps/pps-gpio.txt 2016-09-19 09:51:11.271472335 -0500 ++++ new/Documentation/devicetree/bindings/pps/pps-gpio.txt 2016-09-19 09:49:27.283474197 -0500 +@@ -17,4 +17,5 @@ Example: + gpios = <&gpio2 6 0>; + + assert-falling-edge; ++ capture-clear; + }; +diff -uprN old/drivers/pps/clients/pps-gpio.c new/drivers/pps/clients/pps-gpio.c +--- old/drivers/pps/clients/pps-gpio.c 2016-09-19 09:51:11.271472335 -0500 ++++ new/drivers/pps/clients/pps-gpio.c 2016-09-19 17:09:02.367001869 -0500 +@@ -119,6 +119,8 @@ static int pps_gpio_probe(struct platfor + + if (of_get_property(np, "assert-falling-edge", NULL)) + data->assert_falling_edge = true; ++ if (of_get_property(np, "capture-clear", NULL)) ++ data->capture_clear = true; + } + + /* GPIO setup */ +@@ -208,6 +210,8 @@ static struct platform_driver pps_gpio_d + module_platform_driver(pps_gpio_driver); + MODULE_AUTHOR("Ricardo Martins "); + MODULE_AUTHOR("James Nuss "); ++MODULE_AUTHOR("Gary Miller "); ++ + MODULE_DESCRIPTION("Use GPIO pin as PPS source"); + MODULE_LICENSE("GPL"); +-MODULE_VERSION("1.0.0"); ++MODULE_VERSION("1.0.1"); diff --git a/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch b/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch index aa96655..bea818d 100644 --- a/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch +++ b/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch @@ -1,8 +1,8 @@ Index: linux-3.12.27/arch/arm/boot/dts/mtcdt.dts =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.12.27/arch/arm/boot/dts/mtcdt.dts 2015-01-13 13:58:20.766078428 -0600 -@@ -0,0 +1,278 @@ ++++ linux-3.12.27/arch/arm/boot/dts/mtcdt.dts 2016-09-19 15:34:25.111103538 -0500 +@@ -0,0 +1,279 @@ +/* + * DTS file for Multi-Tech Systems MTCDT Hardware + */ @@ -248,6 +248,7 @@ Index: linux-3.12.27/arch/arm/boot/dts/mtcdt.dts + pps { + compatible = "pps-gpio"; + gpios = <&pioA 29 0>; ++ capture-clear; + }; + + diff --git a/recipes-kernel/linux/linux_3.12.27.bb b/recipes-kernel/linux/linux_3.12.27.bb index dbd6e08..42d1171 100644 --- a/recipes-kernel/linux/linux_3.12.27.bb +++ b/recipes-kernel/linux/linux_3.12.27.bb @@ -25,6 +25,7 @@ COMMON_PATCHES = " \ file://linux-3.12-release-rfcomm-port-fix.patch \ file://linux-3.12-spi-atmel-dma-min.patch \ file://linux-3.12.27-USB-option-reduce-interrupt-urb-logging-verbosity.patch \ + file://linux-3.12-pps-gpio.patch \ " SRC_URI_append_mtcdt = "\ @@ -35,20 +36,11 @@ SRC_URI_append_mtcdt = "\ file://linux-3.12-add-num_accessory_ports-config-option.patch \ " -SRC_URI_append_mtp = "\ - ${COMMON_PATCHES} \ - file://defconfig \ - file://linux-3.12-eeprom-setup-mtcdt.patch \ - file://linux-3.12-mtp-device-tree.patch \ - file://linux-3.12-add-num_accessory_ports-config-option.patch \ - " - SRC_URI[md5sum] = "2f05332bfca89ae1348ae454af2f5ffb" SRC_URI[sha256sum] = "2014c55257dda311779359d6b42931079a687c154777cc528c44e25f262194cd" -COMPATIBLE_MACHINE = "(mtcdt|mtp)" +COMPATIBLE_MACHINE = "(mtcdt)" DTB_APPEND_mtcdt = "mtcdt" -DTB_APPEND_mtp = "mtp" # disable this on purpose for dev purposes do_rm_work() { -- cgit v1.2.3