11.1Sbrad/* $NetBSD: umcpmio_gpio.h,v 1.1 2025/11/29 18:39:15 brad Exp $ */ 21.1Sbrad 31.1Sbrad/* 41.1Sbrad * Copyright (c) 2024, 2025 Brad Spencer <brad@anduin.eldar.org> 51.1Sbrad * 61.1Sbrad * Permission to use, copy, modify, and distribute this software for any 71.1Sbrad * purpose with or without fee is hereby granted, provided that the above 81.1Sbrad * copyright notice and this permission notice appear in all copies. 91.1Sbrad * 101.1Sbrad * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 111.1Sbrad * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 121.1Sbrad * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 131.1Sbrad * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 141.1Sbrad * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 151.1Sbrad * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 161.1Sbrad * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 171.1Sbrad */ 181.1Sbrad 191.1Sbrad#ifndef _UMCPMIO_GPIO_H_ 201.1Sbrad#define _UMCPMIO_GPIO_H_ 211.1Sbrad 221.1Sbrad#include <dev/usb/umcpmio.h> 231.1Sbrad#include <dev/usb/umcpmio_info.h> 241.1Sbrad 251.1Sbradvoid mcp2221_set_dac_vref(struct mcp2221_set_sram_req *, char *); 261.1Sbradint mcp2221_set_dac_vref_one(struct umcpmio_softc *, char *); 271.1Sbradvoid mcp2221_set_dac_value(struct mcp2221_set_sram_req *, uint8_t); 281.1Sbradint mcp2221_set_dac_value_one(struct umcpmio_softc *, uint8_t); 291.1Sbradvoid mcp2221_set_adc_vref(struct mcp2221_set_sram_req *, char *); 301.1Sbradint mcp2221_set_adc_vref_one(struct umcpmio_softc *, char *); 311.1Sbradvoid mcp2221_set_gpioclock_dc(struct mcp2221_set_sram_req *, char *); 321.1Sbradint mcp2221_set_gpioclock_dc_one(struct umcpmio_softc *, char *); 331.1Sbradvoid mcp2221_set_gpioclock_cd(struct mcp2221_set_sram_req *, char *); 341.1Sbradint mcp2221_set_gpioclock_cd_one(struct umcpmio_softc *, char *); 351.1Sbradint mcp2221_get_gpio_cfg(struct umcpmio_softc *, 361.1Sbrad struct mcp2221_get_gpio_cfg_res *); 371.1Sbradint mcp2221_gpio_pin_ctl(void *, int, int); 381.1Sbradvoid umcpmio_gpio_pin_ctl(void *, int, int); 391.1Sbradint mcp2210_get_gp6_counter(struct umcpmio_softc *, int *, uint8_t); 401.1Sbradvoid umcpmio_gpio_attach(struct umcpmio_softc *); 411.1Sbrad 421.1Sbrad#endif 43