mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-18 12:46:50 +00:00
pwm: lpss: Support all four PWMs on Intel Broxton
Intel Broxton has similar PWM than Intel Braswell but instead of one it has four PWMs included in one PCI/ACPI device. This patch adds support for all the four PWMs and changes the PCI part of the driver to use 'pwm_lpss_bxt_info' instead. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
parent
4e11f5acb2
commit
87219cb47e
3 changed files with 10 additions and 2 deletions
|
|
@ -44,10 +44,10 @@ static void pwm_lpss_remove_pci(struct pci_dev *pdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct pci_device_id pwm_lpss_pci_ids[] = {
|
static const struct pci_device_id pwm_lpss_pci_ids[] = {
|
||||||
{ PCI_VDEVICE(INTEL, 0x0ac8), (unsigned long)&pwm_lpss_bsw_info},
|
{ PCI_VDEVICE(INTEL, 0x0ac8), (unsigned long)&pwm_lpss_bxt_info},
|
||||||
{ PCI_VDEVICE(INTEL, 0x0f08), (unsigned long)&pwm_lpss_byt_info},
|
{ PCI_VDEVICE(INTEL, 0x0f08), (unsigned long)&pwm_lpss_byt_info},
|
||||||
{ PCI_VDEVICE(INTEL, 0x0f09), (unsigned long)&pwm_lpss_byt_info},
|
{ PCI_VDEVICE(INTEL, 0x0f09), (unsigned long)&pwm_lpss_byt_info},
|
||||||
{ PCI_VDEVICE(INTEL, 0x1ac8), (unsigned long)&pwm_lpss_bsw_info},
|
{ PCI_VDEVICE(INTEL, 0x1ac8), (unsigned long)&pwm_lpss_bxt_info},
|
||||||
{ PCI_VDEVICE(INTEL, 0x2288), (unsigned long)&pwm_lpss_bsw_info},
|
{ PCI_VDEVICE(INTEL, 0x2288), (unsigned long)&pwm_lpss_bsw_info},
|
||||||
{ PCI_VDEVICE(INTEL, 0x2289), (unsigned long)&pwm_lpss_bsw_info},
|
{ PCI_VDEVICE(INTEL, 0x2289), (unsigned long)&pwm_lpss_bsw_info},
|
||||||
{ },
|
{ },
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,13 @@ const struct pwm_lpss_boardinfo pwm_lpss_bsw_info = {
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(pwm_lpss_bsw_info);
|
EXPORT_SYMBOL_GPL(pwm_lpss_bsw_info);
|
||||||
|
|
||||||
|
/* Broxton */
|
||||||
|
const struct pwm_lpss_boardinfo pwm_lpss_bxt_info = {
|
||||||
|
.clk_rate = 19200000,
|
||||||
|
.npwm = 4,
|
||||||
|
};
|
||||||
|
EXPORT_SYMBOL_GPL(pwm_lpss_bxt_info);
|
||||||
|
|
||||||
static inline struct pwm_lpss_chip *to_lpwm(struct pwm_chip *chip)
|
static inline struct pwm_lpss_chip *to_lpwm(struct pwm_chip *chip)
|
||||||
{
|
{
|
||||||
return container_of(chip, struct pwm_lpss_chip, chip);
|
return container_of(chip, struct pwm_lpss_chip, chip);
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ struct pwm_lpss_boardinfo {
|
||||||
|
|
||||||
extern const struct pwm_lpss_boardinfo pwm_lpss_byt_info;
|
extern const struct pwm_lpss_boardinfo pwm_lpss_byt_info;
|
||||||
extern const struct pwm_lpss_boardinfo pwm_lpss_bsw_info;
|
extern const struct pwm_lpss_boardinfo pwm_lpss_bsw_info;
|
||||||
|
extern const struct pwm_lpss_boardinfo pwm_lpss_bxt_info;
|
||||||
|
|
||||||
struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
|
struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
|
||||||
const struct pwm_lpss_boardinfo *info);
|
const struct pwm_lpss_boardinfo *info);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue