Path: blob/main/sys/arm/broadcom/bcm2835/bcm2835_bscreg.h
39566 views
/*-1* SPDX-License-Identifier: BSD-2-Clause2*3* Copyright (c) 2012 Oleksandr Tymoshenko <[email protected]>4* Copyright (c) 2013 Luiz Otavio O Souza <[email protected]>5* All rights reserved.6*7* Redistribution and use in source and binary forms, with or without8* modification, are permitted provided that the following conditions9* are met:10* 1. Redistributions of source code must retain the above copyright11* notice, this list of conditions and the following disclaimer.12* 2. Redistributions in binary form must reproduce the above copyright13* notice, this list of conditions and the following disclaimer in the14* documentation and/or other materials provided with the distribution.15*16* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND17* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE18* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE19* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE20* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL21* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS22* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)23* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT24* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY25* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF26* SUCH DAMAGE.27*/2829#ifndef _BCM2835_BSCREG_H_30#define _BCM2835_BSCREG_H_3132#define BCM_BSC_CORE_CLK 150000000U33#define BCM_BSC_CTRL 0x0034#define BCM_BSC_CTRL_I2CEN (1 << 15)35#define BCM_BSC_CTRL_INTR (1 << 10)36#define BCM_BSC_CTRL_INTT (1 << 9)37#define BCM_BSC_CTRL_INTD (1 << 8)38#define BCM_BSC_CTRL_ST (1 << 7)39#define BCM_BSC_CTRL_CLEAR1 (1 << 5)40#define BCM_BSC_CTRL_CLEAR0 (1 << 4)41#define BCM_BSC_CTRL_READ (1 << 0)42#define BCM_BSC_CTRL_INT_ALL \43(BCM_BSC_CTRL_INTR | BCM_BSC_CTRL_INTT | BCM_BSC_CTRL_INTD)4445#define BCM_BSC_STATUS 0x0446#define BCM_BSC_STATUS_CLKT (1 << 9)47#define BCM_BSC_STATUS_ERR (1 << 8)48#define BCM_BSC_STATUS_RXF (1 << 7)49#define BCM_BSC_STATUS_TXE (1 << 6)50#define BCM_BSC_STATUS_RXD (1 << 5)51#define BCM_BSC_STATUS_TXD (1 << 4)52#define BCM_BSC_STATUS_RXR (1 << 3)53#define BCM_BSC_STATUS_TXW (1 << 2)54#define BCM_BSC_STATUS_DONE (1 << 1)55#define BCM_BSC_STATUS_TA (1 << 0)56#define BCM_BSC_STATUS_ERRBITS \57(BCM_BSC_STATUS_CLKT | BCM_BSC_STATUS_ERR)5859#define BCM_BSC_DLEN 0x0860#define BCM_BSC_SLAVE 0x0c61#define BCM_BSC_DATA 0x1062#define BCM_BSC_CLOCK 0x1463#define BCM_BSC_DELAY 0x1864#define BCM_BSC_CLKT 0x1c6566#endif /* _BCM2835_BSCREG_H_ */676869