Merge "pinctrl: qcom: Add TLMM support for Anorak platform"
This commit is contained in:
commit
dd3071da64
@ -61,6 +61,18 @@ config PINCTRL_NEO
|
||||
Say Y here to compile statically, or M here to compile it as a module.
|
||||
If unsure, say N.
|
||||
|
||||
config PINCTRL_ANORAK
|
||||
tristate "Qualcomm Technologies Inc ANORAK pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
select PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
Qualcomm Technologies Inc Top Level Mode Multiplexer block (TLMM)
|
||||
block found on the Qualcomm Technologies Inc ANORAK platforms.
|
||||
This driver could also be used for a target supporting secondary VM.
|
||||
Say Y here to compile statically, or M here to compile it as a module.
|
||||
If unsure, say N.
|
||||
|
||||
config PINCTRL_WAIPIO
|
||||
tristate "Qualcomm Technologies Inc WAIPIO pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
|
@ -5,6 +5,7 @@ obj-$(CONFIG_PINCTRL_LAHAINA) += pinctrl-lahaina.o
|
||||
obj-$(CONFIG_PINCTRL_SHIMA) += pinctrl-shima.o
|
||||
obj-$(CONFIG_PINCTRL_HOLI) += pinctrl-holi.o
|
||||
obj-$(CONFIG_PINCTRL_NEO) += pinctrl-neo.o
|
||||
obj-$(CONFIG_PINCTRL_ANORAK) += pinctrl-anorak.o
|
||||
obj-$(CONFIG_PINCTRL_WAIPIO) += pinctrl-waipio.o
|
||||
obj-$(CONFIG_PINCTRL_DIWALI) += pinctrl-diwali.o
|
||||
obj-$(CONFIG_PINCTRL_CAPE) += pinctrl-cape.o
|
||||
|
59
drivers/pinctrl/qcom/pinctrl-anorak.c
Normal file
59
drivers/pinctrl/qcom/pinctrl-anorak.c
Normal file
@ -0,0 +1,59 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/pinctrl/pinctrl.h>
|
||||
|
||||
#include "pinctrl-msm.h"
|
||||
#include "pinctrl-anorak.h"
|
||||
|
||||
static const struct msm_pinctrl_soc_data anorak_pinctrl = {
|
||||
.pins = anorak_pins,
|
||||
.npins = ARRAY_SIZE(anorak_pins),
|
||||
.functions = anorak_functions,
|
||||
.nfunctions = ARRAY_SIZE(anorak_functions),
|
||||
.groups = anorak_groups,
|
||||
.ngroups = ARRAY_SIZE(anorak_groups),
|
||||
.ngpios = 225,
|
||||
.qup_regs = anorak_qup_regs,
|
||||
.nqup_regs = ARRAY_SIZE(anorak_qup_regs),
|
||||
};
|
||||
|
||||
static int anorak_pinctrl_probe(struct platform_device *pdev)
|
||||
{
|
||||
return msm_pinctrl_probe(pdev, &anorak_pinctrl);
|
||||
}
|
||||
|
||||
static const struct of_device_id anorak_pinctrl_of_match[] = {
|
||||
{ .compatible = "qcom,anorak-pinctrl", },
|
||||
{ },
|
||||
};
|
||||
|
||||
static struct platform_driver anorak_pinctrl_driver = {
|
||||
.driver = {
|
||||
.name = "anorak-pinctrl",
|
||||
.of_match_table = anorak_pinctrl_of_match,
|
||||
},
|
||||
.probe = anorak_pinctrl_probe,
|
||||
.remove = msm_pinctrl_remove,
|
||||
};
|
||||
|
||||
static int __init anorak_pinctrl_init(void)
|
||||
{
|
||||
return platform_driver_register(&anorak_pinctrl_driver);
|
||||
}
|
||||
arch_initcall(anorak_pinctrl_init);
|
||||
|
||||
static void __exit anorak_pinctrl_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&anorak_pinctrl_driver);
|
||||
}
|
||||
module_exit(anorak_pinctrl_exit);
|
||||
|
||||
MODULE_DESCRIPTION("QTI anorak pinctrl driver");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
MODULE_DEVICE_TABLE(of, anorak_pinctrl_of_match);
|
1920
drivers/pinctrl/qcom/pinctrl-anorak.h
Normal file
1920
drivers/pinctrl/qcom/pinctrl-anorak.h
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user