Skip to content

Commit

Permalink
mfd: Add support for UP board CPLD/FPGA
Browse files Browse the repository at this point in the history
The UP Squared board <http://www.upboard.com> implements certain
features (pin control, onboard LEDs or CEC) through an on-board CPLD/FPGA.

This mfd driver implements the line protocol to read and write registers
from the FPGA through regmap. The register address map is also included.

The UP Boards provide a few I/O pin headers (for both GPIO and
functions), including a 40-pin Raspberry Pi compatible header.

This patch implements support for the FPGA-based pin controller that
manages direction and enable state for those header pins.

Partial support UP boards:
* UP core + CREX
* UP core + CRST02

PATCH V2:
(1) Synchronizing upboard github to rc2
(2) Refer 2022/10/31 Lee Jones review, fixed some of the issues.

Signed-off-by: Javier Arteaga <javier@emutex.com>
[merge various fixes]
Signed-off-by: Nicola Lunghi <nicola.lunghi@emutex.com>
Signed-off-by: chengwei <larry.lai@yunjingtech.com>
  • Loading branch information
larrylaiyj authored and intel-lab-lkp committed Nov 8, 2022
1 parent 2c99184 commit 832820a
Show file tree
Hide file tree
Showing 4 changed files with 701 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/mfd/Kconfig
Expand Up @@ -2153,6 +2153,18 @@ config MFD_QCOM_PM8008
under it in the device tree. Additional drivers must be enabled in
order to use the functionality of the device.

config MFD_UPBOARD_FPGA
tristate "Support for the UP board FPGA"
select MFD_CORE
depends on X86 && ACPI
help
Select this option to enable the Intel AAEON UP and UP^2 on-board FPGA.
The UP board implements certain features (pin control, onboard LEDs or
CEC) through an on-board FPGA.

To compile this driver as a module, choose M here: the module will be
called upboard-fpga.

menu "Multimedia Capabilities Port drivers"
depends on ARCH_SA1100

Expand Down
1 change: 1 addition & 0 deletions drivers/mfd/Makefile
Expand Up @@ -251,6 +251,7 @@ obj-$(CONFIG_MFD_ALTERA_A10SR) += altera-a10sr.o
obj-$(CONFIG_MFD_ALTERA_SYSMGR) += altera-sysmgr.o
obj-$(CONFIG_MFD_STPMIC1) += stpmic1.o
obj-$(CONFIG_MFD_SUN4I_GPADC) += sun4i-gpadc.o
obj-$(CONFIG_MFD_UPBOARD_FPGA) += upboard-fpga.o

obj-$(CONFIG_MFD_STM32_LPTIMER) += stm32-lptimer.o
obj-$(CONFIG_MFD_STM32_TIMERS) += stm32-timers.o
Expand Down

0 comments on commit 832820a

Please sign in to comment.