xref: /freebsd/sys/arm/mv/a37x0_iicreg.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
18a82d567SLuiz Otavio O Souza /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
38a82d567SLuiz Otavio O Souza  *
48a82d567SLuiz Otavio O Souza  * Copyright (c) 2018, 2019 Rubicon Communications, LLC (Netgate)
58a82d567SLuiz Otavio O Souza  *
68a82d567SLuiz Otavio O Souza  * Redistribution and use in source and binary forms, with or without
78a82d567SLuiz Otavio O Souza  * modification, are permitted provided that the following conditions
88a82d567SLuiz Otavio O Souza  * are met:
98a82d567SLuiz Otavio O Souza  * 1. Redistributions of source code must retain the above copyright
108a82d567SLuiz Otavio O Souza  *    notice, this list of conditions and the following disclaimer.
118a82d567SLuiz Otavio O Souza  * 2. Redistributions in binary form must reproduce the above copyright
128a82d567SLuiz Otavio O Souza  *    notice, this list of conditions and the following disclaimer in the
138a82d567SLuiz Otavio O Souza  *    documentation and/or other materials provided with the distribution.
148a82d567SLuiz Otavio O Souza  *
158a82d567SLuiz Otavio O Souza  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
168a82d567SLuiz Otavio O Souza  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
178a82d567SLuiz Otavio O Souza  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
188a82d567SLuiz Otavio O Souza  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
198a82d567SLuiz Otavio O Souza  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
208a82d567SLuiz Otavio O Souza  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
218a82d567SLuiz Otavio O Souza  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
228a82d567SLuiz Otavio O Souza  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
238a82d567SLuiz Otavio O Souza  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
248a82d567SLuiz Otavio O Souza  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
258a82d567SLuiz Otavio O Souza  * SUCH DAMAGE.
268a82d567SLuiz Otavio O Souza  */
278a82d567SLuiz Otavio O Souza 
288a82d567SLuiz Otavio O Souza #ifndef	_A37X0_IICREG_H_
298a82d567SLuiz Otavio O Souza #define	_A37X0_IICREG_H_
308a82d567SLuiz Otavio O Souza 
318a82d567SLuiz Otavio O Souza #define	A37X0_IIC_IBMR		0x00
328a82d567SLuiz Otavio O Souza #define	A37X0_IIC_IDBR		0x04
338a82d567SLuiz Otavio O Souza #define	A37X0_IIC_ICR		0x08
348a82d567SLuiz Otavio O Souza #define	 ICR_START		(1 << 0)
358a82d567SLuiz Otavio O Souza #define	 ICR_STOP		(1 << 1)
368a82d567SLuiz Otavio O Souza #define	 ICR_ACKNAK		(1 << 2)
378a82d567SLuiz Otavio O Souza #define	 ICR_TB			(1 << 3)
388a82d567SLuiz Otavio O Souza #define	 ICR_MA			(1 << 4)
398a82d567SLuiz Otavio O Souza #define	 ICR_SCLE		(1 << 5)
408a82d567SLuiz Otavio O Souza #define	 ICR_IUE		(1 << 6)
418a82d567SLuiz Otavio O Souza #define	 ICR_GCD		(1 << 7)
428a82d567SLuiz Otavio O Souza #define	 ICR_ITEIE		(1 << 8)
438a82d567SLuiz Otavio O Souza #define	 ICR_IRFIE		(1 << 9)
448a82d567SLuiz Otavio O Souza #define	 ICR_BEIE		(1 << 10)
458a82d567SLuiz Otavio O Souza #define	 ICR_SSDIE		(1 << 11)
468a82d567SLuiz Otavio O Souza #define	 ICR_ALDIE		(1 << 12)
478a82d567SLuiz Otavio O Souza #define	 ICR_SADIE		(1 << 13)
488a82d567SLuiz Otavio O Souza #define	 ICR_UR			(1 << 14)
498a82d567SLuiz Otavio O Souza #define	 ICR_FAST_MODE		(1 << 16)
508a82d567SLuiz Otavio O Souza #define	 ICR_HIGH_SPEED		(1 << 17)
518a82d567SLuiz Otavio O Souza #define	 ICR_MODE_MASK		(ICR_FAST_MODE | ICR_HIGH_SPEED)
528a82d567SLuiz Otavio O Souza #define	 ICR_INIT							\
538a82d567SLuiz Otavio O Souza     (ICR_BEIE | ICR_IRFIE | ICR_ITEIE | ICR_GCD | ICR_SCLE)
548a82d567SLuiz Otavio O Souza #define	A37X0_IIC_ISR		0x0c
558a82d567SLuiz Otavio O Souza #define	 ISR_RWM		(1 << 0)
568a82d567SLuiz Otavio O Souza #define	 ISR_ACKNAK		(1 << 1)
578a82d567SLuiz Otavio O Souza #define	 ISR_UB			(1 << 2)
588a82d567SLuiz Otavio O Souza #define	 ISR_IBB		(1 << 3)
598a82d567SLuiz Otavio O Souza #define	 ISR_SSD		(1 << 4)
608a82d567SLuiz Otavio O Souza #define	 ISR_ALD		(1 << 5)
618a82d567SLuiz Otavio O Souza #define	 ISR_ITE		(1 << 6)
628a82d567SLuiz Otavio O Souza #define	 ISR_IRF		(1 << 7)
638a82d567SLuiz Otavio O Souza #define	 ISR_GCAD		(1 << 8)
648a82d567SLuiz Otavio O Souza #define	 ISR_SAD		(1 << 9)
658a82d567SLuiz Otavio O Souza #define	 ISR_BED		(1 << 10)
668a82d567SLuiz Otavio O Souza 
678a82d567SLuiz Otavio O Souza #endif	/* _A37X0_IICREG_H_ */
68