1*8f245e3bSkiyohara /* $NetBSD: gtidmacvar.h,v 1.3 2017/01/07 14:36:51 kiyohara Exp $ */ 2a748aedcSkiyohara /* 3a748aedcSkiyohara * Copyright (c) 2008, 2009 KIYOHARA Takashi 4a748aedcSkiyohara * All rights reserved. 5a748aedcSkiyohara * 6a748aedcSkiyohara * Redistribution and use in source and binary forms, with or without 7a748aedcSkiyohara * modification, are permitted provided that the following conditions 8a748aedcSkiyohara * are met: 9a748aedcSkiyohara * 1. Redistributions of source code must retain the above copyright 10a748aedcSkiyohara * notice, this list of conditions and the following disclaimer. 11a748aedcSkiyohara * 2. Redistributions in binary form must reproduce the above copyright 12a748aedcSkiyohara * notice, this list of conditions and the following disclaimer in the 13a748aedcSkiyohara * documentation and/or other materials provided with the distribution. 14a748aedcSkiyohara * 15a748aedcSkiyohara * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16a748aedcSkiyohara * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17a748aedcSkiyohara * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18a748aedcSkiyohara * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 19a748aedcSkiyohara * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20a748aedcSkiyohara * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 21a748aedcSkiyohara * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22a748aedcSkiyohara * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 23a748aedcSkiyohara * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 24a748aedcSkiyohara * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25a748aedcSkiyohara * POSSIBILITY OF SUCH DAMAGE. 26a748aedcSkiyohara */ 27a748aedcSkiyohara 28a748aedcSkiyohara #ifndef _GTIDMACVAR_H_ 29a748aedcSkiyohara #define _GTIDMACVAR_H_ 30a748aedcSkiyohara 31c51a6569Skiyohara #include <dev/marvell/marvellvar.h> 32c51a6569Skiyohara 33c51a6569Skiyohara /* 34c51a6569Skiyohara * We get access control of IDMAC. 35c51a6569Skiyohara * Please set to variable 'gtidmac_winacctbl' your winacctbl-list by 36c51a6569Skiyohara * device_register() or MD initialization processing. You can also set except 37c51a6569Skiyohara * MARVELL_TAG_SDRAM_CS* to a tag. In this case, device_register() should 38c51a6569Skiyohara * replace mva_tags of marvell_attach_args to the tag list for you. 39c51a6569Skiyohara */ 40c51a6569Skiyohara struct gtidmac_winacctbl { 41c51a6569Skiyohara enum marvell_tags tag; 42c51a6569Skiyohara 43c51a6569Skiyohara #define GTIDMAC_WINACC_NOACCESSALLOWED 0 /* No Access Allowed */ 44c51a6569Skiyohara #define GTIDMAC_WINACC_READONLY 1 /* Read Only */ 45c51a6569Skiyohara #define GTIDMAC_WINACC_FULLACCESS 2 /* Full Access */ 46c51a6569Skiyohara int winacc; 47c51a6569Skiyohara }; 48c51a6569Skiyohara extern struct gtidmac_winacctbl *gtidmac_winacctbl; 49c51a6569Skiyohara extern struct gtidmac_winacctbl *mvxore_winacctbl; 50c51a6569Skiyohara 51a748aedcSkiyohara int gtidmac_chan_alloc(void *, bus_dmamap_t **, bus_dmamap_t **, void *); 52a748aedcSkiyohara void gtidmac_chan_free(void *, int); 53a748aedcSkiyohara int gtidmac_setup(void *, int, int, bus_dmamap_t *, bus_dmamap_t *, bus_size_t); 54a748aedcSkiyohara void gtidmac_start(void *, int, 55a748aedcSkiyohara void (*)(void *, int, bus_dmamap_t *, bus_dmamap_t *, int)); 56a748aedcSkiyohara 57a748aedcSkiyohara int mvxore_chan_alloc(void *, bus_dmamap_t **, bus_dmamap_t **, void *); 58a748aedcSkiyohara void mvxore_chan_free(void *, int); 59a748aedcSkiyohara int mvxore_setup(void *, int, int, bus_dmamap_t *, bus_dmamap_t *, bus_size_t); 60a748aedcSkiyohara void mvxore_start(void *, int, 61a748aedcSkiyohara void (*)(void *, int, bus_dmamap_t *, bus_dmamap_t *, int)); 62a748aedcSkiyohara 63a748aedcSkiyohara #endif /* _GTIDMACVAR_H_ */ 64