mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
pinctrl: airoha: add support of en7528 SoC
The EcoNet EN7528 MIPS SoC uses the same pin controller and GPIO IP as the Airoha SoCs, so it can reuse the shared driver code. Its register layout differs from every existing variant though: all IOMUX mode bits live in a single CHIP SCU register (RG_PON_I2C_MODE at 0x15c) plus the spill-over bits in IOMUX Control 3 (0x224), EJTAG has its own enable register at 0x1ac, the LED mapping registers sit at 0x1b0/0x1b4 and all pin configuration registers are at different offsets than on EN7523. Pin numbering follows the GPIO line numbering, so pins 0-41 map to GPIO0-GPIO41. Pins 42-49 are the standalone I2C/UART/SPI pads, which have no GPIO function and are only referenced by the pinconf tables. Only GPIO0-GPIO15 are wired to the interrupt controller, so num_irq_pins is 16. EN7528 has no PCIe reset open drain register, so AIROHA_PINCTRL_CONFS_PCIE_RST_OD is left empty and PIN_CONFIG_DRIVE_OPEN_DRAIN is rejected for all pins. Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu> Signed-off-by: Ahmed Naseef <naseefkm@gmail.com> Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
parent
ce80938eca
commit
0619b18afa
|
|
@ -1,11 +1,11 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
menu "Airoha pinctrl drivers"
|
||||
depends on ARCH_AIROHA || COMPILE_TEST
|
||||
depends on ARCH_AIROHA || ECONET || COMPILE_TEST
|
||||
|
||||
config PINCTRL_AIROHA
|
||||
tristate "Airoha pin control"
|
||||
depends on OF
|
||||
depends on ARCH_AIROHA || COMPILE_TEST
|
||||
depends on ARCH_AIROHA || ECONET || COMPILE_TEST
|
||||
select PINMUX
|
||||
select GENERIC_PINCONF
|
||||
select GENERIC_PINCTRL_GROUPS
|
||||
|
|
@ -17,6 +17,7 @@ config PINCTRL_AIROHA
|
|||
imply PINCTRL_AIROHA_AN7581
|
||||
imply PINCTRL_AIROHA_AN7583
|
||||
imply PINCTRL_AIROHA_EN7523
|
||||
imply PINCTRL_AIROHA_EN7528
|
||||
help
|
||||
Shared pin controller and gpio driver code for different
|
||||
Airoha SoCs.
|
||||
|
|
@ -53,4 +54,14 @@ config PINCTRL_AIROHA_EN7523
|
|||
Say yes here to support pin controller and gpio driver
|
||||
on Airoha EN7523, EN7529, EN7562 and other compatible SoCs.
|
||||
|
||||
config PINCTRL_AIROHA_EN7528
|
||||
tristate "EN7528 pinctrl"
|
||||
depends on ECONET || COMPILE_TEST
|
||||
depends on PINCTRL_AIROHA
|
||||
help
|
||||
Say yes here to support pin controller and gpio driver
|
||||
on EcoNet EN7528 and other compatible SoCs. Unlike the
|
||||
other variants, only the first sixteen GPIOs of this SoC
|
||||
are wired to the interrupt controller.
|
||||
|
||||
endmenu
|
||||
|
|
|
|||
|
|
@ -8,3 +8,4 @@ obj-$(CONFIG_PINCTRL_AIROHA_AN7563) += pinctrl-an7563.o
|
|||
obj-$(CONFIG_PINCTRL_AIROHA_AN7581) += pinctrl-an7581.o
|
||||
obj-$(CONFIG_PINCTRL_AIROHA_AN7583) += pinctrl-an7583.o
|
||||
obj-$(CONFIG_PINCTRL_AIROHA_EN7523) += pinctrl-en7523.o
|
||||
obj-$(CONFIG_PINCTRL_AIROHA_EN7528) += pinctrl-en7528.o
|
||||
|
|
|
|||
1204
drivers/pinctrl/airoha/pinctrl-en7528.c
Normal file
1204
drivers/pinctrl/airoha/pinctrl-en7528.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user