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# $FreeBSD$ 28# 29 30#include <sys/bus.h> 31#include <machine/bus.h> 32 33INTERFACE sdio; 34 35# 36# READ DIRECT (1byte) 37# 38METHOD int read_direct { 39 device_t dev; 40 uint8_t fn; 41 uint32_t addr; 42 uint8_t *val; 43}; 44 45# 46# WRITE DIRECT (1byte) 47# 48METHOD int write_direct { 49 device_t dev; 50 uint8_t fn; 51 uint32_t addr; 52 uint8_t val; 53}; 54 55# 56# READ EXTENDED 57# 58METHOD int read_extended { 59 device_t dev; 60 uint8_t fn; 61 uint32_t addr; 62 uint32_t size; 63 uint8_t *buffer; 64 bool incaddr; 65}; 66 67# 68# WRITE EXTENDED 69# 70METHOD int write_extended { 71 device_t dev; 72 uint8_t fn; 73 uint32_t addr; 74 uint32_t size; 75 uint8_t *buffer; 76 bool incaddr; 77}; 78 79# end 80