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 <tharvey@gateworks.com> SVN-Revision: 34115
This commit is contained in:
		| @@ -131,6 +131,7 @@ CONFIG_NEED_DMA_MAP_STATE=y | |||||||
| CONFIG_NET_VENDOR_CAVIUM=y | CONFIG_NET_VENDOR_CAVIUM=y | ||||||
| CONFIG_NLS=y | CONFIG_NLS=y | ||||||
| CONFIG_NR_CPUS=2 | CONFIG_NR_CPUS=2 | ||||||
|  | CONFIG_NTP_PPS=y | ||||||
| CONFIG_OUTER_CACHE=y | CONFIG_OUTER_CACHE=y | ||||||
| CONFIG_OUTER_CACHE_SYNC=y | CONFIG_OUTER_CACHE_SYNC=y | ||||||
| CONFIG_PAGEFLAGS_EXTENDED=y | CONFIG_PAGEFLAGS_EXTENDED=y | ||||||
| @@ -143,7 +144,13 @@ CONFIG_PHYLIB=y | |||||||
| CONFIG_PL310_ERRATA_588369=y | CONFIG_PL310_ERRATA_588369=y | ||||||
| CONFIG_PL310_ERRATA_727915=y | CONFIG_PL310_ERRATA_727915=y | ||||||
| CONFIG_PL310_ERRATA_769419=y | CONFIG_PL310_ERRATA_769419=y | ||||||
|  | CONFIG_PPS=y | ||||||
|  | CONFIG_PPS_CLIENT_GPIO=y | ||||||
|  | # CONFIG_PPS_CLIENT_KTIMER is not set | ||||||
|  | # CONFIG_PPS_CLIENT_LDISC is not set | ||||||
|  | # CONFIG_PPS_DEBUG is not set | ||||||
| # CONFIG_PREEMPT_RCU is not set | # CONFIG_PREEMPT_RCU is not set | ||||||
|  | # CONFIG_PTP_1588_CLOCK is not set | ||||||
| CONFIG_RAID_ATTRS=y | CONFIG_RAID_ATTRS=y | ||||||
| CONFIG_RFS_ACCEL=y | CONFIG_RFS_ACCEL=y | ||||||
| CONFIG_RPS=y | CONFIG_RPS=y | ||||||
|   | |||||||
| @@ -36,6 +36,7 @@ | |||||||
| #include <linux/spi/spi.h> | #include <linux/spi/spi.h> | ||||||
| #include <linux/spi/flash.h> | #include <linux/spi/flash.h> | ||||||
| #include <linux/if_ether.h> | #include <linux/if_ether.h> | ||||||
|  | #include <linux/pps-gpio.h> | ||||||
| #include <asm/setup.h> | #include <asm/setup.h> | ||||||
| #include <asm/mach-types.h> | #include <asm/mach-types.h> | ||||||
| #include <asm/mach/arch.h> | #include <asm/mach/arch.h> | ||||||
| @@ -580,6 +581,22 @@ static struct platform_device laguna_watchdog = { | |||||||
| 	.resource	= laguna_watchdog_resources, | 	.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 |  * GPIO | ||||||
|  */ |  */ | ||||||
| @@ -869,6 +886,9 @@ static int __init laguna_model_setup(void) | |||||||
| 		    (laguna_info.config_bitmap & SPI1_LOAD)) | 		    (laguna_info.config_bitmap & SPI1_LOAD)) | ||||||
| 			platform_device_register(&laguna_spi_controller); | 			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 | 		 * Do any model specific setup not known by the bitmap by matching | ||||||
| 		 *  the first 6 characters of the model name | 		 *  the first 6 characters of the model name | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Imre Kaloz
					Imre Kaloz