# SPDX-License-Identifier: Apache-2.0

zephyr_syscall_header(${ZEPHYR_BASE}/include/zephyr/drivers/gpio.h)

zephyr_library()

zephyr_library_sources_ifdef(CONFIG_GPIO_AD5592     gpio_ad5592.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_AXP192     gpio_axp192.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_TELINK_B91 gpio_b91.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_INFINEON_CAT1 gpio_ifx_cat1.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_CC13XX_CC26XX gpio_cc13xx_cc26xx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_CC32XX     gpio_cc32xx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_CMSDK_AHB  gpio_cmsdk_ahb.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_DW         gpio_dw.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_ESP32      gpio_esp32.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SIFIVE     gpio_sifive.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_GECKO      gpio_gecko.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_IMX        gpio_imx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_ITE_IT8XXX2 gpio_ite_it8xxx2.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_ITE_IT8XXX2_V2 gpio_ite_it8xxx2_v2.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_KSCAN_ITE_IT8XXX2 gpio_kscan_ite_it8xxx2.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCP23S17   gpio_mcp23s17.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCP23XXX   gpio_mcp23xxx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCP23SXX   gpio_mcp23sxx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCP230XX   gpio_mcp230xx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_BD8LB600FS gpio_bd8lb600fs.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCUX       gpio_mcux.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCUX_IGPIO gpio_mcux_igpio.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCUX_LPC   gpio_mcux_lpc.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MMIO32     gpio_mmio32.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_XEC        gpio_mchp_xec.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NRFX       gpio_nrfx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_PCA95XX    gpio_pca95xx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_STM32      gpio_stm32.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SAM0       gpio_sam0.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SAM        gpio_sam.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SAM4L      gpio_sam4l.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SX1509B    gpio_sx1509b.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_INTEL      gpio_intel.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_STELLARIS  gpio_stellaris.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_RPI_PICO   gpio_rpi_pico.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_RV32M1     gpio_rv32m1.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_LMP90XXX   gpio_lmp90xxx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_ADS114S0X  gpio_ads114s0x.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_LITEX      gpio_litex.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_LPC11U6X   gpio_lpc11u6x.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_XLNX_AXI   gpio_xlnx_axi.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NPCX       gpio_npcx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_EMUL       gpio_emul.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_PSOC6      gpio_psoc6.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_PCAL64XXA  gpio_pcal64xxa.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_EOS_S3     gpio_eos_s3.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_RCAR       gpio_rcar.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_CY8C95XX   gpio_cy8c95xx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SNPS_CREG  gpio_creg_gpio.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_STMPE1600  gpio_stmpe1600.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_XEC_V2     gpio_mchp_xec_v2.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_PCA953X    gpio_pca953x.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_PCF8574    gpio_pcf8574.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_FXL6408    gpio_fxl6408.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_ANDES_ATCGPIO100 gpio_andes_atcgpio100.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NEORV32    gpio_neorv32.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NCT38XX    gpio_nct38xx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NCT38XX    gpio_nct38xx_port.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NCT38XX_ALERT  gpio_nct38xx_alert.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_TEST       gpio_test.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_GD32       gpio_gd32.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_XLNX_PS    gpio_xlnx_ps.c gpio_xlnx_ps_bank.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SN74HC595  gpio_sn74hc595.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_MCHP_MSS       gpio_mchp_mss.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SMARTBOND  gpio_smartbond.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NXP_S32    gpio_nxp_s32.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_TCA6424A   gpio_tca6424a.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SHELL      gpio_shell.c)
zephyr_library_sources_ifdef(CONFIG_USERSPACE   gpio_handlers.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_XMC4XXX    gpio_xmc4xxx.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NPM1300    gpio_npm1300.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NPM6001    gpio_npm6001.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_RT1718S    gpio_rt1718s.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_RT1718S    gpio_rt1718s_port.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NUMICRO    gpio_numicro.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_HOGS       gpio_hogs.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_NUMAKER    gpio_numaker.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_EFINIX_SAPPHIRE    gpio_efinix_sapphire.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_DAVINCI    gpio_davinci.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_SEDI    gpio_sedi.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_TLE9104    gpio_tle9104.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_ALTERA_PIO gpio_altera_pio.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_BCM2711    gpio_bcm2711.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_RA         gpio_ra.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_RZT2M    gpio_rzt2m.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_AMBIQ      gpio_ambiq.c)

if (CONFIG_GPIO_EMUL_SDL)
  zephyr_library_sources(gpio_emul_sdl.c)
  if (CONFIG_NATIVE_APPLICATION)
    zephyr_library_sources(gpio_emul_sdl_bottom.c)
  else()
    target_sources(native_simulator INTERFACE gpio_emul_sdl_bottom.c)
  endif()
endif()

if(CONFIG_GPIO_SC18IM704)
  zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
  zephyr_library_sources(gpio_sc18im704.c)
endif()
