octeon_gpioreg.h revision 1.1
11.1Shikaru/*	$NetBSD: octeon_gpioreg.h,v 1.1 2015/04/29 08:32:01 hikaru Exp $	*/
21.1Shikaru
31.1Shikaru/*
41.1Shikaru * Copyright (c) 2007 Internet Initiative Japan, Inc.
51.1Shikaru * All rights reserved.
61.1Shikaru *
71.1Shikaru * Redistribution and use in source and binary forms, with or without
81.1Shikaru * modification, are permitted provided that the following conditions
91.1Shikaru * are met:
101.1Shikaru * 1. Redistributions of source code must retain the above copyright
111.1Shikaru *    notice, this list of conditions and the following disclaimer.
121.1Shikaru * 2. Redistributions in binary form must reproduce the above copyright
131.1Shikaru *    notice, this list of conditions and the following disclaimer in the
141.1Shikaru *    documentation and/or other materials provided with the distribution.
151.1Shikaru *
161.1Shikaru * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
171.1Shikaru * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
181.1Shikaru * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
191.1Shikaru * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
201.1Shikaru * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
211.1Shikaru * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
221.1Shikaru * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
231.1Shikaru * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
241.1Shikaru * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
251.1Shikaru * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
261.1Shikaru * SUCH DAMAGE.
271.1Shikaru */
281.1Shikaru
291.1Shikaru/*
301.1Shikaru * GPIO Registers
311.1Shikaru */
321.1Shikaru
331.1Shikaru#ifndef _OCTEON_GPIOREG_H_
341.1Shikaru#define _OCTEON_GPIOREG_H_
351.1Shikaru
361.1Shikaru#define	GPIO_BIT_CFG0				0x0001070000000800ULL
371.1Shikaru#define	GPIO_BIT_CFG1				0x0001070000000808ULL
381.1Shikaru#define	GPIO_BIT_CFG2				0x0001070000000810ULL
391.1Shikaru#define	GPIO_BIT_CFG3				0x0001070000000818ULL
401.1Shikaru#define	GPIO_BIT_CFG4				0x0001070000000820ULL
411.1Shikaru#define	GPIO_BIT_CFG5				0x0001070000000828ULL
421.1Shikaru#define	GPIO_BIT_CFG6				0x0001070000000830ULL
431.1Shikaru#define	GPIO_BIT_CFG7				0x0001070000000838ULL
441.1Shikaru#define	GPIO_BIT_CFG8				0x0001070000000840ULL
451.1Shikaru#define	GPIO_BIT_CFG9				0x0001070000000848ULL
461.1Shikaru#define	GPIO_BIT_CFG10				0x0001070000000850ULL
471.1Shikaru#define	GPIO_BIT_CFG11				0x0001070000000858ULL
481.1Shikaru#define	GPIO_BIT_CFG12				0x0001070000000860ULL
491.1Shikaru#define	GPIO_BIT_CFG13				0x0001070000000868ULL
501.1Shikaru#define	GPIO_BIT_CFG14				0x0001070000000870ULL
511.1Shikaru#define	GPIO_BIT_CFG15				0x0001070000000878ULL
521.1Shikaru#define	GPIO_RX_DAT				0x0001070000000880ULL
531.1Shikaru#define	GPIO_TX_SET				0x0001070000000888ULL
541.1Shikaru#define	GPIO_TX_CLR				0x0001070000000890ULL
551.1Shikaru#define	GPIO_INT_CLR				0x0001070000000898ULL
561.1Shikaru#define	GPIO_DBG_ENA				0x00010700000008a0ULL
571.1Shikaru#define	GPIO_BOOT_ENA				0x00010700000008a8ULL
581.1Shikaru#define	GPIO_XBIT_CFG16				0x0001070000000900ULL
591.1Shikaru#define	GPIO_XBIT_CFG17				0x0001070000000908ULL
601.1Shikaru#define	GPIO_XBIT_CFG18				0x0001070000000910ULL
611.1Shikaru#define	GPIO_XBIT_CFG19				0x0001070000000918ULL
621.1Shikaru#define	GPIO_XBIT_CFG20				0x0001070000000920ULL
631.1Shikaru#define	GPIO_XBIT_CFG21				0x0001070000000928ULL
641.1Shikaru#define	GPIO_XBIT_CFG22				0x0001070000000930ULL
651.1Shikaru#define	GPIO_XBIT_CFG23				0x0001070000000938ULL
661.1Shikaru
671.1Shikaru#define	GPIO_BIT_CFG_XXX_63_12			UINT64_C(0xfffffffffffff000)
681.1Shikaru#define	GPIO_BIT_CFG_FIL_SEL			UINT64_C(0x0000000000000f00)
691.1Shikaru#define	GPIO_BIT_CFG_FIL_CNT			UINT64_C(0x00000000000000f0)
701.1Shikaru#define	GPIO_BIT_CFG_INT_TYPE			UINT64_C(0x0000000000000008)
711.1Shikaru#define	GPIO_BIT_CFG_INT_EN			UINT64_C(0x0000000000000004)
721.1Shikaru#define	GPIO_BIT_CFG_RX_XOR			UINT64_C(0x0000000000000002)
731.1Shikaru#define	GPIO_BIT_CFG_TX_OE			UINT64_C(0x0000000000000001)
741.1Shikaru
751.1Shikaru/* XXX */
761.1Shikaru
771.1Shikaru/* ---- snprintb */
781.1Shikaru
791.1Shikaru#define	GPIO_BIT_CFG_BITS \
801.1Shikaru	"\177"		/* new format */ \
811.1Shikaru	"\020"		/* hex display */ \
821.1Shikaru	"\020"		/* %016x format */ \
831.1Shikaru	"f\x08\x04"	"FIL_SEL\0" \
841.1Shikaru	"f\x04\x04"	"FIL_CNT\0" \
851.1Shikaru	"b\x03"		"INT_TYPE\0" \
861.1Shikaru	"b\x02"		"INT_EN\0" \
871.1Shikaru	"b\x01"		"RX_XOR\0" \
881.1Shikaru	"b\x00"		"TX_OE\0"
891.1Shikaru
901.1Shikaru/* ---- bus_space */
911.1Shikaru
921.1Shikaru#define	GPIO_BASE				0x0001070000000800ULL
931.1Shikaru#define	GPIO_SIZE				0x0200
941.1Shikaru
951.1Shikaru#define	GPIO_BIT_CFG0_OFFSET			0x0000
961.1Shikaru#define	GPIO_BIT_CFG1_OFFSET			0x0008
971.1Shikaru#define	GPIO_BIT_CFG2_OFFSET			0x0010
981.1Shikaru#define	GPIO_BIT_CFG3_OFFSET			0x0018
991.1Shikaru#define	GPIO_BIT_CFG4_OFFSET			0x0020
1001.1Shikaru#define	GPIO_BIT_CFG5_OFFSET			0x0028
1011.1Shikaru#define	GPIO_BIT_CFG6_OFFSET			0x0030
1021.1Shikaru#define	GPIO_BIT_CFG7_OFFSET			0x0038
1031.1Shikaru#define	GPIO_BIT_CFG8_OFFSET			0x0040
1041.1Shikaru#define	GPIO_BIT_CFG9_OFFSET			0x0048
1051.1Shikaru#define	GPIO_BIT_CFG10_OFFSET			0x0050
1061.1Shikaru#define	GPIO_BIT_CFG11_OFFSET			0x0058
1071.1Shikaru#define	GPIO_BIT_CFG12_OFFSET			0x0060
1081.1Shikaru#define	GPIO_BIT_CFG13_OFFSET			0x0068
1091.1Shikaru#define	GPIO_BIT_CFG14_OFFSET			0x0070
1101.1Shikaru#define	GPIO_BIT_CFG15_OFFSET			0x0078
1111.1Shikaru#define	GPIO_RX_DAT_OFFSET			0x0080
1121.1Shikaru#define	GPIO_TX_SET_OFFSET			0x0088
1131.1Shikaru#define	GPIO_TX_CLR_OFFSET			0x0090
1141.1Shikaru#define	GPIO_INT_CLR_OFFSET			0x0098
1151.1Shikaru#define	GPIO_DBG_ENA_OFFSET			0x00a0
1161.1Shikaru#define	GPIO_BOOT_ENA_OFFSET			0x00a8
1171.1Shikaru#define	GPIO_XBIT_CFG16_OFFSET			0x0100
1181.1Shikaru#define	GPIO_XBIT_CFG17_OFFSET			0x0108
1191.1Shikaru#define	GPIO_XBIT_CFG18_OFFSET			0x0110
1201.1Shikaru#define	GPIO_XBIT_CFG19_OFFSET			0x0118
1211.1Shikaru#define	GPIO_XBIT_CFG20_OFFSET			0x0120
1221.1Shikaru#define	GPIO_XBIT_CFG21_OFFSET			0x0128
1231.1Shikaru#define	GPIO_XBIT_CFG22_OFFSET			0x0130
1241.1Shikaru#define	GPIO_XBIT_CFG23_OFFSET			0x0138
1251.1Shikaru
1261.1Shikaru#endif /* _OCTEON_GPIOREG_H_ */
127