4
4
* Contact: support@caviumnetworks.com
5
5
* This file is part of the OCTEON SDK
7
* Copyright (c) 2003-2008 Cavium Networks
7
* Copyright (c) 2003-2010 Cavium Networks
9
9
* This file is free software; you can redistribute it and/or modify
10
10
* it under the terms of the GNU General Public License, Version 2, as
28
28
#ifndef __CVMX_GPIO_DEFS_H__
29
29
#define __CVMX_GPIO_DEFS_H__
31
#define CVMX_GPIO_BIT_CFGX(offset) \
32
CVMX_ADD_IO_SEG(0x0001070000000800ull + (((offset) & 15) * 8))
33
#define CVMX_GPIO_BOOT_ENA \
34
CVMX_ADD_IO_SEG(0x00010700000008A8ull)
35
#define CVMX_GPIO_CLK_GENX(offset) \
36
CVMX_ADD_IO_SEG(0x00010700000008C0ull + (((offset) & 3) * 8))
37
#define CVMX_GPIO_DBG_ENA \
38
CVMX_ADD_IO_SEG(0x00010700000008A0ull)
39
#define CVMX_GPIO_INT_CLR \
40
CVMX_ADD_IO_SEG(0x0001070000000898ull)
41
#define CVMX_GPIO_RX_DAT \
42
CVMX_ADD_IO_SEG(0x0001070000000880ull)
43
#define CVMX_GPIO_TX_CLR \
44
CVMX_ADD_IO_SEG(0x0001070000000890ull)
45
#define CVMX_GPIO_TX_SET \
46
CVMX_ADD_IO_SEG(0x0001070000000888ull)
47
#define CVMX_GPIO_XBIT_CFGX(offset) \
48
CVMX_ADD_IO_SEG(0x0001070000000900ull + (((offset) & 31) * 8) - 8 * 16)
31
#define CVMX_GPIO_BIT_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000800ull) + ((offset) & 15) * 8)
32
#define CVMX_GPIO_BOOT_ENA (CVMX_ADD_IO_SEG(0x00010700000008A8ull))
33
#define CVMX_GPIO_CLK_GENX(offset) (CVMX_ADD_IO_SEG(0x00010700000008C0ull) + ((offset) & 3) * 8)
34
#define CVMX_GPIO_CLK_QLMX(offset) (CVMX_ADD_IO_SEG(0x00010700000008E0ull) + ((offset) & 1) * 8)
35
#define CVMX_GPIO_DBG_ENA (CVMX_ADD_IO_SEG(0x00010700000008A0ull))
36
#define CVMX_GPIO_INT_CLR (CVMX_ADD_IO_SEG(0x0001070000000898ull))
37
#define CVMX_GPIO_RX_DAT (CVMX_ADD_IO_SEG(0x0001070000000880ull))
38
#define CVMX_GPIO_TX_CLR (CVMX_ADD_IO_SEG(0x0001070000000890ull))
39
#define CVMX_GPIO_TX_SET (CVMX_ADD_IO_SEG(0x0001070000000888ull))
40
#define CVMX_GPIO_XBIT_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000900ull) + ((offset) & 31) * 8 - 8*16)
50
42
union cvmx_gpio_bit_cfgx {
52
44
struct cvmx_gpio_bit_cfgx_s {
53
uint64_t reserved_15_63:49;
45
uint64_t reserved_17_63:47;
54
47
uint64_t clk_gen:1;
55
48
uint64_t clk_sel:2;
56
49
uint64_t fil_sel:4;
73
66
struct cvmx_gpio_bit_cfgx_cn30xx cn38xx;
74
67
struct cvmx_gpio_bit_cfgx_cn30xx cn38xxp2;
75
68
struct cvmx_gpio_bit_cfgx_cn30xx cn50xx;
76
struct cvmx_gpio_bit_cfgx_s cn52xx;
77
struct cvmx_gpio_bit_cfgx_s cn52xxp1;
78
struct cvmx_gpio_bit_cfgx_s cn56xx;
79
struct cvmx_gpio_bit_cfgx_s cn56xxp1;
69
struct cvmx_gpio_bit_cfgx_cn52xx {
70
uint64_t reserved_15_63:49;
80
struct cvmx_gpio_bit_cfgx_cn52xx cn52xxp1;
81
struct cvmx_gpio_bit_cfgx_cn52xx cn56xx;
82
struct cvmx_gpio_bit_cfgx_cn52xx cn56xxp1;
80
83
struct cvmx_gpio_bit_cfgx_cn30xx cn58xx;
81
84
struct cvmx_gpio_bit_cfgx_cn30xx cn58xxp1;
85
struct cvmx_gpio_bit_cfgx_s cn63xx;
86
struct cvmx_gpio_bit_cfgx_s cn63xxp1;
84
89
union cvmx_gpio_boot_ena {
103
108
struct cvmx_gpio_clk_genx_s cn52xxp1;
104
109
struct cvmx_gpio_clk_genx_s cn56xx;
105
110
struct cvmx_gpio_clk_genx_s cn56xxp1;
111
struct cvmx_gpio_clk_genx_s cn63xx;
112
struct cvmx_gpio_clk_genx_s cn63xxp1;
115
union cvmx_gpio_clk_qlmx {
117
struct cvmx_gpio_clk_qlmx_s {
118
uint64_t reserved_3_63:61;
122
struct cvmx_gpio_clk_qlmx_s cn63xx;
123
struct cvmx_gpio_clk_qlmx_s cn63xxp1;
108
126
union cvmx_gpio_dbg_ena {
133
151
struct cvmx_gpio_int_clr_s cn56xxp1;
134
152
struct cvmx_gpio_int_clr_s cn58xx;
135
153
struct cvmx_gpio_int_clr_s cn58xxp1;
154
struct cvmx_gpio_int_clr_s cn63xx;
155
struct cvmx_gpio_int_clr_s cn63xxp1;
138
158
union cvmx_gpio_rx_dat {
155
175
struct cvmx_gpio_rx_dat_cn38xx cn56xxp1;
156
176
struct cvmx_gpio_rx_dat_cn38xx cn58xx;
157
177
struct cvmx_gpio_rx_dat_cn38xx cn58xxp1;
178
struct cvmx_gpio_rx_dat_cn38xx cn63xx;
179
struct cvmx_gpio_rx_dat_cn38xx cn63xxp1;
160
182
union cvmx_gpio_tx_clr {
177
199
struct cvmx_gpio_tx_clr_cn38xx cn56xxp1;
178
200
struct cvmx_gpio_tx_clr_cn38xx cn58xx;
179
201
struct cvmx_gpio_tx_clr_cn38xx cn58xxp1;
202
struct cvmx_gpio_tx_clr_cn38xx cn63xx;
203
struct cvmx_gpio_tx_clr_cn38xx cn63xxp1;
182
206
union cvmx_gpio_tx_set {
199
223
struct cvmx_gpio_tx_set_cn38xx cn56xxp1;
200
224
struct cvmx_gpio_tx_set_cn38xx cn58xx;
201
225
struct cvmx_gpio_tx_set_cn38xx cn58xxp1;
226
struct cvmx_gpio_tx_set_cn38xx cn63xx;
227
struct cvmx_gpio_tx_set_cn38xx cn63xxp1;
204
230
union cvmx_gpio_xbit_cfgx {