1d27ba308SAdrian Chadd /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 3d27ba308SAdrian Chadd * 4d27ba308SAdrian Chadd * Copyright (c) 2021 Adrian Chadd <adrian@FreeBSD.org> 5d27ba308SAdrian Chadd * 6d27ba308SAdrian Chadd * Redistribution and use in source and binary forms, with or without 7d27ba308SAdrian Chadd * modification, are permitted provided that the following conditions 8d27ba308SAdrian Chadd * are met: 9d27ba308SAdrian Chadd * 1. Redistributions of source code must retain the above copyright 10d27ba308SAdrian Chadd * notice, this list of conditions and the following disclaimer. 11d27ba308SAdrian Chadd * 2. Redistributions in binary form must reproduce the above copyright 12d27ba308SAdrian Chadd * notice, this list of conditions and the following disclaimer in the 13d27ba308SAdrian Chadd * documentation and/or other materials provided with the distribution. 14d27ba308SAdrian Chadd * 15d27ba308SAdrian Chadd * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16d27ba308SAdrian Chadd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17d27ba308SAdrian Chadd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18d27ba308SAdrian Chadd * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19d27ba308SAdrian Chadd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20d27ba308SAdrian Chadd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21d27ba308SAdrian Chadd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22d27ba308SAdrian Chadd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23d27ba308SAdrian Chadd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24d27ba308SAdrian Chadd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25d27ba308SAdrian Chadd * SUCH DAMAGE. 26d27ba308SAdrian Chadd */ 27d27ba308SAdrian Chadd 28d27ba308SAdrian Chadd #ifndef __QCOM_SPI_DEBUG_H__ 29d27ba308SAdrian Chadd #define __QCOM_SPI_DEBUG_H__ 30d27ba308SAdrian Chadd 31d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_TRANSFER 0x00000001 32d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_HW_TRANSFER_SETUP 0x00000002 33d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_HW_TX_FIFO 0x00000004 34d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_HW_RX_FIFO 0x00000008 35d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_INTR 0x00000010 36d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_CHIPSELECT 0x00000020 37d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_HW_CHIPSELECT 0x00000080 38d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_HW_STATE_CHANGE 0x00000100 39d27ba308SAdrian Chadd #define QCOM_SPI_DEBUG_HW_INTR 0x00000200 40d27ba308SAdrian Chadd 41d27ba308SAdrian Chadd #define QCOM_SPI_DPRINTF(sc, flags, ...) \ 42d27ba308SAdrian Chadd do { \ 43d27ba308SAdrian Chadd if ((sc)->sc_debug & flags) \ 44d27ba308SAdrian Chadd device_printf((sc)->sc_dev, __VA_ARGS__); \ 45d27ba308SAdrian Chadd } while (0) 46d27ba308SAdrian Chadd 47d27ba308SAdrian Chadd #endif /* __QCOM_SPI_DEBUG_H__ */ 48