head 1.18; access; symbols netbsd-11-0-RC5:1.18 netbsd-11-0-RC4:1.18 netbsd-11-0-RC3:1.18 netbsd-11-0-RC2:1.18 netbsd-11-0-RC1:1.18 perseant-exfatfs-base-20250801:1.18 netbsd-11:1.18.0.2 netbsd-11-base:1.18 netbsd-10-1-RELEASE:1.16 perseant-exfatfs-base-20240630:1.16 perseant-exfatfs:1.16.0.40 perseant-exfatfs-base:1.16 netbsd-8-3-RELEASE:1.14 netbsd-9-4-RELEASE:1.16 netbsd-10-0-RELEASE:1.16 netbsd-10-0-RC6:1.16 netbsd-10-0-RC5:1.16 netbsd-10-0-RC4:1.16 netbsd-10-0-RC3:1.16 netbsd-10-0-RC2:1.16 thorpej-ifq:1.16.0.38 thorpej-ifq-base:1.16 thorpej-altq-separation:1.16.0.36 thorpej-altq-separation-base:1.16 netbsd-10-0-RC1:1.16 netbsd-10:1.16.0.34 netbsd-10-base:1.16 bouyer-sunxi-drm:1.16.0.32 bouyer-sunxi-drm-base:1.16 netbsd-9-3-RELEASE:1.16 thorpej-i2c-spi-conf2:1.16.0.30 thorpej-i2c-spi-conf2-base:1.16 thorpej-futex2:1.16.0.28 thorpej-futex2-base:1.16 thorpej-cfargs2:1.16.0.26 thorpej-cfargs2-base:1.16 cjep_sun2x-base1:1.16 cjep_sun2x:1.16.0.24 cjep_sun2x-base:1.16 cjep_staticlib_x-base1:1.16 netbsd-9-2-RELEASE:1.16 cjep_staticlib_x:1.16.0.22 cjep_staticlib_x-base:1.16 thorpej-i2c-spi-conf:1.16.0.20 thorpej-i2c-spi-conf-base:1.16 thorpej-cfargs:1.16.0.18 thorpej-cfargs-base:1.16 thorpej-futex:1.16.0.16 thorpej-futex-base:1.16 netbsd-9-1-RELEASE:1.16 bouyer-xenpvh-base2:1.16 phil-wifi-20200421:1.16 bouyer-xenpvh-base1:1.16 phil-wifi-20200411:1.16 bouyer-xenpvh:1.16.0.14 bouyer-xenpvh-base:1.16 is-mlppp:1.16.0.12 is-mlppp-base:1.16 phil-wifi-20200406:1.16 netbsd-8-2-RELEASE:1.14 ad-namecache-base3:1.16 netbsd-9-0-RELEASE:1.16 netbsd-9-0-RC2:1.16 ad-namecache-base2:1.16 ad-namecache-base1:1.16 ad-namecache:1.16.0.10 ad-namecache-base:1.16 netbsd-9-0-RC1:1.16 phil-wifi-20191119:1.16 netbsd-9:1.16.0.8 netbsd-9-base:1.16 phil-wifi-20190609:1.16 netbsd-8-1-RELEASE:1.14 netbsd-8-1-RC1:1.14 isaki-audio2:1.16.0.6 isaki-audio2-base:1.16 pgoyette-compat-merge-20190127:1.14.16.1 pgoyette-compat-20190127:1.16 pgoyette-compat-20190118:1.16 pgoyette-compat-1226:1.16 pgoyette-compat-1126:1.16 pgoyette-compat-1020:1.16 pgoyette-compat-0930:1.16 pgoyette-compat-0906:1.16 jdolecek-ncqfixes:1.16.0.4 jdolecek-ncqfixes-base:1.16 netbsd-7-2-RELEASE:1.10 pgoyette-compat-0728:1.16 netbsd-8-0-RELEASE:1.14 phil-wifi:1.16.0.2 phil-wifi-base:1.16 pgoyette-compat-0625:1.16 netbsd-8-0-RC2:1.14 pgoyette-compat-0521:1.16 pgoyette-compat-0502:1.14 pgoyette-compat-0422:1.14 netbsd-8-0-RC1:1.14 pgoyette-compat-0415:1.14 pgoyette-compat-0407:1.14 pgoyette-compat-0330:1.14 pgoyette-compat-0322:1.14 pgoyette-compat-0315:1.14 netbsd-7-1-2-RELEASE:1.10 pgoyette-compat:1.14.0.16 pgoyette-compat-base:1.14 netbsd-7-1-1-RELEASE:1.10 tls-maxphys-base-20171202:1.14 matt-nb8-mediatek:1.14.0.14 matt-nb8-mediatek-base:1.14 nick-nhusb-base-20170825:1.14 perseant-stdc-iso10646:1.14.0.12 perseant-stdc-iso10646-base:1.14 netbsd-8:1.14.0.10 netbsd-8-base:1.14 prg-localcount2-base3:1.14 prg-localcount2-base2:1.14 prg-localcount2-base1:1.14 prg-localcount2:1.14.0.8 prg-localcount2-base:1.14 pgoyette-localcount-20170426:1.14 bouyer-socketcan-base1:1.14 jdolecek-ncq:1.14.0.6 jdolecek-ncq-base:1.14 pgoyette-localcount-20170320:1.14 netbsd-7-1:1.10.0.34 netbsd-7-1-RELEASE:1.10 netbsd-7-1-RC2:1.10 nick-nhusb-base-20170204:1.14 netbsd-7-nhusb-base-20170116:1.10 bouyer-socketcan:1.14.0.4 bouyer-socketcan-base:1.14 pgoyette-localcount-20170107:1.14 netbsd-7-1-RC1:1.10 nick-nhusb-base-20161204:1.14 pgoyette-localcount-20161104:1.14 netbsd-7-0-2-RELEASE:1.10 nick-nhusb-base-20161004:1.14 localcount-20160914:1.14 netbsd-7-nhusb:1.10.0.32 netbsd-7-nhusb-base:1.10 pgoyette-localcount-20160806:1.14 pgoyette-localcount-20160726:1.14 pgoyette-localcount:1.14.0.2 pgoyette-localcount-base:1.14 nick-nhusb-base-20160907:1.14 nick-nhusb-base-20160529:1.14 netbsd-7-0-1-RELEASE:1.10 nick-nhusb-base-20160422:1.14 nick-nhusb-base-20160319:1.14 nick-nhusb-base-20151226:1.14 netbsd-7-0:1.10.0.30 netbsd-7-0-RELEASE:1.10 nick-nhusb-base-20150921:1.13 netbsd-7-0-RC3:1.10 netbsd-7-0-RC2:1.10 netbsd-7-0-RC1:1.10 nick-nhusb-base-20150606:1.12 nick-nhusb-base-20150406:1.10 nick-nhusb:1.10.0.28 nick-nhusb-base:1.10 netbsd-5-2-3-RELEASE:1.4 netbsd-5-1-5-RELEASE:1.4 netbsd-6-0-6-RELEASE:1.10 netbsd-6-1-5-RELEASE:1.10 netbsd-7:1.10.0.26 netbsd-7-base:1.10 yamt-pagecache-base9:1.10 yamt-pagecache-tag8:1.9.2.1 netbsd-6-1-4-RELEASE:1.10 netbsd-6-0-5-RELEASE:1.10 tls-earlyentropy:1.10.0.24 tls-earlyentropy-base:1.10 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.10 riastradh-drm2-base3:1.10 netbsd-6-1-3-RELEASE:1.10 netbsd-6-0-4-RELEASE:1.10 netbsd-5-2-2-RELEASE:1.4 netbsd-5-1-4-RELEASE:1.4 netbsd-6-1-2-RELEASE:1.10 netbsd-6-0-3-RELEASE:1.10 netbsd-5-2-1-RELEASE:1.4 netbsd-5-1-3-RELEASE:1.4 rmind-smpnet-nbase:1.10 netbsd-6-1-1-RELEASE:1.10 riastradh-drm2-base2:1.10 riastradh-drm2-base1:1.10 riastradh-drm2:1.10.0.22 riastradh-drm2-base:1.10 rmind-smpnet:1.10.0.14 rmind-smpnet-base:1.10 netbsd-6-1:1.10.0.20 netbsd-6-0-2-RELEASE:1.10 netbsd-6-1-RELEASE:1.10 khorben-n900:1.10.0.18 netbsd-6-1-RC4:1.10 netbsd-6-1-RC3:1.10 agc-symver:1.10.0.16 agc-symver-base:1.10 netbsd-6-1-RC2:1.10 netbsd-6-1-RC1:1.10 yamt-pagecache-base8:1.10 netbsd-5-2:1.4.0.90 netbsd-6-0-1-RELEASE:1.10 yamt-pagecache-base7:1.10 netbsd-5-2-RELEASE:1.4 netbsd-5-2-RC1:1.4 matt-nb6-plus-nbase:1.10 yamt-pagecache-base6:1.10 netbsd-6-0:1.10.0.12 netbsd-6-0-RELEASE:1.10 netbsd-6-0-RC2:1.10 tls-maxphys:1.10.0.10 tls-maxphys-base:1.10 matt-nb6-plus:1.10.0.8 matt-nb6-plus-base:1.10 netbsd-6-0-RC1:1.10 jmcneill-usbmp-base10:1.10 yamt-pagecache-base5:1.10 jmcneill-usbmp-base9:1.10 yamt-pagecache-base4:1.10 jmcneill-usbmp-base8:1.10 jmcneill-usbmp-base7:1.10 jmcneill-usbmp-base6:1.10 jmcneill-usbmp-base5:1.10 jmcneill-usbmp-base4:1.10 jmcneill-usbmp-base3:1.10 jmcneill-usbmp-pre-base2:1.10 jmcneill-usbmp-base2:1.10 netbsd-6:1.10.0.6 netbsd-6-base:1.10 netbsd-5-1-2-RELEASE:1.4 netbsd-5-1-1-RELEASE:1.4 jmcneill-usbmp:1.10.0.4 jmcneill-usbmp-base:1.10 jmcneill-audiomp3:1.10.0.2 jmcneill-audiomp3-base:1.10 yamt-pagecache-base3:1.9 yamt-pagecache-base2:1.9 yamt-pagecache:1.9.0.2 yamt-pagecache-base:1.9 rmind-uvmplock-nbase:1.8 cherry-xenmp:1.8.0.10 cherry-xenmp-base:1.8 bouyer-quota2-nbase:1.8 bouyer-quota2:1.8.0.8 bouyer-quota2-base:1.8 jruoho-x86intr:1.8.0.6 jruoho-x86intr-base:1.8 matt-mips64-premerge-20101231:1.8 matt-nb5-mips64-premerge-20101231:1.4 matt-nb5-pq3:1.4.0.88 matt-nb5-pq3-base:1.4 netbsd-5-1:1.4.0.86 netbsd-5-1-RELEASE:1.4 uebayasi-xip-base4:1.8 uebayasi-xip-base3:1.8 yamt-nfs-mp-base11:1.8 netbsd-5-1-RC4:1.4 matt-nb5-mips64-k15:1.4 uebayasi-xip-base2:1.8 yamt-nfs-mp-base10:1.8 netbsd-5-1-RC3:1.4 netbsd-5-1-RC2:1.4 uebayasi-xip-base1:1.8 netbsd-5-1-RC1:1.4 rmind-uvmplock:1.8.0.4 rmind-uvmplock-base:1.8 yamt-nfs-mp-base9:1.8 uebayasi-xip:1.8.0.2 uebayasi-xip-base:1.8 netbsd-5-0-2-RELEASE:1.4 matt-nb5-mips64-premerge-20091211:1.4 matt-premerge-20091211:1.8 yamt-nfs-mp-base8:1.8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.4 matt-nb4-mips64-k7-u2a-k9b:1.4 matt-nb5-mips64-u1-k1-k5:1.4 yamt-nfs-mp-base7:1.8 matt-nb5-mips64:1.4.0.84 netbsd-5-0-1-RELEASE:1.4 jymxensuspend-base:1.4 yamt-nfs-mp-base6:1.4 yamt-nfs-mp-base5:1.4 yamt-nfs-mp-base4:1.4 jym-xensuspend-nbase:1.8 yamt-nfs-mp-base3:1.4 nick-hppapmap-base4:1.4 nick-hppapmap-base3:1.4 netbsd-5-0:1.4.0.82 netbsd-5-0-RELEASE:1.4 netbsd-5-0-RC4:1.4 netbsd-5-0-RC3:1.4 nick-hppapmap-base2:1.4 netbsd-5-0-RC2:1.4 jym-xensuspend:1.4.0.80 jym-xensuspend-base:1.4 netbsd-5-0-RC1:1.4 haad-dm-base2:1.4 haad-nbase2:1.4 ad-audiomp2:1.4.0.78 ad-audiomp2-base:1.4 netbsd-5:1.4.0.76 netbsd-5-base:1.4 nick-hppapmap:1.4.0.74 nick-hppapmap-base:1.4 matt-mips64-base2:1.4 matt-mips64:1.4.0.72 haad-dm-base1:1.4 wrstuden-revivesa-base-4:1.4 netbsd-4-0-1-RELEASE:1.4 wrstuden-revivesa-base-3:1.4 wrstuden-revivesa-base-2:1.4 wrstuden-fixsa-newbase:1.4 nick-csl-alignment-base5:1.4 haad-dm:1.4.0.70 haad-dm-base:1.4 wrstuden-revivesa-base-1:1.4 simonb-wapbl-nbase:1.4 yamt-pf42-base4:1.4 simonb-wapbl:1.4.0.68 simonb-wapbl-base:1.4 yamt-pf42-base3:1.4 hpcarm-cleanup-nbase:1.4 yamt-pf42-baseX:1.4 yamt-pf42-base2:1.4 yamt-nfs-mp-base2:1.4 wrstuden-revivesa:1.4.0.66 wrstuden-revivesa-base:1.4 yamt-nfs-mp:1.4.0.64 yamt-nfs-mp-base:1.4 yamt-pf42:1.4.0.62 yamt-pf42-base:1.4 ad-socklock-base1:1.4 yamt-lazymbuf-base15:1.4 yamt-lazymbuf-base14:1.4 keiichi-mipv6-nbase:1.4 mjf-devfs2:1.4.0.60 mjf-devfs2-base:1.4 nick-net80211-sync:1.4.0.58 nick-net80211-sync-base:1.4 keiichi-mipv6:1.4.0.56 keiichi-mipv6-base:1.4 bouyer-xeni386-merge1:1.4 matt-armv6-prevmlocking:1.4 wrstuden-fixsa-base-1:1.4 vmlocking2-base3:1.4 netbsd-4-0:1.4.0.54 netbsd-4-0-RELEASE:1.4 bouyer-xeni386-nbase:1.4 yamt-kmem-base3:1.4 cube-autoconf:1.4.0.52 cube-autoconf-base:1.4 yamt-kmem-base2:1.4 bouyer-xeni386:1.4.0.50 bouyer-xeni386-base:1.4 yamt-kmem:1.4.0.48 yamt-kmem-base:1.4 vmlocking2-base2:1.4 reinoud-bufcleanup-nbase:1.4 vmlocking2:1.4.0.46 vmlocking2-base1:1.4 netbsd-4-0-RC5:1.4 matt-nb4-arm:1.4.0.44 matt-nb4-arm-base:1.4 matt-armv6-nbase:1.4 jmcneill-base:1.4 netbsd-4-0-RC4:1.4 mjf-devfs:1.4.0.42 mjf-devfs-base:1.4 bouyer-xenamd64-base2:1.4 vmlocking-nbase:1.4 yamt-x86pmap-base4:1.4 bouyer-xenamd64:1.4.0.40 bouyer-xenamd64-base:1.4 netbsd-4-0-RC3:1.4 yamt-x86pmap-base3:1.4 yamt-x86pmap-base2:1.4 netbsd-4-0-RC2:1.4 yamt-x86pmap:1.4.0.38 yamt-x86pmap-base:1.4 netbsd-4-0-RC1:1.4 matt-armv6:1.4.0.36 matt-armv6-base:1.4 matt-mips64-base:1.4 jmcneill-pm:1.4.0.34 jmcneill-pm-base:1.4 hpcarm-cleanup:1.4.0.32 hpcarm-cleanup-base:1.4 nick-csl-alignment:1.4.0.30 nick-csl-alignment-base:1.4 yamt-idlelwp-base8:1.4 wrstuden-fixsa:1.4.0.28 wrstuden-fixsa-base:1.4 thorpej-atomic:1.4.0.26 thorpej-atomic-base:1.4 reinoud-bufcleanup:1.4.0.24 reinoud-bufcleanup-base:1.4 mjf-ufs-trans:1.4.0.22 mjf-ufs-trans-base:1.4 vmlocking:1.4.0.20 vmlocking-base:1.4 ad-audiomp:1.4.0.18 ad-audiomp-base:1.4 yamt-idlelwp:1.4.0.16 post-newlock2-merge:1.4 newlock2-nbase:1.4 yamt-splraiseipl-base5:1.4 yamt-splraiseipl-base4:1.4 yamt-splraiseipl-base3:1.4 abandoned-netbsd-4-base:1.4 abandoned-netbsd-4:1.4.0.8 yamt-splraiseipl-base2:1.4 yamt-splraiseipl:1.4.0.12 yamt-splraiseipl-base:1.4 yamt-pdpolicy-base9:1.4 newlock2:1.4.0.10 newlock2-base:1.4 yamt-pdpolicy-base8:1.4 yamt-pdpolicy-base7:1.4 netbsd-4:1.4.0.14 netbsd-4-base:1.4 yamt-pdpolicy-base6:1.4 yamt-lazymbuf:1.4.0.6 chap-midi-nbase:1.4 gdamore-uart:1.4.0.4 gdamore-uart-base:1.4 simonb-timcounters-final:1.2.6.1 yamt-pdpolicy-base5:1.4 chap-midi:1.4.0.2 chap-midi-base:1.4 yamt-pdpolicy-base4:1.4 yamt-pdpolicy-base3:1.3 peter-altq-base:1.3 peter-altq:1.3.0.6 yamt-pdpolicy-base2:1.3 elad-kernelauth-base:1.4 elad-kernelauth:1.3.0.4 yamt-pdpolicy:1.3.0.2 yamt-pdpolicy-base:1.3 yamt-uio_vmspace-base5:1.3 simonb-timecounters:1.2.0.6 simonb-timecounters-base:1.4 rpaulo-netinet-merge-pcb:1.2.0.4 rpaulo-netinet-merge-pcb-base:1.4 yamt-uio_vmspace:1.2.0.2 yamt-readahead-base3:1.1 yamt-readahead-base2:1.1 yamt-readahead-pervnode:1.1 yamt-readahead-perfile:1.1 yamt-readahead:1.1.0.8 yamt-readahead-base:1.1 ktrace-lwp-base:1.1 ktrace-lwp:1.1.0.6 yamt-vop-base3:1.1 yamt-vop-base2:1.1 thorpej-vnode-attr:1.1.0.4 thorpej-vnode-attr-base:1.1 yamt-vop:1.1.0.2 yamt-vop-base:1.1; locks; strict; comment @# @; 1.18 date 2024.12.17.12.44.33; author martin; state Exp; branches; next 1.17; commitid pEhXVth7V58HYQBF; 1.17 date 2024.12.17.12.39.39; author martin; state Exp; branches; next 1.16; commitid Sn4Xkakf2ThNWQBF; 1.16 date 2018.05.20.14.08.33; author thorpej; state Exp; branches 1.16.40.1; next 1.15; commitid VFgV7Ogai82iF2DA; 1.15 date 2018.05.19.14.15.39; author thorpej; state Exp; branches; next 1.14; commitid yLcPD4iqdbOhKUCA; 1.14 date 2015.10.15.09.07.49; author jmcneill; state Exp; branches 1.14.16.1; next 1.13; commitid UGzmpPtquHsFubFy; 1.13 date 2015.08.20.12.09.22; author uebayasi; state Exp; branches; next 1.12; commitid 832kUTtr6YCyi0yy; 1.12 date 2015.05.30.15.35.51; author jmcneill; state Exp; branches; next 1.11; commitid oYutkoFUDxZC4uny; 1.11 date 2015.05.29.23.17.13; author jmcneill; state Exp; branches; next 1.10; commitid 8Ds538izPmRKEony; 1.10 date 2011.11.13.12.33.00; author mbalmer; state Exp; branches 1.10.10.1 1.10.18.1 1.10.28.1; next 1.9; 1.9 date 2011.10.02.10.01.25; author mbalmer; state Exp; branches 1.9.2.1; next 1.8; 1.8 date 2009.08.14.21.17.22; author mbalmer; state Exp; branches; next 1.7; 1.7 date 2009.08.09.08.18.00; author mbalmer; state Exp; branches; next 1.6; 1.6 date 2009.07.27.17.40.57; author mbalmer; state Exp; branches; next 1.5; 1.5 date 2009.07.25.16.17.10; author mbalmer; state Exp; branches; next 1.4; 1.4 date 2006.04.07.18.55.21; author riz; state Exp; branches 1.4.6.1 1.4.64.1; next 1.3; 1.3 date 2006.02.20.03.18.36; author riz; state Exp; branches 1.3.2.1 1.3.4.1 1.3.6.1; next 1.2; 1.2 date 2005.12.11.12.21.22; author christos; state Exp; branches 1.2.2.1 1.2.4.1 1.2.6.1; next 1.1; 1.1 date 2005.09.27.02.34.02; author jmcneill; state Exp; branches 1.1.6.1; next ; 1.16.40.1 date 2025.08.02.05.56.37; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; 1.14.16.1 date 2018.05.21.04.36.05; author pgoyette; state Exp; branches; next ; commitid X5L8kSrBWQcDt7DA; 1.10.10.1 date 2017.12.03.11.37.01; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.10.18.1 date 2013.05.10.01.20.05; author khorben; state Exp; branches; next ; 1.10.28.1 date 2015.06.06.14.40.07; author skrll; state Exp; branches; next 1.10.28.2; commitid O6LVO5i6UulOvnoy; 1.10.28.2 date 2015.09.22.12.05.57; author skrll; state Exp; branches; next 1.10.28.3; commitid CpNWKp3ozVNTafCy; 1.10.28.3 date 2015.12.27.12.09.49; author skrll; state Exp; branches; next ; commitid BTSqUD4SdJ5k7AOy; 1.9.2.1 date 2012.04.17.00.07.30; author yamt; state Exp; branches; next ; 1.4.6.1 date 2006.04.07.18.55.21; author yamt; state dead; branches; next 1.4.6.2; 1.4.6.2 date 2006.06.21.15.02.46; author yamt; state Exp; branches; next ; 1.4.64.1 date 2009.08.19.18.47.05; author yamt; state Exp; branches; next ; 1.3.2.1 date 2006.04.11.11.55.13; author yamt; state Exp; branches; next ; 1.3.4.1 date 2006.04.19.03.24.34; author elad; state Exp; branches; next ; 1.3.6.1 date 2006.05.24.15.50.07; author tron; state Exp; branches; next ; 1.2.2.1 date 2006.03.01.09.28.12; author yamt; state Exp; branches; next ; 1.2.4.1 date 2006.09.09.02.49.50; author rpaulo; state Exp; branches; next ; 1.2.6.1 date 2006.04.22.11.38.52; author simonb; state Exp; branches; next ; 1.1.6.1 date 2005.09.27.02.34.02; author skrll; state dead; branches; next 1.1.6.2; 1.1.6.2 date 2005.11.10.14.04.00; author skrll; state Exp; branches; next ; desc @@ 1.18 log @Rename gpiobus.c to gpiolib.c so we can move other parts in there too. Requested by Jared. @ text @# $NetBSD: files.gpio,v 1.17 2024/12/17 12:39:39 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 @ 1.17 log @Move (the one and only) gpiobus_* function(s) into a separate file that is build if we have gpiobus (independent of having gpio or not). @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.16 2018/05/20 14:08:33 thorpej Exp $ d9 1 a9 1 file dev/gpio/gpiobus.c gpiobus @ 1.16 log @Add a 1PPS-over-GPIO driver, originally by Brad Spencer, with changes by me to adapt to the new GPIO interrupt interface and support a wider variety of GPIO pin configuations. PR kern/51676 @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.15 2018/05/19 14:15:39 thorpej Exp $ d7 3 a9 1 file dev/gpio/gpio.c gpio needs-flag @ 1.16.40.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.18 2024/12/17 12:44:33 martin Exp $ d7 1 a7 3 file dev/gpio/gpio.c gpio needs-flag file dev/gpio/gpiolib.c gpiobus @ 1.15 log @Add an example "gpioirq" driver that demonstrates interrupts on GPIO pins. Will be enhanced in the future to support sending events to user space on edge-triggered interrupt events. Based on initial work by Brad Spencer. PR kern/51676 @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.14 2015/10/15 09:07:49 jmcneill Exp $ d47 5 @ 1.14 log @pull in sysmon_taskq @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.13 2015/08/20 12:09:22 uebayasi Exp $ d42 5 @ 1.14.16.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.16 2018/05/20 14:08:33 thorpej Exp $ a41 10 # 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 @ 1.13 log @Use needs-count for # of pseudo instances; suggested by cube@@. @ text @d1 1 a1 1 # $NetBSD$ d39 1 a39 1 device gpiobutton: gpiobus, sysmon_power @ 1.12 log @Simple driver for GPIO power/sleep buttons. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.11 2015/05/29 23:17:13 jmcneill Exp $ d11 1 a11 1 file dev/gpio/gpiosim.c gpiosim @ 1.11 log @Simple driver for gpio control of rf enable/disable pins. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.10 2011/11/13 12:33:00 mbalmer Exp $ d37 5 @ 1.10 log @gpiopwm(4) is a driver to pulse GPIO pins in software. This obsoletes the software pulsing facilities in gpio(4) (and gpioctl(8)) which will later be removed. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.9 2011/10/02 10:01:25 mbalmer Exp $ d32 5 @ 1.10.10.1 log @update from HEAD @ text @d1 1 a1 1 # $NetBSD$ d11 1 a11 1 file dev/gpio/gpiosim.c gpiosim needs-count a31 10 # 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 @ 1.10.28.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.12 2015/05/30 15:35:51 jmcneill Exp $ a31 10 # RF kill device gpiorfkill: gpiobus attach gpiorfkill at gpio file dev/gpio/gpiorfkill.c gpiorfkill # Button device gpiobutton: gpiobus, sysmon_power attach gpiobutton at gpio file dev/gpio/gpiobutton.c gpiobutton @ 1.10.28.2 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.10.28.1 2015/06/06 14:40:07 skrll Exp $ d11 1 a11 1 file dev/gpio/gpiosim.c gpiosim needs-count @ 1.10.28.3 log @Sync with HEAD (as of 26th Dec) @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.10.28.2 2015/09/22 12:05:57 skrll Exp $ d39 1 a39 1 device gpiobutton: gpiobus, sysmon_power, sysmon_taskq @ 1.10.18.1 log @Added a locator for interrupts on the GPIO bus. This allows ARM devices (like the Nokia N900) to register interrupt handlers as specified within their respective kernel configuration file. XXX This change is not adequate because intr_establish() is a MD interface, so it will have to be re-designed before merging to the main tree. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.10 2011/11/13 12:33:00 mbalmer Exp $ d3 1 a3 1 define gpio {[offset = -1], [mask = 0], [flag = 0], [intr = -1]} @ 1.9 log @Add the flag locator (missed in the previous commit). @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.8 2009/08/14 21:17:22 mbalmer Exp $ d27 5 @ 1.9.2.1 log @sync with head @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.9 2011/10/02 10:01:25 mbalmer Exp $ a26 5 # PWM device gpiopwm: gpiobus attach gpiopwm at gpio file dev/gpio/gpiopwm.c gpiopwm @ 1.8 log @Add support for multi-position electro-mechanical keylocks. An example driver, gpiolock(4), is provided as an example how to interface real hardware. A new securemodel, securemodel_keylock, is provided to show how this can be used to tie keylocks to overall system security. This is experimental code. The diff has been on tech-kern for several weeks. Reviewed by many, kauth(9) integration reviewed by Elad Efrat; approved by tonnerre@@ and tron@@. Thanks to everyone who provided feedback. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.5 2009/07/25 16:17:10 mbalmer Exp $ d3 1 a3 1 define gpio {[offset = -1], [mask = 0]} @ 1.7 log @gpioiic(4), a driver to do use GPIO pins in bit-banging mode to form an I2C bus. Ported from OpenBSD. @ text @d22 5 @ 1.6 log @Do not attach gpiosim(4) at root, but make it a pseudo device. With help from Matthias Drochner, thanks! @ text @d13 5 @ 1.5 log @Rework the GPIO framework. Tie it to the kauth(9) framework to control access to the GPIO pins. Device drivers using GPIO pins can now be attached and detached at runtime. GPIO pins can be named for easier reference from userland programs. Introduce a new gpiosim(4) driver, which is used for development. Reviewed by many. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.4 2006/04/07 18:55:21 riz Exp $ d10 2 a11 3 device gpiosim: gpiobus attach gpiosim at root file dev/gpio/gpiosim.c gpiosim needs-flag @ 1.4 log @Dallas Semiconductor 1-Wire bus support, from OpenBSD. Currently includes gpioow(4), attaching a bit-banging driver via a GPIO pin. Also, owtemp(4) which supports some of the 1-Wire temperature sensors, including the DS18b20 and DS1920 - temperatures are returned via the envsys(4) framework. Original drivers by Alexander Yurchenko (grange@@openbsd), with envsys(4) support and a fix to the 1-wire search algorithm (for discovering devices on the bus) by me. As discussed on tech-kern earlier this week. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.3 2006/02/20 03:18:36 riz Exp $ d3 1 a3 1 define gpio {offset, mask} d9 6 @ 1.4.6.1 log @file files.gpio was added on branch yamt-lazymbuf on 2006-06-21 15:02:46 +0000 @ text @d1 11 @ 1.4.6.2 log @sync with head. @ text @a0 11 # $NetBSD: files.gpio,v 1.4.6.1 2006/06/21 15:02:46 yamt Exp $ define gpio {offset, mask} device gpio: gpio attach gpio at gpiobus file dev/gpio/gpio.c gpio needs-flag device gpioow: onewirebus, onewire_bitbang attach gpioow at gpio file dev/gpio/gpioow.c gpioow @ 1.4.64.1 log @sync with head. @ text @d1 1 a1 1 # $NetBSD: files.gpio,v 1.4 2006/04/07 18:55:21 riz Exp $ d3 1 a3 1 define gpio {[offset = -1], [mask = 0]} a8 10 # GPIO simulator defpseudodev gpiosim: gpiobus file dev/gpio/gpiosim.c gpiosim # I2C bus bit-banging device gpioiic: i2cbus, i2c_bitbang attach gpioiic at gpio file dev/gpio/gpioiic.c gpioiic # 1-Wire bus bit-banging a11 5 # Keylock device gpiolock: gpiobus attach gpiolock at gpio file dev/gpio/gpiolock.c gpiolock @ 1.3 log @Flesh out the framework for attaching drivers to the GPIO pins. From OpenBSD, Alexander Yurchenko