# 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_RGPIO gpio_mcux_rgpio.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_PCF857X    gpio_pcf857x.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_RENESAS_RA gpio_renesas_ra.c)
zephyr_library_sources_ifdef(CONFIG_GPIO_ENE_KB1200 gpio_ene_kb1200.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()
