1*62e8ccc3SEmmanuel Vadot /*- 2*62e8ccc3SEmmanuel Vadot * SPDX-License-Identifier: BSD-2-Clause 3*62e8ccc3SEmmanuel Vadot * 4*62e8ccc3SEmmanuel Vadot * Copyright (c) 2018 Kyle Evans <kevans@FreeBSD.org> 5*62e8ccc3SEmmanuel Vadot * 6*62e8ccc3SEmmanuel Vadot * Redistribution and use in source and binary forms, with or without 7*62e8ccc3SEmmanuel Vadot * modification, are permitted provided that the following conditions 8*62e8ccc3SEmmanuel Vadot * are met: 9*62e8ccc3SEmmanuel Vadot * 1. Redistributions of source code must retain the above copyright 10*62e8ccc3SEmmanuel Vadot * notice, this list of conditions and the following disclaimer. 11*62e8ccc3SEmmanuel Vadot * 2. Redistributions in binary form must reproduce the above copyright 12*62e8ccc3SEmmanuel Vadot * notice, this list of conditions and the following disclaimer in the 13*62e8ccc3SEmmanuel Vadot * documentation and/or other materials provided with the distribution. 14*62e8ccc3SEmmanuel Vadot * 15*62e8ccc3SEmmanuel Vadot * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16*62e8ccc3SEmmanuel Vadot * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17*62e8ccc3SEmmanuel Vadot * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18*62e8ccc3SEmmanuel Vadot * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19*62e8ccc3SEmmanuel Vadot * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20*62e8ccc3SEmmanuel Vadot * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21*62e8ccc3SEmmanuel Vadot * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22*62e8ccc3SEmmanuel Vadot * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23*62e8ccc3SEmmanuel Vadot * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24*62e8ccc3SEmmanuel Vadot * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25*62e8ccc3SEmmanuel Vadot */ 26*62e8ccc3SEmmanuel Vadot 27*62e8ccc3SEmmanuel Vadot #ifndef DEV_SYSCON_GENERIC_H 28*62e8ccc3SEmmanuel Vadot #define DEV_SYSCON_GENERIC_H 29*62e8ccc3SEmmanuel Vadot 30*62e8ccc3SEmmanuel Vadot #include <dev/fdt/simplebus.h> 31*62e8ccc3SEmmanuel Vadot 32*62e8ccc3SEmmanuel Vadot struct syscon_generic_softc { 33*62e8ccc3SEmmanuel Vadot struct simplebus_softc simplebus; 34*62e8ccc3SEmmanuel Vadot device_t dev; 35*62e8ccc3SEmmanuel Vadot struct syscon *syscon; 36*62e8ccc3SEmmanuel Vadot struct resource *mem_res; 37*62e8ccc3SEmmanuel Vadot struct mtx mtx; 38*62e8ccc3SEmmanuel Vadot bool simplebus_attached; 39*62e8ccc3SEmmanuel Vadot }; 40*62e8ccc3SEmmanuel Vadot 41*62e8ccc3SEmmanuel Vadot DECLARE_CLASS(syscon_generic_driver); 42*62e8ccc3SEmmanuel Vadot 43*62e8ccc3SEmmanuel Vadot #endif /* DEV_SYSCON_GENERIC_H */ 44