# $NetBSD: files.gpio,v 1.18 2024/12/17 12:44:33 martin Exp $

define  gpio {[offset = -1], [mask = 0], [flag = 0]}

device  gpio: gpio
attach  gpio at gpiobus
file    dev/gpio/gpio.c                         gpio    needs-flag

file    dev/gpio/gpiolib.c                      gpiobus

# GPIO simulator
defpseudodev    gpiosim: gpiobus
file    dev/gpio/gpiosim.c                      gpiosim needs-count

# I2C bus bit-banging
device  gpioiic: i2cbus, i2c_bitbang
attach  gpioiic at gpio
file    dev/gpio/gpioiic.c                      gpioiic

# 1-Wire bus bit-banging
device  gpioow: onewirebus, onewire_bitbang
attach  gpioow at gpio
file    dev/gpio/gpioow.c                       gpioow

# Keylock
device  gpiolock: gpiobus
attach  gpiolock at gpio
file    dev/gpio/gpiolock.c                     gpiolock

# PWM
device  gpiopwm: gpiobus
attach  gpiopwm at gpio
file    dev/gpio/gpiopwm.c                      gpiopwm

# RF kill
device  gpiorfkill: gpiobus
attach  gpiorfkill at gpio
file    dev/gpio/gpiorfkill.c                   gpiorfkill

# Button
device  gpiobutton: gpiobus, sysmon_power, sysmon_taskq
attach  gpiobutton at gpio
file    dev/gpio/gpiobutton.c                   gpiobutton

# GPIO interrupt example
device  gpioirq: gpiobus
attach  gpioirq at gpio
file    dev/gpio/gpioirq.c                      gpioirq

# GPIO PPS
device  gpiopps: gpiobus
attach  gpiopps at gpio
file    dev/gpio/gpiopps.c                      gpiopps