From 42954b7559ad1301f19bbca26cfe3d04143a21be Mon Sep 17 00:00:00 2001 From: kaloz Date: Thu, 8 Nov 2012 05:42:31 +0000 Subject: cns3xxx: add PPS support for laguna Many Laguna products have on-board GPS with Pulse-per-second (PPS) support. This patch adds kernel support (statically) and adds the platform data in laguna board support. Signed-off-by: Tim Harvey git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34115 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'target/linux/cns3xxx/files') diff --git a/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c b/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c index 854318355e..8b611c5582 100644 --- a/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c +++ b/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -580,6 +581,22 @@ static struct platform_device laguna_watchdog = { .resource = laguna_watchdog_resources, }; +/* + * GPS PPS + */ +static struct pps_gpio_platform_data laguna_pps_data = { + .gpio_pin = 0, + .gpio_label = "GPS_PPS", + .assert_falling_edge = 0, + .capture_clear = 0, +}; + +static struct platform_device laguna_pps_device = { + .name = "pps-gpio", + .id = -1, + .dev.platform_data = &laguna_pps_data, +}; + /* * GPIO */ @@ -869,6 +886,9 @@ static int __init laguna_model_setup(void) (laguna_info.config_bitmap & SPI1_LOAD)) platform_device_register(&laguna_spi_controller); + if (laguna_info.config2_bitmap & GPS_LOAD) + platform_device_register(&laguna_pps_device); + /* * Do any model specific setup not known by the bitmap by matching * the first 6 characters of the model name -- cgit v1.2.3