1#- 2# Copyright (c) 2019 The FreeBSD Foundation 3# 4# Portions of this software were developed by Björn Zeeb 5# under sponsorship from the FreeBSD Foundation. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 1. Redistributions of source code must retain the above copyright 11# notice, this list of conditions and the following disclaimer. 12# 2. Redistributions in binary form must reproduce the above copyright 13# notice, this list of conditions and the following disclaimer in the 14# documentation and/or other materials provided with the distribution. 15# 16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26# 27# 28 29#include <sys/bus.h> 30#include <machine/bus.h> 31 32INTERFACE sdio; 33 34# 35# READ DIRECT (1byte) 36# 37METHOD int read_direct { 38 device_t dev; 39 uint8_t fn; 40 uint32_t addr; 41 uint8_t *val; 42}; 43 44# 45# WRITE DIRECT (1byte) 46# 47METHOD int write_direct { 48 device_t dev; 49 uint8_t fn; 50 uint32_t addr; 51 uint8_t val; 52}; 53 54# 55# READ EXTENDED 56# 57METHOD int read_extended { 58 device_t dev; 59 uint8_t fn; 60 uint32_t addr; 61 uint32_t size; 62 uint8_t *buffer; 63 bool incaddr; 64}; 65 66# 67# WRITE EXTENDED 68# 69METHOD int write_extended { 70 device_t dev; 71 uint8_t fn; 72 uint32_t addr; 73 uint32_t size; 74 uint8_t *buffer; 75 bool incaddr; 76}; 77 78# end 79