18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*  *********************************************************************
38c2ecf20Sopenharmony_ci    *  SB1250 Board Support Package
48c2ecf20Sopenharmony_ci    *
58c2ecf20Sopenharmony_ci    *  Generic Bus Constants			 File: sb1250_genbus.h
68c2ecf20Sopenharmony_ci    *
78c2ecf20Sopenharmony_ci    *  This module contains constants and macros useful for
88c2ecf20Sopenharmony_ci    *  manipulating the SB1250's Generic Bus interface
98c2ecf20Sopenharmony_ci    *
108c2ecf20Sopenharmony_ci    *  SB1250 specification level:  User's manual 10/21/02
118c2ecf20Sopenharmony_ci    *  BCM1280 specification level: User's Manual 11/14/03
128c2ecf20Sopenharmony_ci    *
138c2ecf20Sopenharmony_ci    *********************************************************************
148c2ecf20Sopenharmony_ci    *
158c2ecf20Sopenharmony_ci    *  Copyright 2000, 2001, 2002, 2003
168c2ecf20Sopenharmony_ci    *  Broadcom Corporation. All rights reserved.
178c2ecf20Sopenharmony_ci    *
188c2ecf20Sopenharmony_ci    ********************************************************************* */
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci#ifndef _SB1250_GENBUS_H
228c2ecf20Sopenharmony_ci#define _SB1250_GENBUS_H
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci#include <asm/sibyte/sb1250_defs.h>
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci/*
278c2ecf20Sopenharmony_ci * Generic Bus Region Configuration Registers (Table 11-4)
288c2ecf20Sopenharmony_ci */
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci#define S_IO_RDY_ACTIVE		0
318c2ecf20Sopenharmony_ci#define M_IO_RDY_ACTIVE		_SB_MAKEMASK1(S_IO_RDY_ACTIVE)
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci#define S_IO_ENA_RDY		1
348c2ecf20Sopenharmony_ci#define M_IO_ENA_RDY		_SB_MAKEMASK1(S_IO_ENA_RDY)
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci#define S_IO_WIDTH_SEL		2
378c2ecf20Sopenharmony_ci#define M_IO_WIDTH_SEL		_SB_MAKEMASK(2, S_IO_WIDTH_SEL)
388c2ecf20Sopenharmony_ci#define K_IO_WIDTH_SEL_1	0
398c2ecf20Sopenharmony_ci#define K_IO_WIDTH_SEL_2	1
408c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \
418c2ecf20Sopenharmony_ci    || SIBYTE_HDR_FEATURE_CHIP(1480)
428c2ecf20Sopenharmony_ci#define K_IO_WIDTH_SEL_1L	2
438c2ecf20Sopenharmony_ci#endif /* 1250 PASS2 || 112x PASS1 || 1480 */
448c2ecf20Sopenharmony_ci#define K_IO_WIDTH_SEL_4	3
458c2ecf20Sopenharmony_ci#define V_IO_WIDTH_SEL(x)	_SB_MAKEVALUE(x, S_IO_WIDTH_SEL)
468c2ecf20Sopenharmony_ci#define G_IO_WIDTH_SEL(x)	_SB_GETVALUE(x, S_IO_WIDTH_SEL, M_IO_WIDTH_SEL)
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci#define S_IO_PARITY_ENA		4
498c2ecf20Sopenharmony_ci#define M_IO_PARITY_ENA		_SB_MAKEMASK1(S_IO_PARITY_ENA)
508c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \
518c2ecf20Sopenharmony_ci    || SIBYTE_HDR_FEATURE_CHIP(1480)
528c2ecf20Sopenharmony_ci#define S_IO_BURST_EN		5
538c2ecf20Sopenharmony_ci#define M_IO_BURST_EN		_SB_MAKEMASK1(S_IO_BURST_EN)
548c2ecf20Sopenharmony_ci#endif /* 1250 PASS2 || 112x PASS1 || 1480 */
558c2ecf20Sopenharmony_ci#define S_IO_PARITY_ODD		6
568c2ecf20Sopenharmony_ci#define M_IO_PARITY_ODD		_SB_MAKEMASK1(S_IO_PARITY_ODD)
578c2ecf20Sopenharmony_ci#define S_IO_NONMUX		7
588c2ecf20Sopenharmony_ci#define M_IO_NONMUX		_SB_MAKEMASK1(S_IO_NONMUX)
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci#define S_IO_TIMEOUT		8
618c2ecf20Sopenharmony_ci#define M_IO_TIMEOUT		_SB_MAKEMASK(8, S_IO_TIMEOUT)
628c2ecf20Sopenharmony_ci#define V_IO_TIMEOUT(x)		_SB_MAKEVALUE(x, S_IO_TIMEOUT)
638c2ecf20Sopenharmony_ci#define G_IO_TIMEOUT(x)		_SB_GETVALUE(x, S_IO_TIMEOUT, M_IO_TIMEOUT)
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci/*
668c2ecf20Sopenharmony_ci * Generic Bus Region Size register (Table 11-5)
678c2ecf20Sopenharmony_ci */
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci#define S_IO_MULT_SIZE		0
708c2ecf20Sopenharmony_ci#define M_IO_MULT_SIZE		_SB_MAKEMASK(12, S_IO_MULT_SIZE)
718c2ecf20Sopenharmony_ci#define V_IO_MULT_SIZE(x)	_SB_MAKEVALUE(x, S_IO_MULT_SIZE)
728c2ecf20Sopenharmony_ci#define G_IO_MULT_SIZE(x)	_SB_GETVALUE(x, S_IO_MULT_SIZE, M_IO_MULT_SIZE)
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci#define S_IO_REGSIZE		16	 /* # bits to shift size for this reg */
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci/*
778c2ecf20Sopenharmony_ci * Generic Bus Region Address (Table 11-6)
788c2ecf20Sopenharmony_ci */
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci#define S_IO_START_ADDR		0
818c2ecf20Sopenharmony_ci#define M_IO_START_ADDR		_SB_MAKEMASK(14, S_IO_START_ADDR)
828c2ecf20Sopenharmony_ci#define V_IO_START_ADDR(x)	_SB_MAKEVALUE(x, S_IO_START_ADDR)
838c2ecf20Sopenharmony_ci#define G_IO_START_ADDR(x)	_SB_GETVALUE(x, S_IO_START_ADDR, M_IO_START_ADDR)
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci#define S_IO_ADDRBASE		16	 /* # bits to shift addr for this reg */
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci#define M_IO_BLK_CACHE		_SB_MAKEMASK1(15)
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci/*
918c2ecf20Sopenharmony_ci * Generic Bus Timing 0 Registers (Table 11-7)
928c2ecf20Sopenharmony_ci */
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci#define S_IO_ALE_WIDTH		0
958c2ecf20Sopenharmony_ci#define M_IO_ALE_WIDTH		_SB_MAKEMASK(3, S_IO_ALE_WIDTH)
968c2ecf20Sopenharmony_ci#define V_IO_ALE_WIDTH(x)	_SB_MAKEVALUE(x, S_IO_ALE_WIDTH)
978c2ecf20Sopenharmony_ci#define G_IO_ALE_WIDTH(x)	_SB_GETVALUE(x, S_IO_ALE_WIDTH, M_IO_ALE_WIDTH)
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \
1008c2ecf20Sopenharmony_ci    || SIBYTE_HDR_FEATURE_CHIP(1480)
1018c2ecf20Sopenharmony_ci#define M_IO_EARLY_CS		_SB_MAKEMASK1(3)
1028c2ecf20Sopenharmony_ci#endif /* 1250 PASS2 || 112x PASS1 || 1480 */
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci#define S_IO_ALE_TO_CS		4
1058c2ecf20Sopenharmony_ci#define M_IO_ALE_TO_CS		_SB_MAKEMASK(2, S_IO_ALE_TO_CS)
1068c2ecf20Sopenharmony_ci#define V_IO_ALE_TO_CS(x)	_SB_MAKEVALUE(x, S_IO_ALE_TO_CS)
1078c2ecf20Sopenharmony_ci#define G_IO_ALE_TO_CS(x)	_SB_GETVALUE(x, S_IO_ALE_TO_CS, M_IO_ALE_TO_CS)
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \
1108c2ecf20Sopenharmony_ci    || SIBYTE_HDR_FEATURE_CHIP(1480)
1118c2ecf20Sopenharmony_ci#define S_IO_BURST_WIDTH	   _SB_MAKE64(6)
1128c2ecf20Sopenharmony_ci#define M_IO_BURST_WIDTH	   _SB_MAKEMASK(2, S_IO_BURST_WIDTH)
1138c2ecf20Sopenharmony_ci#define V_IO_BURST_WIDTH(x)	   _SB_MAKEVALUE(x, S_IO_BURST_WIDTH)
1148c2ecf20Sopenharmony_ci#define G_IO_BURST_WIDTH(x)	   _SB_GETVALUE(x, S_IO_BURST_WIDTH, M_IO_BURST_WIDTH)
1158c2ecf20Sopenharmony_ci#endif /* 1250 PASS2 || 112x PASS1 || 1480 */
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci#define S_IO_CS_WIDTH		8
1188c2ecf20Sopenharmony_ci#define M_IO_CS_WIDTH		_SB_MAKEMASK(5, S_IO_CS_WIDTH)
1198c2ecf20Sopenharmony_ci#define V_IO_CS_WIDTH(x)	_SB_MAKEVALUE(x, S_IO_CS_WIDTH)
1208c2ecf20Sopenharmony_ci#define G_IO_CS_WIDTH(x)	_SB_GETVALUE(x, S_IO_CS_WIDTH, M_IO_CS_WIDTH)
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci#define S_IO_RDY_SMPLE		13
1238c2ecf20Sopenharmony_ci#define M_IO_RDY_SMPLE		_SB_MAKEMASK(3, S_IO_RDY_SMPLE)
1248c2ecf20Sopenharmony_ci#define V_IO_RDY_SMPLE(x)	_SB_MAKEVALUE(x, S_IO_RDY_SMPLE)
1258c2ecf20Sopenharmony_ci#define G_IO_RDY_SMPLE(x)	_SB_GETVALUE(x, S_IO_RDY_SMPLE, M_IO_RDY_SMPLE)
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci/*
1298c2ecf20Sopenharmony_ci * Generic Bus Timing 1 Registers (Table 11-8)
1308c2ecf20Sopenharmony_ci */
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci#define S_IO_ALE_TO_WRITE	0
1338c2ecf20Sopenharmony_ci#define M_IO_ALE_TO_WRITE	_SB_MAKEMASK(3, S_IO_ALE_TO_WRITE)
1348c2ecf20Sopenharmony_ci#define V_IO_ALE_TO_WRITE(x)	_SB_MAKEVALUE(x, S_IO_ALE_TO_WRITE)
1358c2ecf20Sopenharmony_ci#define G_IO_ALE_TO_WRITE(x)	_SB_GETVALUE(x, S_IO_ALE_TO_WRITE, M_IO_ALE_TO_WRITE)
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \
1388c2ecf20Sopenharmony_ci    || SIBYTE_HDR_FEATURE_CHIP(1480)
1398c2ecf20Sopenharmony_ci#define M_IO_RDY_SYNC		_SB_MAKEMASK1(3)
1408c2ecf20Sopenharmony_ci#endif /* 1250 PASS2 || 112x PASS1 || 1480 */
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci#define S_IO_WRITE_WIDTH	4
1438c2ecf20Sopenharmony_ci#define M_IO_WRITE_WIDTH	_SB_MAKEMASK(4, S_IO_WRITE_WIDTH)
1448c2ecf20Sopenharmony_ci#define V_IO_WRITE_WIDTH(x)	_SB_MAKEVALUE(x, S_IO_WRITE_WIDTH)
1458c2ecf20Sopenharmony_ci#define G_IO_WRITE_WIDTH(x)	_SB_GETVALUE(x, S_IO_WRITE_WIDTH, M_IO_WRITE_WIDTH)
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci#define S_IO_IDLE_CYCLE		8
1488c2ecf20Sopenharmony_ci#define M_IO_IDLE_CYCLE		_SB_MAKEMASK(4, S_IO_IDLE_CYCLE)
1498c2ecf20Sopenharmony_ci#define V_IO_IDLE_CYCLE(x)	_SB_MAKEVALUE(x, S_IO_IDLE_CYCLE)
1508c2ecf20Sopenharmony_ci#define G_IO_IDLE_CYCLE(x)	_SB_GETVALUE(x, S_IO_IDLE_CYCLE, M_IO_IDLE_CYCLE)
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ci#define S_IO_OE_TO_CS		12
1538c2ecf20Sopenharmony_ci#define M_IO_OE_TO_CS		_SB_MAKEMASK(2, S_IO_OE_TO_CS)
1548c2ecf20Sopenharmony_ci#define V_IO_OE_TO_CS(x)	_SB_MAKEVALUE(x, S_IO_OE_TO_CS)
1558c2ecf20Sopenharmony_ci#define G_IO_OE_TO_CS(x)	_SB_GETVALUE(x, S_IO_OE_TO_CS, M_IO_OE_TO_CS)
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci#define S_IO_CS_TO_OE		14
1588c2ecf20Sopenharmony_ci#define M_IO_CS_TO_OE		_SB_MAKEMASK(2, S_IO_CS_TO_OE)
1598c2ecf20Sopenharmony_ci#define V_IO_CS_TO_OE(x)	_SB_MAKEVALUE(x, S_IO_CS_TO_OE)
1608c2ecf20Sopenharmony_ci#define G_IO_CS_TO_OE(x)	_SB_GETVALUE(x, S_IO_CS_TO_OE, M_IO_CS_TO_OE)
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci/*
1638c2ecf20Sopenharmony_ci * Generic Bus Interrupt Status Register (Table 11-9)
1648c2ecf20Sopenharmony_ci */
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ci#define M_IO_CS_ERR_INT		_SB_MAKEMASK(0, 8)
1678c2ecf20Sopenharmony_ci#define M_IO_CS0_ERR_INT	_SB_MAKEMASK1(0)
1688c2ecf20Sopenharmony_ci#define M_IO_CS1_ERR_INT	_SB_MAKEMASK1(1)
1698c2ecf20Sopenharmony_ci#define M_IO_CS2_ERR_INT	_SB_MAKEMASK1(2)
1708c2ecf20Sopenharmony_ci#define M_IO_CS3_ERR_INT	_SB_MAKEMASK1(3)
1718c2ecf20Sopenharmony_ci#define M_IO_CS4_ERR_INT	_SB_MAKEMASK1(4)
1728c2ecf20Sopenharmony_ci#define M_IO_CS5_ERR_INT	_SB_MAKEMASK1(5)
1738c2ecf20Sopenharmony_ci#define M_IO_CS6_ERR_INT	_SB_MAKEMASK1(6)
1748c2ecf20Sopenharmony_ci#define M_IO_CS7_ERR_INT	_SB_MAKEMASK1(7)
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci#define M_IO_RD_PAR_INT		_SB_MAKEMASK1(9)
1778c2ecf20Sopenharmony_ci#define M_IO_TIMEOUT_INT	_SB_MAKEMASK1(10)
1788c2ecf20Sopenharmony_ci#define M_IO_ILL_ADDR_INT	_SB_MAKEMASK1(11)
1798c2ecf20Sopenharmony_ci#define M_IO_MULT_CS_INT	_SB_MAKEMASK1(12)
1808c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
1818c2ecf20Sopenharmony_ci#define M_IO_COH_ERR		_SB_MAKEMASK1(14)
1828c2ecf20Sopenharmony_ci#endif /* 1250 PASS2 || 112x PASS1 || 1480 */
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci/*
1868c2ecf20Sopenharmony_ci * Generic Bus Output Drive Control Register 0 (Table 14-18)
1878c2ecf20Sopenharmony_ci */
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci#define S_IO_SLEW0		0
1908c2ecf20Sopenharmony_ci#define M_IO_SLEW0		_SB_MAKEMASK(2, S_IO_SLEW0)
1918c2ecf20Sopenharmony_ci#define V_IO_SLEW0(x)		_SB_MAKEVALUE(x, S_IO_SLEW0)
1928c2ecf20Sopenharmony_ci#define G_IO_SLEW0(x)		_SB_GETVALUE(x, S_IO_SLEW0, M_IO_SLEW0)
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci#define S_IO_DRV_A		2
1958c2ecf20Sopenharmony_ci#define M_IO_DRV_A		_SB_MAKEMASK(2, S_IO_DRV_A)
1968c2ecf20Sopenharmony_ci#define V_IO_DRV_A(x)		_SB_MAKEVALUE(x, S_IO_DRV_A)
1978c2ecf20Sopenharmony_ci#define G_IO_DRV_A(x)		_SB_GETVALUE(x, S_IO_DRV_A, M_IO_DRV_A)
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ci#define S_IO_DRV_B		6
2008c2ecf20Sopenharmony_ci#define M_IO_DRV_B		_SB_MAKEMASK(2, S_IO_DRV_B)
2018c2ecf20Sopenharmony_ci#define V_IO_DRV_B(x)		_SB_MAKEVALUE(x, S_IO_DRV_B)
2028c2ecf20Sopenharmony_ci#define G_IO_DRV_B(x)		_SB_GETVALUE(x, S_IO_DRV_B, M_IO_DRV_B)
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci#define S_IO_DRV_C		10
2058c2ecf20Sopenharmony_ci#define M_IO_DRV_C		_SB_MAKEMASK(2, S_IO_DRV_C)
2068c2ecf20Sopenharmony_ci#define V_IO_DRV_C(x)		_SB_MAKEVALUE(x, S_IO_DRV_C)
2078c2ecf20Sopenharmony_ci#define G_IO_DRV_C(x)		_SB_GETVALUE(x, S_IO_DRV_C, M_IO_DRV_C)
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ci#define S_IO_DRV_D		14
2108c2ecf20Sopenharmony_ci#define M_IO_DRV_D		_SB_MAKEMASK(2, S_IO_DRV_D)
2118c2ecf20Sopenharmony_ci#define V_IO_DRV_D(x)		_SB_MAKEVALUE(x, S_IO_DRV_D)
2128c2ecf20Sopenharmony_ci#define G_IO_DRV_D(x)		_SB_GETVALUE(x, S_IO_DRV_D, M_IO_DRV_D)
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ci/*
2158c2ecf20Sopenharmony_ci * Generic Bus Output Drive Control Register 1 (Table 14-19)
2168c2ecf20Sopenharmony_ci */
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci#define S_IO_DRV_E		2
2198c2ecf20Sopenharmony_ci#define M_IO_DRV_E		_SB_MAKEMASK(2, S_IO_DRV_E)
2208c2ecf20Sopenharmony_ci#define V_IO_DRV_E(x)		_SB_MAKEVALUE(x, S_IO_DRV_E)
2218c2ecf20Sopenharmony_ci#define G_IO_DRV_E(x)		_SB_GETVALUE(x, S_IO_DRV_E, M_IO_DRV_E)
2228c2ecf20Sopenharmony_ci
2238c2ecf20Sopenharmony_ci#define S_IO_DRV_F		6
2248c2ecf20Sopenharmony_ci#define M_IO_DRV_F		_SB_MAKEMASK(2, S_IO_DRV_F)
2258c2ecf20Sopenharmony_ci#define V_IO_DRV_F(x)		_SB_MAKEVALUE(x, S_IO_DRV_F)
2268c2ecf20Sopenharmony_ci#define G_IO_DRV_F(x)		_SB_GETVALUE(x, S_IO_DRV_F, M_IO_DRV_F)
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ci#define S_IO_SLEW1		8
2298c2ecf20Sopenharmony_ci#define M_IO_SLEW1		_SB_MAKEMASK(2, S_IO_SLEW1)
2308c2ecf20Sopenharmony_ci#define V_IO_SLEW1(x)		_SB_MAKEVALUE(x, S_IO_SLEW1)
2318c2ecf20Sopenharmony_ci#define G_IO_SLEW1(x)		_SB_GETVALUE(x, S_IO_SLEW1, M_IO_SLEW1)
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci#define S_IO_DRV_G		10
2348c2ecf20Sopenharmony_ci#define M_IO_DRV_G		_SB_MAKEMASK(2, S_IO_DRV_G)
2358c2ecf20Sopenharmony_ci#define V_IO_DRV_G(x)		_SB_MAKEVALUE(x, S_IO_DRV_G)
2368c2ecf20Sopenharmony_ci#define G_IO_DRV_G(x)		_SB_GETVALUE(x, S_IO_DRV_G, M_IO_DRV_G)
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci#define S_IO_SLEW2		12
2398c2ecf20Sopenharmony_ci#define M_IO_SLEW2		_SB_MAKEMASK(2, S_IO_SLEW2)
2408c2ecf20Sopenharmony_ci#define V_IO_SLEW2(x)		_SB_MAKEVALUE(x, S_IO_SLEW2)
2418c2ecf20Sopenharmony_ci#define G_IO_SLEW2(x)		_SB_GETVALUE(x, S_IO_SLEW2, M_IO_SLEW2)
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ci#define S_IO_DRV_H		14
2448c2ecf20Sopenharmony_ci#define M_IO_DRV_H		_SB_MAKEMASK(2, S_IO_DRV_H)
2458c2ecf20Sopenharmony_ci#define V_IO_DRV_H(x)		_SB_MAKEVALUE(x, S_IO_DRV_H)
2468c2ecf20Sopenharmony_ci#define G_IO_DRV_H(x)		_SB_GETVALUE(x, S_IO_DRV_H, M_IO_DRV_H)
2478c2ecf20Sopenharmony_ci
2488c2ecf20Sopenharmony_ci/*
2498c2ecf20Sopenharmony_ci * Generic Bus Output Drive Control Register 2 (Table 14-20)
2508c2ecf20Sopenharmony_ci */
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ci#define S_IO_DRV_J		2
2538c2ecf20Sopenharmony_ci#define M_IO_DRV_J		_SB_MAKEMASK(2, S_IO_DRV_J)
2548c2ecf20Sopenharmony_ci#define V_IO_DRV_J(x)		_SB_MAKEVALUE(x, S_IO_DRV_J)
2558c2ecf20Sopenharmony_ci#define G_IO_DRV_J(x)		_SB_GETVALUE(x, S_IO_DRV_J, M_IO_DRV_J)
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ci#define S_IO_DRV_K		6
2588c2ecf20Sopenharmony_ci#define M_IO_DRV_K		_SB_MAKEMASK(2, S_IO_DRV_K)
2598c2ecf20Sopenharmony_ci#define V_IO_DRV_K(x)		_SB_MAKEVALUE(x, S_IO_DRV_K)
2608c2ecf20Sopenharmony_ci#define G_IO_DRV_K(x)		_SB_GETVALUE(x, S_IO_DRV_K, M_IO_DRV_K)
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ci#define S_IO_DRV_L		10
2638c2ecf20Sopenharmony_ci#define M_IO_DRV_L		_SB_MAKEMASK(2, S_IO_DRV_L)
2648c2ecf20Sopenharmony_ci#define V_IO_DRV_L(x)		_SB_MAKEVALUE(x, S_IO_DRV_L)
2658c2ecf20Sopenharmony_ci#define G_IO_DRV_L(x)		_SB_GETVALUE(x, S_IO_DRV_L, M_IO_DRV_L)
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ci#define S_IO_DRV_M		14
2688c2ecf20Sopenharmony_ci#define M_IO_DRV_M		_SB_MAKEMASK(2, S_IO_DRV_M)
2698c2ecf20Sopenharmony_ci#define V_IO_DRV_M(x)		_SB_MAKEVALUE(x, S_IO_DRV_M)
2708c2ecf20Sopenharmony_ci#define G_IO_DRV_M(x)		_SB_GETVALUE(x, S_IO_DRV_M, M_IO_DRV_M)
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ci/*
2738c2ecf20Sopenharmony_ci * Generic Bus Output Drive Control Register 3 (Table 14-21)
2748c2ecf20Sopenharmony_ci */
2758c2ecf20Sopenharmony_ci
2768c2ecf20Sopenharmony_ci#define S_IO_SLEW3		0
2778c2ecf20Sopenharmony_ci#define M_IO_SLEW3		_SB_MAKEMASK(2, S_IO_SLEW3)
2788c2ecf20Sopenharmony_ci#define V_IO_SLEW3(x)		_SB_MAKEVALUE(x, S_IO_SLEW3)
2798c2ecf20Sopenharmony_ci#define G_IO_SLEW3(x)		_SB_GETVALUE(x, S_IO_SLEW3, M_IO_SLEW3)
2808c2ecf20Sopenharmony_ci
2818c2ecf20Sopenharmony_ci#define S_IO_DRV_N		2
2828c2ecf20Sopenharmony_ci#define M_IO_DRV_N		_SB_MAKEMASK(2, S_IO_DRV_N)
2838c2ecf20Sopenharmony_ci#define V_IO_DRV_N(x)		_SB_MAKEVALUE(x, S_IO_DRV_N)
2848c2ecf20Sopenharmony_ci#define G_IO_DRV_N(x)		_SB_GETVALUE(x, S_IO_DRV_N, M_IO_DRV_N)
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci#define S_IO_DRV_P		6
2878c2ecf20Sopenharmony_ci#define M_IO_DRV_P		_SB_MAKEMASK(2, S_IO_DRV_P)
2888c2ecf20Sopenharmony_ci#define V_IO_DRV_P(x)		_SB_MAKEVALUE(x, S_IO_DRV_P)
2898c2ecf20Sopenharmony_ci#define G_IO_DRV_P(x)		_SB_GETVALUE(x, S_IO_DRV_P, M_IO_DRV_P)
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ci#define S_IO_DRV_Q		10
2928c2ecf20Sopenharmony_ci#define M_IO_DRV_Q		_SB_MAKEMASK(2, S_IO_DRV_Q)
2938c2ecf20Sopenharmony_ci#define V_IO_DRV_Q(x)		_SB_MAKEVALUE(x, S_IO_DRV_Q)
2948c2ecf20Sopenharmony_ci#define G_IO_DRV_Q(x)		_SB_GETVALUE(x, S_IO_DRV_Q, M_IO_DRV_Q)
2958c2ecf20Sopenharmony_ci
2968c2ecf20Sopenharmony_ci#define S_IO_DRV_R		14
2978c2ecf20Sopenharmony_ci#define M_IO_DRV_R		_SB_MAKEMASK(2, S_IO_DRV_R)
2988c2ecf20Sopenharmony_ci#define V_IO_DRV_R(x)		_SB_MAKEVALUE(x, S_IO_DRV_R)
2998c2ecf20Sopenharmony_ci#define G_IO_DRV_R(x)		_SB_GETVALUE(x, S_IO_DRV_R, M_IO_DRV_R)
3008c2ecf20Sopenharmony_ci
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ci/*
3038c2ecf20Sopenharmony_ci * PCMCIA configuration register (Table 12-6)
3048c2ecf20Sopenharmony_ci */
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_ATTRMEM	_SB_MAKEMASK1(0)
3078c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_3VEN	_SB_MAKEMASK1(1)
3088c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_5VEN	_SB_MAKEMASK1(2)
3098c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_VPPEN	_SB_MAKEMASK1(3)
3108c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_RESET	_SB_MAKEMASK1(4)
3118c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_APWRONEN	_SB_MAKEMASK1(5)
3128c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_CDMASK	_SB_MAKEMASK1(6)
3138c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_WPMASK	_SB_MAKEMASK1(7)
3148c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_RDYMASK	_SB_MAKEMASK1(8)
3158c2ecf20Sopenharmony_ci#define M_PCMCIA_CFG_PWRCTL	_SB_MAKEMASK1(9)
3168c2ecf20Sopenharmony_ci
3178c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE_CHIP(1480)
3188c2ecf20Sopenharmony_ci#define S_PCMCIA_MODE		16
3198c2ecf20Sopenharmony_ci#define M_PCMCIA_MODE		_SB_MAKEMASK(3, S_PCMCIA_MODE)
3208c2ecf20Sopenharmony_ci#define V_PCMCIA_MODE(x)	_SB_MAKEVALUE(x, S_PCMCIA_MODE)
3218c2ecf20Sopenharmony_ci#define G_PCMCIA_MODE(x)	_SB_GETVALUE(x, S_PCMCIA_MODE, M_PCMCIA_MODE)
3228c2ecf20Sopenharmony_ci
3238c2ecf20Sopenharmony_ci#define K_PCMCIA_MODE_PCMA_NOB	0	/* standard PCMCIA "A", no "B" */
3248c2ecf20Sopenharmony_ci#define K_PCMCIA_MODE_IDEA_NOB	1	/* IDE "A", no "B" */
3258c2ecf20Sopenharmony_ci#define K_PCMCIA_MODE_PCMIOA_NOB 2	/* PCMCIA with I/O "A", no "B" */
3268c2ecf20Sopenharmony_ci#define K_PCMCIA_MODE_PCMA_PCMB 4	/* standard PCMCIA "A", standard PCMCIA "B" */
3278c2ecf20Sopenharmony_ci#define K_PCMCIA_MODE_IDEA_PCMB 5	/* IDE "A", standard PCMCIA "B" */
3288c2ecf20Sopenharmony_ci#define K_PCMCIA_MODE_PCMA_IDEB 6	/* standard PCMCIA "A", IDE "B" */
3298c2ecf20Sopenharmony_ci#define K_PCMCIA_MODE_IDEA_IDEB 7	/* IDE "A", IDE "B" */
3308c2ecf20Sopenharmony_ci#endif
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ci/*
3348c2ecf20Sopenharmony_ci * PCMCIA status register (Table 12-7)
3358c2ecf20Sopenharmony_ci */
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_CD1	_SB_MAKEMASK1(0)
3388c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_CD2	_SB_MAKEMASK1(1)
3398c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_VS1	_SB_MAKEMASK1(2)
3408c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_VS2	_SB_MAKEMASK1(3)
3418c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_WP	_SB_MAKEMASK1(4)
3428c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_RDY	_SB_MAKEMASK1(5)
3438c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_3VEN	_SB_MAKEMASK1(6)
3448c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_5VEN	_SB_MAKEMASK1(7)
3458c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_CDCHG	_SB_MAKEMASK1(8)
3468c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_WPCHG	_SB_MAKEMASK1(9)
3478c2ecf20Sopenharmony_ci#define M_PCMCIA_STATUS_RDYCHG	_SB_MAKEMASK1(10)
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ci/*
3508c2ecf20Sopenharmony_ci * GPIO Interrupt Type Register (table 13-3)
3518c2ecf20Sopenharmony_ci */
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ci#define K_GPIO_INTR_DISABLE	0
3548c2ecf20Sopenharmony_ci#define K_GPIO_INTR_EDGE	1
3558c2ecf20Sopenharmony_ci#define K_GPIO_INTR_LEVEL	2
3568c2ecf20Sopenharmony_ci#define K_GPIO_INTR_SPLIT	3
3578c2ecf20Sopenharmony_ci
3588c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPEX(n)	(((n)/2)*2)
3598c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPEX(n)	_SB_MAKEMASK(2, S_GPIO_INTR_TYPEX(n))
3608c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPEX(n, x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPEX(n))
3618c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPEX(n, x) _SB_GETVALUE(x, S_GPIO_INTR_TYPEX(n), M_GPIO_INTR_TYPEX(n))
3628c2ecf20Sopenharmony_ci
3638c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE0	0
3648c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE0	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE0)
3658c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE0(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE0)
3668c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE0(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE0, M_GPIO_INTR_TYPE0)
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE2	2
3698c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE2	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE2)
3708c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE2(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE2)
3718c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE2(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE2, M_GPIO_INTR_TYPE2)
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE4	4
3748c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE4	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE4)
3758c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE4(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE4)
3768c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE4(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE4, M_GPIO_INTR_TYPE4)
3778c2ecf20Sopenharmony_ci
3788c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE6	6
3798c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE6	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE6)
3808c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE6(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE6)
3818c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE6(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE6, M_GPIO_INTR_TYPE6)
3828c2ecf20Sopenharmony_ci
3838c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE8	8
3848c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE8	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE8)
3858c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE8(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE8)
3868c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE8(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE8, M_GPIO_INTR_TYPE8)
3878c2ecf20Sopenharmony_ci
3888c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE10	10
3898c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE10	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE10)
3908c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE10(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE10)
3918c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE10(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE10, M_GPIO_INTR_TYPE10)
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE12	12
3948c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE12	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE12)
3958c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE12(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE12)
3968c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE12(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE12, M_GPIO_INTR_TYPE12)
3978c2ecf20Sopenharmony_ci
3988c2ecf20Sopenharmony_ci#define S_GPIO_INTR_TYPE14	14
3998c2ecf20Sopenharmony_ci#define M_GPIO_INTR_TYPE14	_SB_MAKEMASK(2, S_GPIO_INTR_TYPE14)
4008c2ecf20Sopenharmony_ci#define V_GPIO_INTR_TYPE14(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_TYPE14)
4018c2ecf20Sopenharmony_ci#define G_GPIO_INTR_TYPE14(x)	_SB_GETVALUE(x, S_GPIO_INTR_TYPE14, M_GPIO_INTR_TYPE14)
4028c2ecf20Sopenharmony_ci
4038c2ecf20Sopenharmony_ci#if SIBYTE_HDR_FEATURE_CHIP(1480)
4048c2ecf20Sopenharmony_ci
4058c2ecf20Sopenharmony_ci/*
4068c2ecf20Sopenharmony_ci * GPIO Interrupt Additional Type Register
4078c2ecf20Sopenharmony_ci */
4088c2ecf20Sopenharmony_ci
4098c2ecf20Sopenharmony_ci#define K_GPIO_INTR_BOTHEDGE	0
4108c2ecf20Sopenharmony_ci#define K_GPIO_INTR_RISEEDGE	1
4118c2ecf20Sopenharmony_ci#define K_GPIO_INTR_UNPRED1	2
4128c2ecf20Sopenharmony_ci#define K_GPIO_INTR_UNPRED2	3
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPEX(n)	(((n)/2)*2)
4158c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPEX(n)	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPEX(n))
4168c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPEX(n, x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPEX(n))
4178c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPEX(n, x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPEX(n), M_GPIO_INTR_ATYPEX(n))
4188c2ecf20Sopenharmony_ci
4198c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE0	0
4208c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE0	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE0)
4218c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE0(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE0)
4228c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE0(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE0, M_GPIO_INTR_ATYPE0)
4238c2ecf20Sopenharmony_ci
4248c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE2	2
4258c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE2	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE2)
4268c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE2(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE2)
4278c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE2(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE2, M_GPIO_INTR_ATYPE2)
4288c2ecf20Sopenharmony_ci
4298c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE4	4
4308c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE4	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE4)
4318c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE4(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE4)
4328c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE4(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE4, M_GPIO_INTR_ATYPE4)
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE6	6
4358c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE6	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE6)
4368c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE6(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE6)
4378c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE6(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE6, M_GPIO_INTR_ATYPE6)
4388c2ecf20Sopenharmony_ci
4398c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE8	8
4408c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE8	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE8)
4418c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE8(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE8)
4428c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE8(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE8, M_GPIO_INTR_ATYPE8)
4438c2ecf20Sopenharmony_ci
4448c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE10	10
4458c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE10	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE10)
4468c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE10(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE10)
4478c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE10(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE10, M_GPIO_INTR_ATYPE10)
4488c2ecf20Sopenharmony_ci
4498c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE12	12
4508c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE12	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE12)
4518c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE12(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE12)
4528c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE12(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE12, M_GPIO_INTR_ATYPE12)
4538c2ecf20Sopenharmony_ci
4548c2ecf20Sopenharmony_ci#define S_GPIO_INTR_ATYPE14	14
4558c2ecf20Sopenharmony_ci#define M_GPIO_INTR_ATYPE14	_SB_MAKEMASK(2, S_GPIO_INTR_ATYPE14)
4568c2ecf20Sopenharmony_ci#define V_GPIO_INTR_ATYPE14(x)	_SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE14)
4578c2ecf20Sopenharmony_ci#define G_GPIO_INTR_ATYPE14(x)	_SB_GETVALUE(x, S_GPIO_INTR_ATYPE14, M_GPIO_INTR_ATYPE14)
4588c2ecf20Sopenharmony_ci#endif
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_ci
4618c2ecf20Sopenharmony_ci#endif
462