162306a36Sopenharmony_ci/***********************license start*************** 262306a36Sopenharmony_ci * Author: Cavium Networks 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Contact: support@caviumnetworks.com 562306a36Sopenharmony_ci * This file is part of the OCTEON SDK 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Copyright (c) 2003-2012 Cavium Networks 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * This file is free software; you can redistribute it and/or modify 1062306a36Sopenharmony_ci * it under the terms of the GNU General Public License, Version 2, as 1162306a36Sopenharmony_ci * published by the Free Software Foundation. 1262306a36Sopenharmony_ci * 1362306a36Sopenharmony_ci * This file is distributed in the hope that it will be useful, but 1462306a36Sopenharmony_ci * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 1562306a36Sopenharmony_ci * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 1662306a36Sopenharmony_ci * NONINFRINGEMENT. See the GNU General Public License for more 1762306a36Sopenharmony_ci * details. 1862306a36Sopenharmony_ci * 1962306a36Sopenharmony_ci * You should have received a copy of the GNU General Public License 2062306a36Sopenharmony_ci * along with this file; if not, write to the Free Software 2162306a36Sopenharmony_ci * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 2262306a36Sopenharmony_ci * or visit http://www.gnu.org/licenses/. 2362306a36Sopenharmony_ci * 2462306a36Sopenharmony_ci * This file may also be available under a different license from Cavium. 2562306a36Sopenharmony_ci * Contact Cavium Networks for more information 2662306a36Sopenharmony_ci ***********************license end**************************************/ 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#ifndef __CVMX_GPIO_DEFS_H__ 2962306a36Sopenharmony_ci#define __CVMX_GPIO_DEFS_H__ 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#define CVMX_GPIO_BIT_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000800ull) + ((offset) & 15) * 8) 3262306a36Sopenharmony_ci#define CVMX_GPIO_BOOT_ENA (CVMX_ADD_IO_SEG(0x00010700000008A8ull)) 3362306a36Sopenharmony_ci#define CVMX_GPIO_CLK_GENX(offset) (CVMX_ADD_IO_SEG(0x00010700000008C0ull) + ((offset) & 3) * 8) 3462306a36Sopenharmony_ci#define CVMX_GPIO_CLK_QLMX(offset) (CVMX_ADD_IO_SEG(0x00010700000008E0ull) + ((offset) & 1) * 8) 3562306a36Sopenharmony_ci#define CVMX_GPIO_DBG_ENA (CVMX_ADD_IO_SEG(0x00010700000008A0ull)) 3662306a36Sopenharmony_ci#define CVMX_GPIO_INT_CLR (CVMX_ADD_IO_SEG(0x0001070000000898ull)) 3762306a36Sopenharmony_ci#define CVMX_GPIO_MULTI_CAST (CVMX_ADD_IO_SEG(0x00010700000008B0ull)) 3862306a36Sopenharmony_ci#define CVMX_GPIO_PIN_ENA (CVMX_ADD_IO_SEG(0x00010700000008B8ull)) 3962306a36Sopenharmony_ci#define CVMX_GPIO_RX_DAT (CVMX_ADD_IO_SEG(0x0001070000000880ull)) 4062306a36Sopenharmony_ci#define CVMX_GPIO_TIM_CTL (CVMX_ADD_IO_SEG(0x00010700000008A0ull)) 4162306a36Sopenharmony_ci#define CVMX_GPIO_TX_CLR (CVMX_ADD_IO_SEG(0x0001070000000890ull)) 4262306a36Sopenharmony_ci#define CVMX_GPIO_TX_SET (CVMX_ADD_IO_SEG(0x0001070000000888ull)) 4362306a36Sopenharmony_ci#define CVMX_GPIO_XBIT_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000900ull) + ((offset) & 31) * 8 - 8*16) 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciunion cvmx_gpio_bit_cfgx { 4662306a36Sopenharmony_ci uint64_t u64; 4762306a36Sopenharmony_ci struct cvmx_gpio_bit_cfgx_s { 4862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 4962306a36Sopenharmony_ci uint64_t reserved_21_63:42; 5062306a36Sopenharmony_ci uint64_t output_sel:5; 5162306a36Sopenharmony_ci uint64_t synce_sel:2; 5262306a36Sopenharmony_ci uint64_t clk_gen:1; 5362306a36Sopenharmony_ci uint64_t clk_sel:2; 5462306a36Sopenharmony_ci uint64_t fil_sel:4; 5562306a36Sopenharmony_ci uint64_t fil_cnt:4; 5662306a36Sopenharmony_ci uint64_t int_type:1; 5762306a36Sopenharmony_ci uint64_t int_en:1; 5862306a36Sopenharmony_ci uint64_t rx_xor:1; 5962306a36Sopenharmony_ci uint64_t tx_oe:1; 6062306a36Sopenharmony_ci#else 6162306a36Sopenharmony_ci uint64_t tx_oe:1; 6262306a36Sopenharmony_ci uint64_t rx_xor:1; 6362306a36Sopenharmony_ci uint64_t int_en:1; 6462306a36Sopenharmony_ci uint64_t int_type:1; 6562306a36Sopenharmony_ci uint64_t fil_cnt:4; 6662306a36Sopenharmony_ci uint64_t fil_sel:4; 6762306a36Sopenharmony_ci uint64_t clk_sel:2; 6862306a36Sopenharmony_ci uint64_t clk_gen:1; 6962306a36Sopenharmony_ci uint64_t synce_sel:2; 7062306a36Sopenharmony_ci uint64_t output_sel:5; 7162306a36Sopenharmony_ci uint64_t reserved_21_63:42; 7262306a36Sopenharmony_ci#endif 7362306a36Sopenharmony_ci } s; 7462306a36Sopenharmony_ci struct cvmx_gpio_bit_cfgx_cn30xx { 7562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 7662306a36Sopenharmony_ci uint64_t reserved_12_63:52; 7762306a36Sopenharmony_ci uint64_t fil_sel:4; 7862306a36Sopenharmony_ci uint64_t fil_cnt:4; 7962306a36Sopenharmony_ci uint64_t int_type:1; 8062306a36Sopenharmony_ci uint64_t int_en:1; 8162306a36Sopenharmony_ci uint64_t rx_xor:1; 8262306a36Sopenharmony_ci uint64_t tx_oe:1; 8362306a36Sopenharmony_ci#else 8462306a36Sopenharmony_ci uint64_t tx_oe:1; 8562306a36Sopenharmony_ci uint64_t rx_xor:1; 8662306a36Sopenharmony_ci uint64_t int_en:1; 8762306a36Sopenharmony_ci uint64_t int_type:1; 8862306a36Sopenharmony_ci uint64_t fil_cnt:4; 8962306a36Sopenharmony_ci uint64_t fil_sel:4; 9062306a36Sopenharmony_ci uint64_t reserved_12_63:52; 9162306a36Sopenharmony_ci#endif 9262306a36Sopenharmony_ci } cn30xx; 9362306a36Sopenharmony_ci struct cvmx_gpio_bit_cfgx_cn52xx { 9462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 9562306a36Sopenharmony_ci uint64_t reserved_15_63:49; 9662306a36Sopenharmony_ci uint64_t clk_gen:1; 9762306a36Sopenharmony_ci uint64_t clk_sel:2; 9862306a36Sopenharmony_ci uint64_t fil_sel:4; 9962306a36Sopenharmony_ci uint64_t fil_cnt:4; 10062306a36Sopenharmony_ci uint64_t int_type:1; 10162306a36Sopenharmony_ci uint64_t int_en:1; 10262306a36Sopenharmony_ci uint64_t rx_xor:1; 10362306a36Sopenharmony_ci uint64_t tx_oe:1; 10462306a36Sopenharmony_ci#else 10562306a36Sopenharmony_ci uint64_t tx_oe:1; 10662306a36Sopenharmony_ci uint64_t rx_xor:1; 10762306a36Sopenharmony_ci uint64_t int_en:1; 10862306a36Sopenharmony_ci uint64_t int_type:1; 10962306a36Sopenharmony_ci uint64_t fil_cnt:4; 11062306a36Sopenharmony_ci uint64_t fil_sel:4; 11162306a36Sopenharmony_ci uint64_t clk_sel:2; 11262306a36Sopenharmony_ci uint64_t clk_gen:1; 11362306a36Sopenharmony_ci uint64_t reserved_15_63:49; 11462306a36Sopenharmony_ci#endif 11562306a36Sopenharmony_ci } cn52xx; 11662306a36Sopenharmony_ci}; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ciunion cvmx_gpio_boot_ena { 11962306a36Sopenharmony_ci uint64_t u64; 12062306a36Sopenharmony_ci struct cvmx_gpio_boot_ena_s { 12162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 12262306a36Sopenharmony_ci uint64_t reserved_12_63:52; 12362306a36Sopenharmony_ci uint64_t boot_ena:4; 12462306a36Sopenharmony_ci uint64_t reserved_0_7:8; 12562306a36Sopenharmony_ci#else 12662306a36Sopenharmony_ci uint64_t reserved_0_7:8; 12762306a36Sopenharmony_ci uint64_t boot_ena:4; 12862306a36Sopenharmony_ci uint64_t reserved_12_63:52; 12962306a36Sopenharmony_ci#endif 13062306a36Sopenharmony_ci } s; 13162306a36Sopenharmony_ci}; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciunion cvmx_gpio_clk_genx { 13462306a36Sopenharmony_ci uint64_t u64; 13562306a36Sopenharmony_ci struct cvmx_gpio_clk_genx_s { 13662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 13762306a36Sopenharmony_ci uint64_t reserved_32_63:32; 13862306a36Sopenharmony_ci uint64_t n:32; 13962306a36Sopenharmony_ci#else 14062306a36Sopenharmony_ci uint64_t n:32; 14162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 14262306a36Sopenharmony_ci#endif 14362306a36Sopenharmony_ci } s; 14462306a36Sopenharmony_ci}; 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciunion cvmx_gpio_clk_qlmx { 14762306a36Sopenharmony_ci uint64_t u64; 14862306a36Sopenharmony_ci struct cvmx_gpio_clk_qlmx_s { 14962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 15062306a36Sopenharmony_ci uint64_t reserved_11_63:53; 15162306a36Sopenharmony_ci uint64_t qlm_sel:3; 15262306a36Sopenharmony_ci uint64_t reserved_3_7:5; 15362306a36Sopenharmony_ci uint64_t div:1; 15462306a36Sopenharmony_ci uint64_t lane_sel:2; 15562306a36Sopenharmony_ci#else 15662306a36Sopenharmony_ci uint64_t lane_sel:2; 15762306a36Sopenharmony_ci uint64_t div:1; 15862306a36Sopenharmony_ci uint64_t reserved_3_7:5; 15962306a36Sopenharmony_ci uint64_t qlm_sel:3; 16062306a36Sopenharmony_ci uint64_t reserved_11_63:53; 16162306a36Sopenharmony_ci#endif 16262306a36Sopenharmony_ci } s; 16362306a36Sopenharmony_ci struct cvmx_gpio_clk_qlmx_cn61xx { 16462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 16562306a36Sopenharmony_ci uint64_t reserved_10_63:54; 16662306a36Sopenharmony_ci uint64_t qlm_sel:2; 16762306a36Sopenharmony_ci uint64_t reserved_3_7:5; 16862306a36Sopenharmony_ci uint64_t div:1; 16962306a36Sopenharmony_ci uint64_t lane_sel:2; 17062306a36Sopenharmony_ci#else 17162306a36Sopenharmony_ci uint64_t lane_sel:2; 17262306a36Sopenharmony_ci uint64_t div:1; 17362306a36Sopenharmony_ci uint64_t reserved_3_7:5; 17462306a36Sopenharmony_ci uint64_t qlm_sel:2; 17562306a36Sopenharmony_ci uint64_t reserved_10_63:54; 17662306a36Sopenharmony_ci#endif 17762306a36Sopenharmony_ci } cn61xx; 17862306a36Sopenharmony_ci struct cvmx_gpio_clk_qlmx_cn63xx { 17962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 18062306a36Sopenharmony_ci uint64_t reserved_3_63:61; 18162306a36Sopenharmony_ci uint64_t div:1; 18262306a36Sopenharmony_ci uint64_t lane_sel:2; 18362306a36Sopenharmony_ci#else 18462306a36Sopenharmony_ci uint64_t lane_sel:2; 18562306a36Sopenharmony_ci uint64_t div:1; 18662306a36Sopenharmony_ci uint64_t reserved_3_63:61; 18762306a36Sopenharmony_ci#endif 18862306a36Sopenharmony_ci } cn63xx; 18962306a36Sopenharmony_ci}; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ciunion cvmx_gpio_dbg_ena { 19262306a36Sopenharmony_ci uint64_t u64; 19362306a36Sopenharmony_ci struct cvmx_gpio_dbg_ena_s { 19462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 19562306a36Sopenharmony_ci uint64_t reserved_21_63:43; 19662306a36Sopenharmony_ci uint64_t dbg_ena:21; 19762306a36Sopenharmony_ci#else 19862306a36Sopenharmony_ci uint64_t dbg_ena:21; 19962306a36Sopenharmony_ci uint64_t reserved_21_63:43; 20062306a36Sopenharmony_ci#endif 20162306a36Sopenharmony_ci } s; 20262306a36Sopenharmony_ci}; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ciunion cvmx_gpio_int_clr { 20562306a36Sopenharmony_ci uint64_t u64; 20662306a36Sopenharmony_ci struct cvmx_gpio_int_clr_s { 20762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 20862306a36Sopenharmony_ci uint64_t reserved_16_63:48; 20962306a36Sopenharmony_ci uint64_t type:16; 21062306a36Sopenharmony_ci#else 21162306a36Sopenharmony_ci uint64_t type:16; 21262306a36Sopenharmony_ci uint64_t reserved_16_63:48; 21362306a36Sopenharmony_ci#endif 21462306a36Sopenharmony_ci } s; 21562306a36Sopenharmony_ci}; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ciunion cvmx_gpio_multi_cast { 21862306a36Sopenharmony_ci uint64_t u64; 21962306a36Sopenharmony_ci struct cvmx_gpio_multi_cast_s { 22062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 22162306a36Sopenharmony_ci uint64_t reserved_1_63:63; 22262306a36Sopenharmony_ci uint64_t en:1; 22362306a36Sopenharmony_ci#else 22462306a36Sopenharmony_ci uint64_t en:1; 22562306a36Sopenharmony_ci uint64_t reserved_1_63:63; 22662306a36Sopenharmony_ci#endif 22762306a36Sopenharmony_ci } s; 22862306a36Sopenharmony_ci}; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ciunion cvmx_gpio_pin_ena { 23162306a36Sopenharmony_ci uint64_t u64; 23262306a36Sopenharmony_ci struct cvmx_gpio_pin_ena_s { 23362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 23462306a36Sopenharmony_ci uint64_t reserved_20_63:44; 23562306a36Sopenharmony_ci uint64_t ena19:1; 23662306a36Sopenharmony_ci uint64_t ena18:1; 23762306a36Sopenharmony_ci uint64_t reserved_0_17:18; 23862306a36Sopenharmony_ci#else 23962306a36Sopenharmony_ci uint64_t reserved_0_17:18; 24062306a36Sopenharmony_ci uint64_t ena18:1; 24162306a36Sopenharmony_ci uint64_t ena19:1; 24262306a36Sopenharmony_ci uint64_t reserved_20_63:44; 24362306a36Sopenharmony_ci#endif 24462306a36Sopenharmony_ci } s; 24562306a36Sopenharmony_ci}; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ciunion cvmx_gpio_rx_dat { 24862306a36Sopenharmony_ci uint64_t u64; 24962306a36Sopenharmony_ci struct cvmx_gpio_rx_dat_s { 25062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 25162306a36Sopenharmony_ci uint64_t reserved_24_63:40; 25262306a36Sopenharmony_ci uint64_t dat:24; 25362306a36Sopenharmony_ci#else 25462306a36Sopenharmony_ci uint64_t dat:24; 25562306a36Sopenharmony_ci uint64_t reserved_24_63:40; 25662306a36Sopenharmony_ci#endif 25762306a36Sopenharmony_ci } s; 25862306a36Sopenharmony_ci struct cvmx_gpio_rx_dat_cn38xx { 25962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 26062306a36Sopenharmony_ci uint64_t reserved_16_63:48; 26162306a36Sopenharmony_ci uint64_t dat:16; 26262306a36Sopenharmony_ci#else 26362306a36Sopenharmony_ci uint64_t dat:16; 26462306a36Sopenharmony_ci uint64_t reserved_16_63:48; 26562306a36Sopenharmony_ci#endif 26662306a36Sopenharmony_ci } cn38xx; 26762306a36Sopenharmony_ci struct cvmx_gpio_rx_dat_cn61xx { 26862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 26962306a36Sopenharmony_ci uint64_t reserved_20_63:44; 27062306a36Sopenharmony_ci uint64_t dat:20; 27162306a36Sopenharmony_ci#else 27262306a36Sopenharmony_ci uint64_t dat:20; 27362306a36Sopenharmony_ci uint64_t reserved_20_63:44; 27462306a36Sopenharmony_ci#endif 27562306a36Sopenharmony_ci } cn61xx; 27662306a36Sopenharmony_ci}; 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ciunion cvmx_gpio_tim_ctl { 27962306a36Sopenharmony_ci uint64_t u64; 28062306a36Sopenharmony_ci struct cvmx_gpio_tim_ctl_s { 28162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 28262306a36Sopenharmony_ci uint64_t reserved_4_63:60; 28362306a36Sopenharmony_ci uint64_t sel:4; 28462306a36Sopenharmony_ci#else 28562306a36Sopenharmony_ci uint64_t sel:4; 28662306a36Sopenharmony_ci uint64_t reserved_4_63:60; 28762306a36Sopenharmony_ci#endif 28862306a36Sopenharmony_ci } s; 28962306a36Sopenharmony_ci}; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ciunion cvmx_gpio_tx_clr { 29262306a36Sopenharmony_ci uint64_t u64; 29362306a36Sopenharmony_ci struct cvmx_gpio_tx_clr_s { 29462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 29562306a36Sopenharmony_ci uint64_t reserved_24_63:40; 29662306a36Sopenharmony_ci uint64_t clr:24; 29762306a36Sopenharmony_ci#else 29862306a36Sopenharmony_ci uint64_t clr:24; 29962306a36Sopenharmony_ci uint64_t reserved_24_63:40; 30062306a36Sopenharmony_ci#endif 30162306a36Sopenharmony_ci } s; 30262306a36Sopenharmony_ci struct cvmx_gpio_tx_clr_cn38xx { 30362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 30462306a36Sopenharmony_ci uint64_t reserved_16_63:48; 30562306a36Sopenharmony_ci uint64_t clr:16; 30662306a36Sopenharmony_ci#else 30762306a36Sopenharmony_ci uint64_t clr:16; 30862306a36Sopenharmony_ci uint64_t reserved_16_63:48; 30962306a36Sopenharmony_ci#endif 31062306a36Sopenharmony_ci } cn38xx; 31162306a36Sopenharmony_ci struct cvmx_gpio_tx_clr_cn61xx { 31262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 31362306a36Sopenharmony_ci uint64_t reserved_20_63:44; 31462306a36Sopenharmony_ci uint64_t clr:20; 31562306a36Sopenharmony_ci#else 31662306a36Sopenharmony_ci uint64_t clr:20; 31762306a36Sopenharmony_ci uint64_t reserved_20_63:44; 31862306a36Sopenharmony_ci#endif 31962306a36Sopenharmony_ci } cn61xx; 32062306a36Sopenharmony_ci}; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ciunion cvmx_gpio_tx_set { 32362306a36Sopenharmony_ci uint64_t u64; 32462306a36Sopenharmony_ci struct cvmx_gpio_tx_set_s { 32562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 32662306a36Sopenharmony_ci uint64_t reserved_24_63:40; 32762306a36Sopenharmony_ci uint64_t set:24; 32862306a36Sopenharmony_ci#else 32962306a36Sopenharmony_ci uint64_t set:24; 33062306a36Sopenharmony_ci uint64_t reserved_24_63:40; 33162306a36Sopenharmony_ci#endif 33262306a36Sopenharmony_ci } s; 33362306a36Sopenharmony_ci struct cvmx_gpio_tx_set_cn38xx { 33462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 33562306a36Sopenharmony_ci uint64_t reserved_16_63:48; 33662306a36Sopenharmony_ci uint64_t set:16; 33762306a36Sopenharmony_ci#else 33862306a36Sopenharmony_ci uint64_t set:16; 33962306a36Sopenharmony_ci uint64_t reserved_16_63:48; 34062306a36Sopenharmony_ci#endif 34162306a36Sopenharmony_ci } cn38xx; 34262306a36Sopenharmony_ci struct cvmx_gpio_tx_set_cn61xx { 34362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 34462306a36Sopenharmony_ci uint64_t reserved_20_63:44; 34562306a36Sopenharmony_ci uint64_t set:20; 34662306a36Sopenharmony_ci#else 34762306a36Sopenharmony_ci uint64_t set:20; 34862306a36Sopenharmony_ci uint64_t reserved_20_63:44; 34962306a36Sopenharmony_ci#endif 35062306a36Sopenharmony_ci } cn61xx; 35162306a36Sopenharmony_ci}; 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ciunion cvmx_gpio_xbit_cfgx { 35462306a36Sopenharmony_ci uint64_t u64; 35562306a36Sopenharmony_ci struct cvmx_gpio_xbit_cfgx_s { 35662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 35762306a36Sopenharmony_ci uint64_t reserved_17_63:47; 35862306a36Sopenharmony_ci uint64_t synce_sel:2; 35962306a36Sopenharmony_ci uint64_t clk_gen:1; 36062306a36Sopenharmony_ci uint64_t clk_sel:2; 36162306a36Sopenharmony_ci uint64_t fil_sel:4; 36262306a36Sopenharmony_ci uint64_t fil_cnt:4; 36362306a36Sopenharmony_ci uint64_t int_type:1; 36462306a36Sopenharmony_ci uint64_t int_en:1; 36562306a36Sopenharmony_ci uint64_t rx_xor:1; 36662306a36Sopenharmony_ci uint64_t tx_oe:1; 36762306a36Sopenharmony_ci#else 36862306a36Sopenharmony_ci uint64_t tx_oe:1; 36962306a36Sopenharmony_ci uint64_t rx_xor:1; 37062306a36Sopenharmony_ci uint64_t int_en:1; 37162306a36Sopenharmony_ci uint64_t int_type:1; 37262306a36Sopenharmony_ci uint64_t fil_cnt:4; 37362306a36Sopenharmony_ci uint64_t fil_sel:4; 37462306a36Sopenharmony_ci uint64_t clk_sel:2; 37562306a36Sopenharmony_ci uint64_t clk_gen:1; 37662306a36Sopenharmony_ci uint64_t synce_sel:2; 37762306a36Sopenharmony_ci uint64_t reserved_17_63:47; 37862306a36Sopenharmony_ci#endif 37962306a36Sopenharmony_ci } s; 38062306a36Sopenharmony_ci struct cvmx_gpio_xbit_cfgx_cn30xx { 38162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 38262306a36Sopenharmony_ci uint64_t reserved_12_63:52; 38362306a36Sopenharmony_ci uint64_t fil_sel:4; 38462306a36Sopenharmony_ci uint64_t fil_cnt:4; 38562306a36Sopenharmony_ci uint64_t reserved_2_3:2; 38662306a36Sopenharmony_ci uint64_t rx_xor:1; 38762306a36Sopenharmony_ci uint64_t tx_oe:1; 38862306a36Sopenharmony_ci#else 38962306a36Sopenharmony_ci uint64_t tx_oe:1; 39062306a36Sopenharmony_ci uint64_t rx_xor:1; 39162306a36Sopenharmony_ci uint64_t reserved_2_3:2; 39262306a36Sopenharmony_ci uint64_t fil_cnt:4; 39362306a36Sopenharmony_ci uint64_t fil_sel:4; 39462306a36Sopenharmony_ci uint64_t reserved_12_63:52; 39562306a36Sopenharmony_ci#endif 39662306a36Sopenharmony_ci } cn30xx; 39762306a36Sopenharmony_ci}; 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ci#endif 400