kernel: config: add missing symbol for kenrel 6.6
[openwrt/staging/stintel.git] / target / linux / ramips / patches-5.15 / 805-pinctrl-AW9523.patch
1 From: AngeloGioacchino Del Regno
2 <angelogioacchino.delregno@somainline.org>
3 To: linus.walleij@linaro.org
4 Cc: linux-kernel@vger.kernel.org, konrad.dybcio@somainline.org,
5 marijn.suijten@somainline.org, martin.botka@somainline.org,
6 phone-devel@vger.kernel.org, linux-gpio@vger.kernel.org,
7 devicetree@vger.kernel.org, robh+dt@kernel.org,
8 AngeloGioacchino Del Regno
9 <angelogioacchino.delregno@somainline.org>
10 Subject: [PATCH v5 1/2] pinctrl: Add driver for Awinic AW9523/B I2C GPIO
11 Expander
12 Date: Mon, 25 Jan 2021 19:22:18 +0100
13
14 The Awinic AW9523(B) is a multi-function I2C gpio expander in a
15 TQFN-24L package, featuring PWM (max 37mA per pin, or total max
16 power 3.2Watts) for LED driving capability.
17
18 It has two ports with 8 pins per port (for a total of 16 pins),
19 configurable as either PWM with 1/256 stepping or GPIO input/output,
20 1.8V logic input; each GPIO can be configured as input or output
21 independently from each other.
22
23 This IC also has an internal interrupt controller, which is capable
24 of generating an interrupt for each GPIO, depending on the
25 configuration, and will raise an interrupt on the INTN pin to
26 advertise this to an external interrupt controller.
27
28 Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
29 ---
30 drivers/pinctrl/Kconfig | 17 +
31 drivers/pinctrl/Makefile | 1 +
32 drivers/pinctrl/pinctrl-aw9523.c | 1122 ++++++++++++++++++++++++++++++
33 3 files changed, 1140 insertions(+)
34 create mode 100644 drivers/pinctrl/pinctrl-aw9523.c
35
36 --- a/drivers/pinctrl/Kconfig
37 +++ b/drivers/pinctrl/Kconfig
38 @@ -111,6 +111,24 @@ config PINCTRL_AMD
39 Requires ACPI/FDT device enumeration code to set up a platform
40 device.
41
42 +config PINCTRL_AW9523
43 + bool "Awinic AW9523/AW9523B I2C GPIO expander pinctrl driver"
44 + depends on OF && I2C
45 + select PINMUX
46 + select PINCONF
47 + select GENERIC_PINCONF
48 + select GPIOLIB
49 + select GPIOLIB_IRQCHIP
50 + select REGMAP
51 + select REGMAP_I2C
52 + help
53 + The Awinic AW9523/AW9523B is a multi-function I2C GPIO
54 + expander with PWM functionality. This driver bundles a
55 + pinctrl driver to select the function muxing and a GPIO
56 + driver to handle GPIO, when the GPIO function is selected.
57 +
58 + Say yes to enable pinctrl and GPIO support for the AW9523(B).
59 +
60 config PINCTRL_BM1880
61 bool "Bitmain BM1880 Pinctrl driver"
62 depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
63 --- a/drivers/pinctrl/Makefile
64 +++ b/drivers/pinctrl/Makefile
65 @@ -14,6 +14,7 @@ obj-$(CONFIG_PINCTRL_AXP209) += pinctrl-
66 obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o
67 obj-$(CONFIG_PINCTRL_AT91PIO4) += pinctrl-at91-pio4.o
68 obj-$(CONFIG_PINCTRL_AMD) += pinctrl-amd.o
69 +obj-$(CONFIG_PINCTRL_AW9523) += pinctrl-aw9523.o
70 obj-$(CONFIG_PINCTRL_BM1880) += pinctrl-bm1880.o
71 obj-$(CONFIG_PINCTRL_DA850_PUPD) += pinctrl-da850-pupd.o
72 obj-$(CONFIG_PINCTRL_DA9062) += pinctrl-da9062.o