1c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko/* 2c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * Intel Low Power Subsystem PWM controller driver 3c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * 4c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * Copyright (C) 2014, Intel Corporation 5c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * 6c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * Derived from the original pwm-lpss.c 7c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * 8c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * This program is free software; you can redistribute it and/or modify 9c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * it under the terms of the GNU General Public License version 2 as 10c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko * published by the Free Software Foundation. 11c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko */ 12c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko 13c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko#ifndef __PWM_LPSS_H 14c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko#define __PWM_LPSS_H 15c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko 16c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko#include <linux/device.h> 17c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko#include <linux/pwm.h> 18c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko 19c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenkostruct pwm_lpss_chip; 20c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko 21c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenkostruct pwm_lpss_boardinfo { 22c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko unsigned long clk_rate; 23c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko}; 24c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko 25c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenkoextern const struct pwm_lpss_boardinfo pwm_lpss_byt_info; 26c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenkoextern const struct pwm_lpss_boardinfo pwm_lpss_bsw_info; 27c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko 28c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenkostruct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r, 29c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko const struct pwm_lpss_boardinfo *info); 30c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenkoint pwm_lpss_remove(struct pwm_lpss_chip *lpwm); 31c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko 32c558e39e14c2372394f49e07fbe94e9708b615cbAndy Shevchenko#endif /* __PWM_LPSS_H */ 33