1248557Sray/*- 2250357Sray * Copyright (c) 2012, 2013 The FreeBSD Foundation 3248557Sray * All rights reserved. 4248557Sray * 5248557Sray * Portions of this software were developed by Oleksandr Rybalko 6248557Sray * under sponsorship from the FreeBSD Foundation. 7248557Sray * 8248557Sray * Redistribution and use in source and binary forms, with or without 9248557Sray * modification, are permitted provided that the following conditions 10248557Sray * are met: 11248557Sray * 1. Redistributions of source code must retain the above copyright 12248557Sray * notice, this list of conditions and the following disclaimer. 13248557Sray * 2. Redistributions in binary form must reproduce the above copyright 14248557Sray * notice, this list of conditions and the following disclaimer in the 15248557Sray * documentation and/or other materials provided with the distribution. 16248557Sray * 17248557Sray * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18248557Sray * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19248557Sray * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20248557Sray * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21248557Sray * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22248557Sray * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23248557Sray * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24248557Sray * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25248557Sray * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26248557Sray * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27248557Sray * SUCH DAMAGE. 28248557Sray * 29248557Sray * $FreeBSD$ 30248557Sray */ 31248557Sray 32248557Sray/* iomux utility functions */ 33248557Sraystruct iomux_conf { 34248557Sray u_int pin; 35248557Sray#define IOMUX_CONF_EOT ((u_int)(-1)) 36248557Sray u_short mux; 37248557Sray u_short pad; 38248557Sray}; 39248557Sray 40248557Srayvoid iomux_set_function(u_int, u_int); 41248557Srayvoid iomux_set_pad(u_int, u_int); 42248557Sray#ifdef notyet 43248557Srayvoid iomux_set_input(u_int, u_int); 44248557Sray#endif 45248557Srayvoid iomux_mux_config(const struct iomux_conf *); 46