zephyr/drivers/gpio
Daniel Leung 7295c19893 gpio: intel: fix reg address for Apollo Lake
On Apollo Lake, each GPIO controller has more than 32 pins.
But Zephyr API can only manipulate 32 pins per controller.
So the workaround is to divide each hardware GPIO controller
into 32-pin blocks so each block has a GPIO driver instance.
Compounding to the issue is that there cannot be two device
tree nodes with same register address. So another workaround
is to increment the register addresses by 1 for each block.
So when mapping the address, the lowest 8-bit needs to be
masked to get the actual hardware address.

Fixes #28551

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-05-18 20:45:55 -04:00
..
CMakeLists.txt drivers: gpio: Generic GPIO driver for Intel SoC 2021-05-07 09:45:50 -04:00
gpio_cc13xx_cc26xx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_cc32xx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_cmsdk_ahb.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_cmsdk_ahb.h
gpio_cy8c95xx.c drivers: gpio: gpio_cy8c95xx: Add error check of i2c_reg_read_byte 2021-05-14 02:56:31 -05:00
gpio_dw_registers.h
gpio_dw.c drivers: gpio: Fixup missed PM conversion 2021-05-08 09:59:07 -05:00
gpio_dw.h power: standarize PM Kconfigs and cleanup 2020-12-09 15:18:29 -05:00
gpio_emul.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_eos_s3.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_esp32.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_gecko.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_handlers.c api: gpio: do not support INT flags in gpio_pin_configure 2021-05-07 12:42:08 -05:00
gpio_ht16k33.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_imx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_intel.c gpio: intel: fix reg address for Apollo Lake 2021-05-18 20:45:55 -04:00
gpio_ite_it8xxx2.c ite: drivers/pinmux: modify pinmux driver 2021-05-05 08:45:16 -04:00
gpio_litex.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_lmp90xxx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_lpc11u6x.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mchp_xec.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mcp23s17.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mcp23s17.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_mcux_igpio.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mcux_lpc.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mcux.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mmio32.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_npcx.c driver: gpio: npcx: force io type as open-drain if select to 1p8v. 2021-04-30 12:38:59 -05:00
gpio_nrfx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_pca95xx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_pcal6408a.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_psoc6.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_rcar.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_rv32m1.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_sam0.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_sam4l.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_sam.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_shell.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_sifive.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_stellaris.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_stm32.c pm: device: Align state names with system states 2021-05-07 18:35:12 -04:00
gpio_stm32.h drivers/gpio: stm32: Enable PM_DEVICE services 2021-05-06 14:31:13 -04:00
gpio_sx1509b.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_utils.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_xlnx_axi.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
Kconfig drivers: gpio: add initial support for cy8c95xx I/O expander 2021-04-28 10:53:52 -04:00
Kconfig.cc13xx_cc26xx
Kconfig.cc32xx
Kconfig.cmsdk_ahb
Kconfig.cy8c95xx drivers: gpio: add initial support for cy8c95xx I/O expander 2021-04-28 10:53:52 -04:00
Kconfig.dw
Kconfig.emul gpio: add driver for emulated GPIO 2020-12-27 18:15:33 +01:00
Kconfig.eos_s3 drivers: gpio: add EOS S3 GPIO driver 2021-03-11 08:58:20 -05:00
Kconfig.esp32
Kconfig.gecko
Kconfig.ht16k33
Kconfig.imx
Kconfig.intel drivers: gpio: Generic GPIO driver for Intel SoC 2021-05-07 09:45:50 -04:00
Kconfig.it8xxx2 drivers/gpio: it8xxx2 platform gpio driver 2020-12-16 08:47:36 -05:00
Kconfig.litex
Kconfig.lmp90xxx
Kconfig.lpc11u6x
Kconfig.mcp23s17
Kconfig.mcux
Kconfig.mcux_igpio
Kconfig.mcux_lpc drivers: pinmux: mcux_lpc: Convert to using devicetree 2021-03-01 12:04:53 -06:00
Kconfig.mmio32
Kconfig.npcx driver: npcx7: fixed typo in Kconfig.npcx files. 2020-12-07 12:11:17 -05:00
Kconfig.nrfx drivers: gpio_nrfx: support edge interrupts using GPIO SENSE 2021-03-16 10:02:42 +01:00
Kconfig.pca95xx drivers: gpio_pca95xx: Add GPIO driver enable interrupt support 2020-10-23 13:47:41 +02:00
Kconfig.pcal6408a drivers: gpio: Add support for PCAL6408A I/O expander 2021-03-03 11:38:03 +03:00
Kconfig.psoc6 drivers: gpio: Fix when psoc6 gpio driver is built 2021-05-10 13:47:11 -05:00
Kconfig.rcar drivers: gpio: add Renesas RCar gpio 2021-04-22 10:38:45 +02:00
Kconfig.rv32m1
Kconfig.sam drivers: gpio: sam: Add sam4l SoC support 2020-12-02 11:48:43 -06:00
Kconfig.sam0
Kconfig.sifive drivers: gpio: sifive: use interrupt-cell to set IRQ priority 2021-01-16 17:22:08 -05:00
Kconfig.stellaris
Kconfig.stm32 drivers/gpio: stm32: Set SWJ higher prio vs device pin configuration 2021-03-08 08:37:01 -06:00
Kconfig.sx1509b
Kconfig.xec
Kconfig.xlnx